导航

上海网站建设

专业的网站建设,上海网站建设中心,我们有最专业的团队与最优秀的网站设计人才,选择我们就是选择成功!站长联系电话:(021)68046287 / 68046297 QQ:450591584 EMAIL:shwebc@gmail.com我们提供的服务:
网站建设,网站优化,网站维护,空间域名,企业邮局

关键字:上海网站建设网站排名网页制作网站建设网页设计网站优化上海WAP建站

« SQLServer连接失败错误分析与排除Oracle中的数据字典技术初级入门 »

分享Oracle9i中建立自增字段的最新办法

DIV class=guanggao>很多人都知道在Oracle中并没有像其他数据库中的自增字段,那么我们怎样才能实现Oracle的自增字段功能呢?下面我们通过Oracle中的Sequence和Trigger来实现此功能。 1、首先建立一个创建自增字段的存储过程 //Written by Sun Zhenfang 20040903create or replace procedure pr_CreateIdentityColumn(tablename varchar2,columnname varchar2)asstrsql 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存储过程pr_CreateIdentityColumn 4、搞定,下面我们就可以用这个存储过程建立自增自段了。 5、调用存储过程建立自增字段(Note: 第一个参数是表名,第二个参数为自增字段的名字) exec pr_createidentitycolumn('sdspdept','deptid');exec pr_createidentitycolumn('sdspuser','userid');exec pr_createidentitycolumn('sdspsysrole','sysroleid');exec pr_createidentitycolumn('sdspfp','sysfpid');exec pr_createidentitycolumn('sdspphasemodel','phasemodelid');exec pr_createidentitycolumn('sdspphase','phaseid');... ... document.write(""); document.getElementById("contentAdv").innerHTML=document.getElementById("span_ad3").innerHTML; document.getElementById("span_ad3").innerHTML=""; 文章搜索

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Templete from Google黑板报

Copyright 上海网站建设 沪ICP备07037033号 Some Rights Reserved.