oracle,sql代码,这里不允许列

前端之家收集整理的这篇文章主要介绍了oracle,sql代码,这里不允许列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用下面的Query来保存我的表的异常

EXCEPTION
  WHEN OTHERS THEN
  INSERT INTO TEMP_ERR(COLUMN1)
  VALUES(sqlCODE);

上面的查询扔了

sql Error: ORA-00984: column not allowed here”

我试过试错了

EXCEPTION

  WHEN OTHERS THEN
  DECLARE m VARCHAR(255);
   m:=sqlCODE;
  INSERT INTO TEMP_ERR(COLUMN1)
  VALUES(m);

它起作用了.为什么?有人引导我区别吗?

解决方法

这在文档中解释:
https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/errors.htm#i3372
看到一个主题:“检索错误代码错误消息:sqlCODE和sqlERRM”

You cannot use sqlCODE or sqlERRM directly in a sql statement. Instead,you must assign their values to local variables,then use the variables in the sql statement,as shown in Example 10-11.

猜你在找的Oracle相关文章