问题标签 [ora-06502]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - 存储在 VARCHAR2 变量中的查询没有结果被视为空字符串或 NULL?- Oracle PL/SQL - Oracle 11g
我有一个执行 SELECT INTO 并将返回的结果存储在名为 VARCHAR2 变量中的过程account_
:
company_
、order_id_
和pay_date_
都是我用来过滤记录的 VARCHAR2 变量。
然后将输入的结果account_
格式化如下,并存储在另一个名为 的 VARCHAR2 变量中giro_
:
giro_ := LPAD( TRANSLATE( account_, '1234567890- ','1234567890' ), 16, '0' );
然后我检查是否giro_
是一个数字,如下用一个 FOR 循环。
我有一个场景,上面显示的 SELECT 查询没有获取任何记录。
这最终在 FOR 循环中引入了一个异常,错误为 ORA-06502 和 ORA-06512。
据我了解,原因是LENGTH( giro_ )
。
1..LENGTH( giro_ )
失败,因为giro_
值的 LENGTH(LENGTH 为 NULL)无法转换为 NUMBER。
我的问题是,此时在这种情况下,是giro_
空字符串还是 NULL?这里到底发生了什么?
谢谢!
oracle - 存储过程异常:ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
PLSQL 过程从表中读取值并将它们作为 CSV 文件邮寄。由于某种原因,它抛出以下错误:
引发错误:ORA-06512:在“EMAIL_DUMP”,第 73 行
- ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小
代码中的第 73 行:
l_clob2 := l_clob2||chr(10)||l_attach_text2;
我已经查看了该行,并认为将这些变量的数据类型更改为 clob 可能会解决问题。但是在更改数据类型后,同样的错误会出现在以下行:
utl_smtp.WRITE_DATA(v_Mail_Conn,
这是我的代码:
谁能帮我解决这个问题?