oracle 数 据 库,表中有id(自增字段,主键), insert 语句插入一条记录后要求,返回当前插入记录的id値。这个ID不是主ID,ID里的值是CASE_SEQ.Nextval一个自增序列,我想获得当前的插入的记录里的自增序列的值,有人说的方法如下:
create sequence CASE_SEQ
minvalue 0
maxvalue xxxxxxxx
start with 1
increment by 1
cache 20;
select CASE_SEQ.nextval from dual
这个放法正确吗?
如果正确那 asp 里面掉用怎么而写正确
string str = "insert into PATIENT_T(pid,name) values(CASE_SEQ.Nextval,'黎明')";
str += "Select CASE_SEQ.currval from dual";
OracleConnection conn = DB.getCon();
OracleCommand cmd = conn.CreateCommand();
conn.Open();
int returnID = 0;
cmd.CommandText = str;
returnID = Convert.ToInt32(cmd.ExecuteScalar());
//returnID = cmd.ExecuteNonQuery();
conn.Close();
有错误啊 正确的应该怎么改 希望大虾指点,谢谢!!!!
我想要得到 returnID 的值 先看sql 语句对吗?然后怎么在 asp中写具体调用的指令,和返回的值类型,还用强制转化吗? 本人是新手希望有人能够解答,最好考虑到获得的CASE_SEQ.Nextval的唯一性,考虑到有多个用户同时丛客户端写插入语句,怎么知道得到的ID就是自己刚才插入的自动序列ID,不会是别人的序列ID,谢谢了,本人新手!!!