Oracle 获取错误ORA-06502:PL/SQL:数字或值错误
我越来越 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(
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 ;
/