我一直在尝试将一些行插入到需要表 A 中的标识的临时表中......这个 A 表正在从游标插入......这里一切正常,但我得到的唯一问题是我没有得到表 A 中第一个插入行的标识假设我在表 A 中插入 3 行 ...我在临时表中得到最后 2 行 ..不是第一个 ..如果我在表 A 中只发送一行,那么临时表在这里是空白的是我的存储过程..table A 是 tblClients
Create PROCEDURE [dbo].[lsp1_propAdmClnt]
(
@usrprflId bigint,
@preClient tpClient readonly
)
as
declare @err int
CREATE TABLE #tblids(
clntid int,
imgname nvarchar(350)
)
declare @clntid as int
declare @clntname nvarchar(300)
declare @imgname nvarchar(300)
Begin Transaction
declare transfclntid cursor for select clntname, [imgname] from @preClient
open transfclntid
fetch next from transfclntid into @clntname, @imgname
while @@fetch_status=0
begin
insert into tblClients (usrprflId,Name,Img,cdate)
values(@usrprflId, @clntname, @imgname,GETDATE())
SET @clntid = (SELECT SCOPE_IDENTITY())
insert into #tblids (clntid, imgname) values (@clntid, @imgname)
fetch next from transfclntid into @clntname, @imgname
end
close transfclntid
deallocate transfclntid
select * from #tblids
select @err=@@TOTAL_ERRORS
if(@err<>0)
Begin
Rollback Transaction
return 0
End
Commit transaction