【发布时间】:2015-06-15 16:47:05
【问题描述】:
如何捕获此错误
'ORA-00972: identifier is too long'在异常部分
在 oracle pl/sql 中,
你能给我举个例子吗
【问题讨论】:
-
除非您动态构建 SQL 语句,否则您不能。这是正常代码中的编译错误而不是运行时错误。您会在创建代码时注意到异常,而不是在执行代码时。
-
嗨贾斯汀,你能提供这个例子吗?这将非常有用
-
举个例子?通常,当您运行尝试使用无效标识符创建过程的
CREATE OR REPLACE PROCEDURE代码时,您会看到此类错误。当您尝试创建过程时会看到错误,并且您会像修复任何其他语法错误一样对其进行修复。您不会编写代码来捕获它。除非你在做动态构建 SQL 或 PL/SQL 之类的事情。 -
嗨贾斯汀,谢谢你的回答..我创建了一个带有 varchar2 参数的函数,所有异常都由它处理..我也想抓住这个,因为如果这个函数/过程被调用表单应用程序以及如果用户输入大字符串怎么办,它会给出“ORA-00972:标识符太长”错误..所以我想处理并写一个好的消息而不是错误......再次感谢您
-
前端是否将SQL语句作为输入参数传递给函数,然后该函数使用
execute immediate或dbms_sql动态执行?否则,我很难看到您将如何根据参数的值得到 ORA-00972 错误——当您尝试编译该过程时应该抛出该错误。
标签: oracle plsql exception-handling