ورود

View Full Version : کمک برای دستور INSERT INTO



federrer
جمعه 18 آذر 1390, 05:35 صبح
سلام دوستان

میخوام در یک استور پروسیجر

به تعداد متغیر A@ عملیات ( 'insert into T1(a1) values ('reias و
به تعداد متغیر B@ عملیات ( 'insert into T1(a1) values ('moaven و
به تعداد متغیر C@ عملیات ( 'insert into T1(a1) values ('karmand و ..... انجام بدم . چه راهی پیشنهاد میکنید????

یوسف زالی
جمعه 18 آذر 1390, 08:54 صبح
سلام.
استفاده از حلقه!

federrer
جمعه 18 آذر 1390, 11:26 صبح
منظور از حلقه ، دستور For هست یا Do while ???

من که تا حالا ندیدم در T-SQL از For استفاده کنن . اگه لطف کنی کدش رو برام بذاری ممنون میشم

یوسف زالی
جمعه 18 آذر 1390, 13:47 عصر
در اس کیو ال for برای کارهای دبگه رزرو شده.
برای ساخت حلقه از while استفاده می کنند.
while condition begin dosomething end
حالا شما مثلا برای تکرار A@ بار:
declare @i int
set @i = 1
while @i <= @A
begin
insert ...
set @i+= 1
end

behrouzlo
جمعه 18 آذر 1390, 20:21 عصر
می تونید به صورت زیر نیز عمل کنید:

Declare @A Int = 10
Declare @B Int = 20
Declare @C Int = 30
Declare @T1 Table (Title Nvarchar(100))
;With Num As ( Select 1 N
Union All
Select N + 1 From Num Where N < @A )
Insert Into @T1
Select 'reias' From Num
;With Num As ( Select 1 N
Union All
Select N + 1 From Num Where N < @B )
Insert Into @T1
Select 'moaven' From Num
;With Num As ( Select 1 N
Union All
Select N + 1 From Num Where N < @C )
Insert Into @T1
Select 'karmand' From Num

البته می توانید یک کم کد را با افزایش قابلیت استفاده مجدد بهتر کنید

یوسف زالی
جمعه 18 آذر 1390, 20:34 عصر
این راه برای تعداد های بالا مشکل حافظه ایجاد می کنه