PDA

View Full Version : سوال: ایجاد شماره برای هر ردیف



SYNDROME
دوشنبه 01 مهر 1387, 14:49 عصر
با سلام
با استفاده از دستور Insert Into اطلاعات را از جدول Test1 به Test2 منتقل می کنم.


Insert Into Tbl_Test2 (ID,Name)
Select Name
From Tbl_Test1

حالا می خواهم در زمان Insert یک عدد مانند AutoNumber ایجاد کنم که از عددی که من اعلام می کنم شروع کند و در هر رکورد یک واحد به آن اضافه شود.
مثلا بگویم عدد 22 رکورد اول عدد 22،رکورد دوم عدد 23 و . . . داشته باشند و داخل جدول دوم اضافه شود.


Insert Into Tbl_Test2 (XXXXXX,Name)
Select Name
From Tbl_Test1

XXXXXX : دستوری است که من نیاز دارم بنویسم.
با تشکر از دوستان

omid1240
سه شنبه 02 مهر 1387, 10:34 صبح
XXXXXX یک function می تونه باشه با دو ورودی
1- شماره مورد نظر اعلامی
2- شماره رکورد که بر اساس کلید جدول با دستور Count که از جدول اول (Source ) استخراج می شه
بعد خروجیش هم که میشه عدد 1 + 2

حلا البته اینو گفتم ولی سرعت این نحوه استفاده از فانکشن ها خوب نیست چون به ازاء هر ردیف جدول یک بار محاسبه انجام میشه .

کم حوصله
سه شنبه 02 مهر 1387, 14:56 عصر
سلام



Select IDENTITY(int,22,1) As ID_No, Name Into #T From Tbl_Test1

Insert Into Tbl_Test2 (ID,Name)
Select ID_No, Name From #T

Drop Table #T

SYNDROME
سه شنبه 02 مهر 1387, 16:15 عصر
با تشکر از دوستان
جواب را پیدا کردم.
اگر از 2005 استفاده می کنید با استفاده از Row_Number می توانید چنین کاری را به راحتی انجام دهید.
موفق باشید

AminSobati
چهارشنبه 03 مهر 1387, 15:04 عصر
http://www.barnamenevis.org/forum/showthread.php?t=11186
http://www.barnamenevis.org/forum/showthread.php?t=17242