CREATE SEQUENCE “seqTest1” --创建序列名称 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXvalue -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续。
使用SQL创建完序列后,再次创建存储过程。
create or replace procedure PRO_GetID( strInsertSQL varchar2, -----插入语句参数 seqName varchar2, ------序列名 ID out varchar2 ------返回的ID值 ) is strSql varchar(200); begin execute immediate strInsertSQL;--执行插入语句 strSql:='select '||seqName||'.currval from dual';--获取id的sql语句 execute immediate strSql into ID;--执行获取id的sql语句 EXCEPTION WHEN OTHERS THEN DBMS_output.PUT_LINE(SQLERRM); end PRO_GetID;