请问该如何解决这个问题:
看图(存储过程是无错的。PLSQL 测试通过):另外一个更HI了。不支持批量 sql 语句。网上说什么替换换行符,发现替换后还是不行,最终写成了存储过程。
悲催的人生,珍爱生命,我是菜鸟,远离ORACLE~
看图(存储过程是无错的。PLSQL 测试通过):另外一个更HI了。不支持批量 sql 语句。网上说什么替换换行符,发现替换后还是不行,最终写成了存储过程。
悲催的人生,珍爱生命,我是菜鸟,远离ORACLE~
ORA-01036: 非法的变量名/编号提示这个。我试过这一招。发现敌军反击过于猛烈,攻击无效。
比如?
我换成
begin
-- Call the procedure
p_tool_backupformat(v_namestart => :v_namestart);
end;也表示无奈~
Error ...
学习中~
IS
V_CNT NUMBER;
BEGIN SELECT COUNT(*) INTO V_CNT FROM USER_TABLES WHERE TABLE_NAME = V_NAMESTART||'_USER';
IF V_CNT>0 THEN
EXECUTE IMMEDIATE 'DROP TABLE '|| V_NAMESTART || '_USER';
END IF;
EXECUTE IMMEDIATE 'CREATE TABLE '|| V_NAMESTART || '_USER AS SELECT * FROM SHARE_USER';
SELECT COUNT(*) INTO V_CNT FROM USER_TABLES WHERE TABLE_NAME = V_NAMESTART||'_DEPT';
IF V_CNT>0 THEN
EXECUTE IMMEDIATE 'DROP TABLE '|| V_NAMESTART || '_DEPT';
END IF;
EXECUTE IMMEDIATE 'CREATE TABLE '|| V_NAMESTART || '_DEPT AS SELECT * FROM SHARE_DEPT';
END P_TOOL_BACKUPFORMAT;
这个是存储过程。在 PL/SQL 中测试是没问题的。