Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle数据库中的Select上写入Delete语句_Sql_Oracle - Fatal编程技术网

Sql 在Oracle数据库中的Select上写入Delete语句

Sql 在Oracle数据库中的Select上写入Delete语句,sql,oracle,Sql,Oracle,我想知道如何根据下面的select查询准备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_C

我想知道如何根据下面的select查询准备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));

标识符jdedate在SELECT查询中用作别名。它定义结果集中的列名。列名别名对于delete不有用,因为没有可返回的列,因此delete语句的语法不允许使用列名别名


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

请向我们提供更多关于“无法使用”意味着什么的背景信息:您会遇到解析器错误还是运行时错误?这是一个语法问题还是一个查询计划选择问题?
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));