1 DECLARE
2 v_clob_all CLOB;
3 delimiter VARCHAR2 (20) := ',';
4 l_err_message VARCHAR2 (2000);
5 l_retcode_o NUMBER := 0;
6 BEGIN
7 DBMS_OUTPUT.PUT_LINE ('START');
8
9 FOR cur_execution_report IN (SELECT TABLE_NAME TABLE_NAME,
10 PURGE_NAME PURGE_NAME,
11 ENABLE_FLAG ENABLE_FLAG,
12 ARCHIVE_FLAG ARCHIVE_FLAG,
13 END_TIME END_TIME,
14 STATUS STATUS,
15 ELIGIBLE_COUNT ELIGIBLE_COUNT,
16 TABLE_SIZE TABLE_SIZE,
17 BIZ_RULE BIZ_RULE,
18 ERROR_MESSAGE ERROR_MESSAGE
19 FROM TEST_REPORT_STATUS)
20 LOOP
21 DBMS_OUTPUT.PUT_LINE ('Inside loop');
22
23 BEGIN
24 v_clob_all :=
25 v_clob_all
26 || cur_execution_report.TABLE_NAME
27 || delimiter
28 || cur_execution_report.PURGE_NAME
29 || delimiter
30 || cur_execution_report.ENABLE_FLAG
31 || delimiter
32 || cur_execution_report.ARCHIVE_FLAG
33 || delimiter
34 || TO_CHAR (cur_execution_report.END_TIME,
35 'DD-MON-YYYY HH:MI:SS PM')
36 || delimiter
37 || cur_execution_report.STATUS
38 || delimiter
39 || cur_execution_report.ELIGIBLE_COUNT
40 || delimiter
41 || cur_execution_report.TABLE_SIZE
42 || delimiter
43 || '"'
44 || REPLACE (
45 (REPLACE (cur_execution_report.BIZ_RULE, ',', '","')),
46 '"',
47 '')
48 || '"'
49 || delimiter
50 || cur_execution_report.ERROR_MESSAGE
51 || UTL_TCP.crlf;
52
53 DBMS_OUTPUT.PUT_LINE ('Length Of CLOB: ' || LENGTH (v_clob_all));
54 -- EXCEPTION
55 -- WHEN OTHERS
56 -- THEN
57 -- l_err_message :=
58 -- SUBSTR (
59 -- ' Error while Executing Report clob data fetch for all records purge : '
60 -- || SQLERRM,
61 -- 1,
62 -- 1500);
63 -- l_retcode_o := 1;
64 --
65 -- RAISE RPT_ERR_MSG;
66 END;
67 END LOOP;
68 END;
如果我理解正确的话,你没有发布代码(为什么不呢?)是
declare
v_clob_all varchar2(32767);
你为什么不
declare
v_clob_all clob;
毕竟,您使用的是CLOB
;你不是吗?
v_clob_all :=
v_clob_all
|| to_clob(cur_execution_report.TABLE_NAME)
|| delimiter
|| to_clob(cur_execution_report.PURGE_NAME)
|| delimiter
...
我得到了 ORA-06502:PL/SQL:以下代码中出现数值或值错误:
正如您所知,由于Oracle11g不支持json,我使用CLOB创建json数据,因为varchar2(32767)大小,但此时我得到了ORA-06502:PL/SQL:numeric或value错误。同时,数据大小为68075。为什么我得到错误,尽管Clob是支持4 gb的数据?
我在执行触发器时遇到以下错误: 请说明问题的原因。 编辑 数据类型:
我实现了一个返回clob数据类型的函数,我希望在DBMS输出中打印结果。不幸的是,我得到了ORA-06502:PL/SQL:numeric或value错误,我认为这是由于dbms_output的大小造成的。 这是密码。 这里有一些东西可以帮助您理解这个问题 1)添加了以下内容来设置缓冲区的大小不受限制,但不起作用… 3)我可以通过执行以下操作来解决这个问题,但我认为这不是一个好的解决方案,因为它执
我有一个向CLOB追加字符串的场景。我遇到的问题是,一旦CLOB达到一定大小,如果我试图向CLOB追加更多内容,就会出现ORA-06502:PL/SQL:numeric或value错误。我假设它的大小已经用完了,但我不知道如何克服这个问题(即指定如何使clob变大)。 有人能帮帮我吗。 我就是这样宣布我的衣服的... 然后我像这样插入它.... 谢谢