sql代码块中用游标DROP表怎么不行,很基础的一个问题,没搞懂。

sql代码块中用游标DROP表怎么不行,很基础的一个问题,没搞懂。

问题描述:


DECLARE
    CURSOR C1 IS SELECT * FROM USER_TABLES WHERE TABLE_NAME LIKE 'JX%';
    V C1%ROWTYPE;
BEGIN
    OPEN C1;
       LOOP 
           FETCH C1 INTO V;
           EXIT WHEN C1%NOTFOUND;
           EXECUTE IMMEDIATE 'DROP TABLE V.TABLE_NAME';
       END LOOP;
    CLOSE C1;
END;

报错表或视图不存在,用DBMS_OUTPUT.PUT_LINE()能打印出来,但删除不行这是怎么回事啊?

是oracle数据库吗?在USER_TABLES 名称前加上用户前缀。如:scott.USER_TABLES

'DROP TABLE V.TABLE_NAME';

你这是写死了的字符串啊。。。。