关于在
oracle存储过程里取出自增字段值的问题,相当于sql server @@identity
在sql server 里插入一条记录后,取出该记录自增字段的值用
Set @EntNO = @@Identity就可以了
在oracle 存储过程里怎么写?
这样写编译通过的,正确吗?
insert into table1(col1,col2) values(val1,val2) return EntNo into v_EntNO;
(我自增字段是通过触发器完成的)
但是如果要写这样
insert into table2 (col1,col2) select col3,col4 from table2 return EntoNo into v_EntNo;
这样就出错了,该怎么写?
------解决方案--------------------自增字段?用sequence
------解决方案--------------------oracle不支持在INSERT..SELECT 语句中使用RETURNING子句
------解决方案--------------------sequence.currval 当前值,sequence.nextval下一个值
------解决方案--------------------ORACLE不支持自动增长的
可以使用sequence的方式
然后存储过程输出刚才使用的ID不就行了吗