加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2021-03-05 22:14:46 所属栏目:百科 来源:网络整理
导读:我使用下面的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)

我使用下面的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.

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!