Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 获取错误ORA-06502:PL/SQL:数字或值错误_Oracle_Plsql_Clob - Fatal编程技术网

Oracle 获取错误ORA-06502:PL/SQL:数字或值错误

Oracle 获取错误ORA-06502:PL/SQL:数字或值错误,oracle,plsql,clob,Oracle,Plsql,Clob,我越来越 ORA-06502:PL/SQL:以下代码中的数字或值错误: 以下是数据类型: roll_no - NUMBER(10,0) admission_date - TIMESTAMP(6) record_state - CLOB 您需要使用to_clob将字符串转换为clob,然后可以按如下方式合并两个clob: record_state := record_state || to_clob(

我越来越

ORA-06502:PL/SQL:以下代码中的数字或值错误:

以下是数据类型:

roll_no        - NUMBER(10,0)
admission_date - TIMESTAMP(6)
record_state   - CLOB

您需要使用
to_clob
将字符串转换为clob,然后可以按如下方式合并两个clob:

record_state := record_state || 
                to_clob(
                        'Inserting record Entry for student: ' || roll_no || ' for date: ' || To_Char(admission_date,'yyyymmdd') || ' @ ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') || CHR(10)
                       );

干杯

如果您有lob对象,我建议您使用库


你试过一个接一个地删除表达式直到找到有问题的表达式吗?
record_state := record_state || 
                to_clob(
                        'Inserting record Entry for student: ' || roll_no || ' for date: ' || To_Char(admission_date,'yyyymmdd') || ' @ ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') || CHR(10)
                       );
DECLARE
  record_state  CLOB;  
BEGIN
  DBMS_LOB.CREATETEMPORARY(record_state);  

  -- here you should make sure that the string is not too long (max 32K), otherwise the concatenation with pipes will not work. There will be an exception.
  DBMS_LOB.append (record_state , 'Inserting record Entry for student: ' || roll_no || ' for date: ' || To_Char(admission_date,'yyyymmdd') || ' @ ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') || CHR(10)); 

  -- do more operations
  dbms_lob.freetemporary(record_state);

END ;
/