以前经常用SQLServer,本身含有自增字段这种类型。
但Oracle中却没有,上网查了一下,转载如下: 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时要显示授权(即使该用户拥有该相关权限) |