最近写了一个存储过程要求插入数据并返回插入记录的id值(id是sql server自增字段).
在sql server中用top id可以很容易的实现了!但是在oracle中是不支持这样的关键字的,有什么方法吗?
我的方法是用序列:
第一步:
新建一个序列
create sequence seq_tablename minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache;
第二步:
创建相应的存储过程
CREATE OR REPLACE PROCEDURE niec_addposition --2007-5-25
(
content in clob,
options in clob,
subtime in date,
ntype in number,
n_zwbh out number
)
is
begin
select seq_tablename.nextval into n_zwbh from dual;
INSERT INTO niec_wjdc_question
(
quid,content,options,subtime,ntype
)
VALUES
(
n_zwbh,
content,
options,
subtime,
ntype
);
select seq_tablename.currval into n_zwbh from dual;
end;