请教如何查询SQL SERVER增加记录的ID值
我使用SPT的方式在SQL SERVER表A中增加一条记录,还没有保存,现在在保存这条记录之前,我需要获得这条新增记录的ID值,然后在另外一个表B中增加多条记录,这些多条记录关联着前面获取的ID值,将后面表B的某个字段值更新为获取的ID值后,然后一起保存。请问如何获取ID值,(程序是在多用户情况下使用的,所以选择在保存记录前获取ID值)
SQLSetprop(nhandle,'Transactions',2) && 开启远程手工事务 BEGIN TRANSACTION select c_t &&表1 a1=TABLEUPDATE(.t.) **Ac3=SQLEXEC(nhandle,"SELECT SCOPE_IDENTITY() AS NewID ","c_id") && 现在连接处于打开状态 Ac3=SQLEXEC(nhandle,"SELECT MAX(id) AS NewID from yksb.dbo.shebei_zl","c_id") && 现在连接处于打开状态 IF Ac3<0 END TRANSACTION = SQLDISCONNECT(nhandle) MESSAGEBOX("读取数据错误!",0,"错误信息") RETURN TO MASTER ENDIF SELECT c_id myid=NewID UPDATE c_t2 SET id_zl=myid &&直接修改中间表 select c_t2 &&表2 a2=TABLEUPDATE(.t.) IF a1=.t. AND a2=.t. END TRANSACTION ELSE rollback *END TRANSACTION ENDIF SQLSetprop(nhandle,'Transactions',1) && 开启远程自动事务 = SQLDISCONNECT(nhandle) &&关闭 IF a1=.t. AND a2=.t. IF 弹出对话=.t. MESSAGEBOX("数据保存成功!",0,"信息") endif ELSE MESSAGEBOX("数据保存失败!",0,"信息") 弹出对话=.t. RETURN TO master endif
[此贴子已经被作者于2024-5-26 10:15编辑过]