获取以下错误:
ora-00933 sql command not properly ended”错误Oracle删除了JOIN和WHERE SQL语句。
我尝试有条件地从Oracle DB表XEDOCS_LB中删除记录,基于来自INNER JOIN的第一个条件和来自WHERE的第二个条件,如下所示:
DELETE FROM XEDOCS_LB
INNER JOIN (SELECT ID
FROM XEFOLDERS_LB
WHERE TRANS_TYPE = '80'
AND TO_DATE(TRUNC(DATEOFUPDATE))
BETWEEN TO_DATE(SUBSTR('1220430',2,6),'YYMMDD')
AND TO_DATE(SUBSTR('1231231',2,6),'YYMMDD')) XEFOLDERS
ON EFOLDERID = XEFOLDERS.ID
WHERE TO_DATE(TRUNC(DATEOFUPDATE)) <= TO_DATE(SUBSTR('1230518',2,6),'YYMMDD')
1条答案
按热度按时间cvxl0en21#
这在Oracle中是无效的语法。
另一方面,也许你可以让它更简单,
dateofupdate
列上的to_date
调用如果其数据类型是DATE
-根据trunc
和后来与日期值的比较,可能是to_date(substr(...))
段代码-为什么要使用它,如果例如1231231
是硬编码的字符串,所以你要从中提取日期?使用date
文字(或具有适当格式模型的to_date
函数)所以: