View Full Version : سوال: خود رکوردي يک کيوئري
ARData
یک شنبه 05 تیر 1390, 15:47 عصر
آيا يک کيوئري مي تونه با يه کدي تا تعداد محدودي خود رکوردي کنه ؟ يعني يه فرمولي به کيوئري بديم که در خودش تا يه حدي مثلا تا 10 رکورد خودش رکورد ايجاد کنه مثل قانون حلقه و تايمرها در فرم ؟
mazoolagh
دوشنبه 06 تیر 1390, 22:40 عصر
در اکسس نمیشه ولی در sql شدنی هست
ARData
سه شنبه 07 تیر 1390, 11:13 صبح
ميشه در صورت امکان کد اس کيو الي رو اينجا قرار بدين ؟
mazoolagh
پنج شنبه 09 تیر 1390, 00:16 صبح
بله - حتما
کد پایین برای شما یک فانکشن بنام FX میسازه که مقدار برگشتی اون یک جدول هست (@tmp_table) که یک فیلد از نوع int بنام fld_1 داره.
یک متغیر از نوع int بنام @i بعنوان شمارنده حلقه داریم. حلقه 10 بار اجرا میشه و هر مقدار @i در یک رکورد جدید در فیلد fld_1 میشینه.
نهایتا هم جدول @tmp_table بعنوان مقدار تابع برمیگرده.
CREATE FUNCTION FX()
RETURNS @tmp_table TABLE (fld_1 int)
AS
BEGIN
DECLARE @i int
SET @i=0
WHILE (@i<10)
BEGIN
SET @i=@i+1
INSERT INTO @tmp_table (fld_1) VALUES (@i)
END
RETURN
END
برای اجرای تابع هم بصورت زیر عمل میکنیم:
SELECT * FROM FX()
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.