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';
你这是写死了的字符串啊。。。。