ORACLE9I中建立自增欄位的方法(轉)

BSDLite發表於2007-08-16
ORACLE9I中建立自增欄位的方法(轉)[@more@]我們知道在Oracle中並沒有象其他資料庫中的自增欄位,那麼我們怎麼來實現Oracle的自增欄位功能呢?通常我們都是透過Oracle中的Sequence和Trigger來
下面的方法是我在工作中總結並且多次使用的,較為方便,放於此處與大家分享。
   1、首先建立一個建立自增欄位的儲存過程
CODE:
//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;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-962293/,如需轉載,請註明出處,否則將追究法律責任。

ORACLE9I中建立自增欄位的方法(轉)
請登入後發表評論 登入
全部評論

相關文章