بررسی تابع ()NEWID در SQL Server
تابع NewId :
همانطور که می دانید، پایگاه داده SQL Server شامل تعداد زیادی تابع توکار یا Built-in می باشد که ما می توانیم در کوئری هایمان از آنها استفاده نماییم.
()NewID از توابع توکار SQL Server می باشد که کاربرد آن تولید مقادیر منحصر بفرد می باشد .
ساختار دستور این تابع به صورت زیر می باشد :
1 |
NEWID ( ) |
()NEWID هیچ پارامتر ورودی ندارد . نوع برگردانده شده توسط این تابع نوع uniqueidentifier می باشد .
مقدار برگردانده شده توسط ()NEWID شبیه به مقدار زیر می باشد :
1 |
F68794B1-E2AB-4453-AB40-EABE68D879C2 |
بررسی مثال هایی از نحوه کارکرد ()NEWID :
مثال 1 :
کدهای زیردارای یک متغییر از نوع uniqueidentifier می باشد که مقدار برگردانده شده توسط تابع ()NEWID را به آن نسبت می دهیم .
1 2 3 |
DECLARE @myid uniqueidentifier SET @myid = NEWID() PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid) |
خروجی حاصل از اجرای کوئری فوق به صورت زیر خواهد بود :
1 |
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF |
نوع برگشت داده شده توسط ()NEWID بر روی هر کامپیوتر متفاوت می باشد .
مثال 2:
انتخاب رکوردهای یک جدول به صورت تصادفی :
با استفاده از ()NEWID می توان رکوردهای یک جدول را به صورت تصادفی انتخاب کرد ، برای این منظور به صورت زیر عمل خواهیم کرد :
1 |
select top 1 * from Employee order by NEWID() |
مثال 3: استفاده به عنوان کلید اصلی
می توانید از تابع ()NEWID به عنوان مقدار برای کلید اصلی جداول استفاده کنید به این خاطر چون مقدار تولید شده توسط این تابع منحصر بفرد می باشد .
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE cust ( CustomerID uniqueidentifier NOT NULL DEFAULT newid(), Company varchar(30) NOT NULL ); go INSERT cust (CustomerID, Company) VALUES (NEWID(), 'Wartian Herkku') INSERT cust (CustomerID, Company) VALUES (NEWID(), 'Ernst Handel') |
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.