国产探花免费观看_亚洲丰满少妇自慰呻吟_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');
... ...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 容城县| 双流县| 岚皋县| 明光市| 江口县| 昌吉市| 岑溪市| 且末县| 株洲市| 呼伦贝尔市| 遂宁市| 汝阳县| 金阳县| 罗平县| 恩施市| 岳池县| 福建省| 奉节县| 常宁市| 黔东| 南漳县| 浙江省| 九龙城区| 大石桥市| 云浮市| 长泰县| 泰兴市| 中方县| 关岭| 门源| 绿春县| 济源市| 济南市| 黑河市| 东阳市| 肃北| 盐城市| 沂源县| 宣城市| 临桂县| 南岸区|