日期:2011-01-25 22:55:00 来源:本站整理
<b>Oracle自增字段的成立-入门底子</b>[Oracle防范]
本文“<b>Oracle自增字段的成立-入门底子</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
但Oracle中却没有,我们可以用触发器trigger的功效来实现它:
1、首先成立一个成立自增字段的存储历程
create or replace procedure pro_create_seq_col(tablename varchar2,columnname varchar2)
as
strsql varchar2(1000);
begin
strsql := 'create sequence seq_'||tablename||' minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache';
execute immediate strsql;
strsql := 'create or replace trigger trg_'||tablename||' before insert on '||tablename||' for each row begin select seq_'||tablename||'.nextval into :new.'||columnname||' from dual; end;';
execute immediate strsql;
end;
/
2、Oracle中履行动态SQL时要显示受权(即便该用户拥有该相关权限)
GRANT CREATE ANY SEQUENCE TO UserName;GRANT CREATE ANY TRIGGER TO UserName;
3、重新Compile存储历程pro_create_seq_col;
4、搞定,下面我们便可以用这个存储历程成立自增自段了.
5、调用存储历程成立自增字段(提醒: 第一个参数是表名,第二个参数为自增字段的名字)
exec pro_create_seq_col('sb_zsxx','zsxh');exec pro_create_seq_col('sb_sbxx','sbxh');
exec pro_create_seq_col('sb_jkx','pzxh');
exec pro_create_seq_col('sdspfp','sysfpid'
以上是“<b>Oracle自增字段的成立-入门底子</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论