当时我在asp里是这样做的, 1,我把字符串按大小分开一段段的,然后循环往Oracle里的一个临时表里插入数据,这个临时表结构为, create table T_LOB_TMP_TB ( ID NUMBER, S_CLOB CLOB, MODEL NUMBER ) 在这个临时表上做一个触发器, 触发器代码为: Create Or Replace Trigger t_insert_lob_trigger After Insert On t_lob_tmp_tb Declare s_clob Clob; d_clob Clob; news_id Number; p_model Number; Begin Select t.s_clob ,t.id ,t.model Into s_clob , news_id , p_model From t_lob_tmp_tb t;
If p_model = 1 Then Select n.content Into d_clob From tnews n Where n.newsid = news_id For Update; End If; dbms_lob.append(d_clob,s_clob); End; 虽然比较笨,不过还好用
如果你用字符串插入的话会受到限制,需要把字符串转换为raw,再append到lob变量中,最后插入.
1,我把字符串按大小分开一段段的,然后循环往Oracle里的一个临时表里插入数据,这个临时表结构为,
create table T_LOB_TMP_TB
(
ID NUMBER,
S_CLOB CLOB,
MODEL NUMBER
)
在这个临时表上做一个触发器,
触发器代码为:
Create Or Replace Trigger t_insert_lob_trigger
After Insert On t_lob_tmp_tb
Declare
s_clob Clob;
d_clob Clob;
news_id Number;
p_model Number;
Begin
Select t.s_clob
,t.id
,t.model
Into s_clob
, news_id
, p_model
From t_lob_tmp_tb t;
If p_model = 1 Then
Select n.content
Into d_clob
From tnews n
Where n.newsid = news_id
For Update;
End If;
dbms_lob.append(d_clob,s_clob);
End;
虽然比较笨,不过还好用