SQL de cursor kullanmadan tablodaki veriyi satır satır okuma

Yazar Cihan

Genelde bu taez bir işlem için cursor kullanılır. Fakat recursive işlemlerde aynı cursoru tanımlamak sorun yaratır. Bu yüzden bu stored procedure nin çok işe yarayacağı kanaatindeyim.

USE [DBNAME]
GO

declare @Proc nvarchar(50)
declare @RowCnt int
declare
@MaxRows int
declare
@ExecSql nvarchar(255)

select @RowCnt = 1
select @Proc = ‘usp_InsertUser’

– These next two rows are specific to source table or query
declare @Import table (rownum int IDENTITY (1, 1) Primary key NOT NULL , EmployeeID varchar(9))
insert into @Import (EmployeeID) select EmployeeID from EmployeeImportTable

select @MaxRows=count(*) from @Import

while @RowCnt <= @MaxRows
begin
    select
@ExecSql = ‘exec ‘ + @Proc + ‘ ”’ + EmployeeID + ”” from @Import where rownum = @RowCnt 
   
–print @ExecSql
   
execute sp_executesql @ExecSql
   
Select @RowCnt = @RowCnt + 1
end

 

Kaynak : [T-SQL] Call a stored procedure once for each row in a query or table - Jon Galloway

Bu yazı toplamda 75, bugün ise 0 kez görüntülenmiş

Random Posts


Aradığınız konu hakkında yeterli içeriği sitemizde bulamadıysanız, aşağıdaki kutucuklardan google ve yahoo arama motorlarında arama yapabilirsiniz.
Google
 

CommentYorum

*
Dikkat! Gönder butonuna basmadan önce, aşağıdaki kutuya yan resimdeki kelimeyi yazınız. Resimdeki yazıyı okuyamıyorsanız, üzerine tıklayarak ses ile harfleri dinleyebilirsiniz. Yorumunuz için teşekkür ederiz.
Click to hear an audio file of the anti-spam word