行不行不确定,不过可以装到一个普通表中,
在普通表上两个trigger,一个insert到真实表中,另一个delete当前表.下面一段例子,供参考:
(thanks to Tom)
create table temp_loader_tbl
( project_id int,
language varchar2(2),
sector varchar2(255)
)
/create table real_table
( project_id int,
language varchar2(2),
sector varchar2(10)
)
/We will load into temp_loader_tbl. A trigger on that table,
such as:
create or replace trigger temp_loader_tbl_AIFER
after insert on temp_loader_tbl for each row
declare
l_str varchar(255) := :new.sector || ' ';
l_piece varchar2(10);
n number;
begin
loop
exit when l_str is null;
n := instr( l_str, ' ' );
l_piece := substr( l_str, 1, n-1 );
l_str := substr( l_str, n+1 ); insert into real_table
values
( :new.project_id, :new.language, l_piece );
end loop;
end;
/
show errcreate or replace trigger temp_loader_tbl_AI
after insert on temp_loader_tbl
begin
delete from temp_loader_tbl;
end;
/
在普通表上两个trigger,一个insert到真实表中,另一个delete当前表.下面一段例子,供参考:
(thanks to Tom)
create table temp_loader_tbl
( project_id int,
language varchar2(2),
sector varchar2(255)
)
/create table real_table
( project_id int,
language varchar2(2),
sector varchar2(10)
)
/We will load into temp_loader_tbl. A trigger on that table,
such as:
create or replace trigger temp_loader_tbl_AIFER
after insert on temp_loader_tbl for each row
declare
l_str varchar(255) := :new.sector || ' ';
l_piece varchar2(10);
n number;
begin
loop
exit when l_str is null;
n := instr( l_str, ' ' );
l_piece := substr( l_str, 1, n-1 );
l_str := substr( l_str, n+1 ); insert into real_table
values
( :new.project_id, :new.language, l_piece );
end loop;
end;
/
show errcreate or replace trigger temp_loader_tbl_AI
after insert on temp_loader_tbl
begin
delete from temp_loader_tbl;
end;
/
解决方案 »
- oralce调用有输出参数的存储过程
- 表级约束与列级约束的区别是什么?
- 麻烦高手们看看这段代码有没有语法错误!
- 触发器自动生成ID后怎么删除?
- oracle中如何使用临时表
- 这个存储过程怎么写?
- 数字顺序问题
- 正在发狠学习Oracle,只是时常困惑重重,大家有没有什么好的学习方法,能够把它快速搞定的
- vb.net通过odbc连接oracle低版本(6。0)中,如何通知不同用户
- 请问vb用ado连oracle的相关问题?
- 在SQL*PLUS中如果用CONN命令可以在不指定数据库的情况下连接到默认的数据库,怎样才能知道我机器中哪个数据库连接是默认的?
- sql 语句 ,如何取出相同记录中的第一条记录
大家快帮忙吧