- 论坛徽章:
- 0
|
感谢二位,sequence 问题已解决。又遇到新问题:trigger
我的SQL 如下:
drop table archive_search_tab_41;
drop sequence archive_search_seq_41;
create or replace procedure sequence_create
as
tabname varchar2(100);
my_sql varchar2(1000);
begin
select max(company_id) into tabname from company_tab;
my_sql := N'create table archive_search_'||tabname||'( Email_serial int primary key, company_id int, group_id int )';
Execute immediate my_sql;
my_sql := N'create sequence archive_search_seq_'||tabname;
execute immediate my_sql;
Commit;
my_sql := N'create or replace trigger archive_search_bri_' ||tabname||'before insert on archive_search_'||tabname||'for each row begin select archive_search_seq_'||tabname||'.nextval into:new.email_serial from dual;end;/';
execute immediate my_sql;
commit;
end sequence_create;
/
connect / as sysdba;
grant create sequence to sebastian;
grant create trigger to sebastian;
connect sebastian/aaaa;
execute sequence_create;
show errors;
出错信息:
ERROR at line 1:
ORA-04071: missing BEFORE, AFTER or INSTEAD OF keyword
ORA-06512: at SEBASTIAN.SEQUENCE_CREATE, line 19
ORA-06512: at line 1
PL/SQL 可以这样嵌套在另一个PL/SQL里吗?
再次感谢二位大侠。 |
|