在Oracle数据库中选择Select语句

时间:2017-09-22 08:13:20

标签: sql oracle

我想知道如何根据以下选择查询准备Delete语句。

select TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') jdedate from testdta.F5847036 WHERE TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') < (sysdate-30);

我无法使用

DELETE from TESTDTA.F5847036 where jdedate in (select TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') jdedate from testdta.F5847036 WHERE TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') < (sysdate-30));

DELETE from TESTDTA.F5847036 where TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') jdedate in (select TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') jdedate from testdta.F5847036 WHERE TO_DATE(TO_CHAR(OGUPMJ+1900000),'YYYYDDD') < (sysdate-30));

1 个答案:

答案 0 :(得分:1)

标识符jdedate用作SELECT查询中的别名。它定义结果集中的列名称。列名别名对delete没有用(因为没有要返回的列),因此delete语句的语法不允许这样做。

删除delete语句中jdedate别名的两个出现。