テーブルAからのIDを必要とする一時テーブルにいくつかの行を挿入しようとしています...これは、カーソルからテーブルが挿入されています..ここではすべて正常に機能していますが、私が得ている問題は、取得できないことだけですテーブル A に最初に挿入された行の ID テーブル A に 3 行を挿入するとします。最初の行ではなく、一時テーブルの最後の 2 行を取得します。私のストアドプロシージャです..テーブル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