国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:45:54
字體:
來源:轉載
供稿:網友
很多人都知道在Oracle中并沒有像其他數據庫中的自增字段,那么我們怎樣才能實現Oracle的自增字段功能呢?下面我們通過Oracle中的Sequence和Trigger來實現此功能。1、首先建立一個創建自增字段的存儲過程//Written by Sun Zhenfang 20040903
create or replace PRocedure pr_CreateIdentityColumn
(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存儲過程pr_CreateIdentityColumn4、搞定,下面我們就可以用這個存儲過程建立自增自段了。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');
... ...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥芬河市| 卓尼县| 广安市| 喀喇| 永城市| 潞城市| 西华县| 宜丰县| 八宿县| 永泰县| 施秉县| 桃园县| 蓬莱市| 崇阳县| 定西市| 伊宁县| 磐安县| 湖州市| 馆陶县| 昌吉市| 云南省| 辉县市| 赣州市| 延庆县| 柳江县| 奉化市| 普安县| 曲沃县| 察雅县| 贵州省| 河曲县| 贡嘎县| 佛山市| 巫山县| 白玉县| 平度市| 张掖市| 高淳县| 达州市| 乐至县| 玉树县|