Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Trigger and LONG-datatype
Thanks, but i solved the problem in this way (based on a solution of Thomas
Kyte):
create or replace package post_pkg
as
type pkArray is table of post.post_nr%type index by binary_integer;
empty pkArray;
newones pkArray;
end;
/
create or replace trigger tr_post_bi
before insert on post
begin
post_pkg.newones := post_pkg.empty;
end;
/
create or replace trigger tr_post_bi_row
before insert on post for each row
begin
if :new.post_typ = 'RE' then
post_pkg.newones(post_pkg.newones.count+1) := :new.post_nr;
end if;
end;
/
create or replace trigger tr_post_ai
after insert on post
declare
v_long_text long;
v_varchar_text varchar2(2000);
begin
for i in 1 .. post_pkg.newones.count loop
select post_text into v_long_text from post where
post_nr=post_pkg.newones(i);
v_varchar_text := substr(v_long_text,1,2000);
insert into p_post (p_post_post_nr, p_post_post_text) values (post_pkg.newones(i), v_varchar_text);
end loop;
end;
/
Received on Wed Feb 10 1999 - 10:57:17 CST