ممکن است در Sql نیاز به تکرار یک کد (حلقه) داشته باشید. دو مثال را با هم بررسی میکنیم؛ اولی ایجاد حلقه با استفاده از متغیر و دومی با استفاده از داده های جدول دیگر
برای مثال اول از یک تا ده را در یک فیلد یک جدول insert میکنیم:
DECLARE @No int
SET @No = 1
WHILE @No<= 10
BEGIN
--------------
INSERT INTO Test (No, Name)
VALUES (@No,'MyName')
--------------
set @No= @No+1
END
و برای مثال دوم به ازای هر فیلد ID در جدول Test در جدول Test2 فیلد TestID را insert می کنیم
DECLARE @max int
DECLARE @min int
SET @min = (SELECT min(ID) FROM dbo.Test)
SET @max = (SELECT max(ID) FROM dbo.Test)
WHILE @min <= @max
BEGIN
DECLARE @currnetID int
SET @currnetID = (SELECT ID FROM dbo.Test where id=@min)
if @currnetID>0
BEGIN
--------------
INSERT INTO Test2 (TestID, Name)
VALUES (@currnetID,'MyName')
--------------
END
set @min = @min+1
END
دیدگاه ها:
ارسال دیدگاه
ناصر
سلام مثال کاربردی بود از حلقه اگر امکان داره یک مثال دیگه از حلقه بدید که داده ها از جدول باشد و متغییر علاوه بر int دارای متغییر از نوع nvarchar باشد. با تشکر وسپاس.
نازی
خیلی کاربردیه، لایک . ممنون از مطالب عالی
برچسب ها