使用動態sql:
sql:='...';
execute immediate sql;
sql:='...';
execute immediate sql;
解决方案 »
- oracle存取小于1的小数,为什么是没有零
- OCI有session管理机能么? OCIObjectLockNoWait()方法怎么用啊?
- 存储过程中的执行语句中的某一块为什么一定要加begin end?
- 求一个触发器
- ORACLE记录变量的使用
- PL/SQL:ORA-06552错误
- 关于日期是存储成日期类型,还是字符串类型的问题
- 初学者的问题,快照是做什么的,如何调用
- 在一个创建的用户中无法使用SQL命令是怎么回事啊?
- 我现在想查看一台远程主机(unix系统)的配置文件有个命令是什么记不清了 请高手帮忙
- 如何提高删除记录的效率
- 我误将表空间文件tj_data.DBF 删除,进入sql/plus时就提示初始化错误!!
BEGIN
EXECUTE immediate SQL_TEXT;
END;
/
BEGIN
EXECUTE immediate SQL_TEXT;
END;
/如果我执行的sql_text编译出错,怎样返回错误信息
BEGIN
EXECUTE immediate SQL_TEXT;
exception
when others then
dbms_output.put_line('出错');
END;
/
怎样捕获错误信息并通过 ERROR_TEXT 返回,有时即使完全执行了sql_text,但也可能有错,比如创建触发器,即使有错,也可能创建成功,只是出现 "警告: 创建的触发器带有编译错误。" 提示,我想做就是捕获这些提示通过 ERROR_TXT 返回
SQL> declare
2 a number;
3 begin
4 a:='adc';
5 exception
6 when others then
7 dbms_output.put_line('出错号:'||sqlcode||' '||'出错信息:'||sqlerrm);
8 end;
9 /
出错号:-6502 出错信息:ORA-06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误PL/SQL procedure successfully completed