0

テーブル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 
4

1 に答える 1