Oracle 在plsql for循环中使用内部联接选择查询失败

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

这是我的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_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-如果有帮助,您可以将问题标记为已回答:)