Oracle 在plsql for循环中使用内部联接选择查询失败
这是我的plsql块Oracle 在plsql for循环中使用内部联接选择查询失败,oracle,plsql,cascade,Oracle,Plsql,Cascade,这是我的plsql块 BEGIN FOR c IN ( SELECT T.table_name FROM user_tables T INNER JOIN (SELECT distinct to_char(SYSTEM_DATE,'yyyymmdd') as sys_date FROM *) ON T.table_name LIKE '%' || sys_date || '%' ) LOOP EXECUTE IMMEDIATE 'DROP TABLE ' || c.table_n
BEGIN
FOR c IN ( SELECT T.table_name FROM user_tables T INNER JOIN (SELECT distinct to_char(SYSTEM_DATE,'yyyymmdd') as sys_date FROM *) ON T.table_name LIKE '%' || sys_date || '%' )
LOOP
EXECUTE IMMEDIATE 'DROP TABLE ' || c.table_name || ' CASCADE';
END LOOP;
END;
我得到丢失的关键字错误
Error report:
ORA-00905: missing keyword
ORA-06512: at line 4
00905. 00000 - "missing keyword"
*Cause:
*Action:
你能告诉我代码中有什么错误吗?如果你看一下 您将了解,您需要将
DROP
语句编写为-
DROP TABLE TABLE_NAME CASCADE CONSTRAINTS;
SQL缺少
约束
关键字DROP TABLE'| | c.TABLE|U name | |级联
是中的工作语句
删除表名[,…][CASCADE | RESTRICT]
但不包括不需要级联或级联约束的情况
子句:
指定级联约束以删除所有引用表中主键和唯一键的引用完整性约束。如果省略此子句,并且存在此类引用完整性约束,则数据库将返回错误,并且不会删除该表
是Oracle、PostgreSQL还是其他DB?@sigapriyakannan-如果有帮助,您可以将问题标记为已回答:)