作者aleck945 (总是不知所措)
看板Database
标题Re: [SQL ] 删除特定条件的语法问题
时间Fri Aug 22 14:17:26 2008
※ 引述《erho (ptt访客)》之铭言:
: 我的资料库是oracle
: 我要删掉满足下列语法的所有资料
: select he_code,eff_date from newmed
: minus
: select he_code,max(eff_date) from newmed group by he_code;
: 我用
: delete * from (select he_code,eff_date from newmed minus
: select he_code,max(eff_date) from newmed group by he_code);
: oracle 回应我错误讯息
: ERROR at line 1:ORA-00903: invalid table name
: 若把 * 号去掉则错误讯息为
: ERROR at line 1:
: ORA-01732: data manipulation operation not legal on this view
: 请问我要如何修正我的delete 语法
试试以下:
DELETE FROM newmed WHERE (he_code,eff_date) IN
(select he_code,eff_date from newmed
minus
select he_code,max(eff_date) from newmed group by he_code)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.190.50
1F:推 erho:谢谢大大的指导 08/22 15:20