با سلام،
حین برنامه نویسی وب سایت به کررات به این موضوع بر می خورید که در یک بخش نیاز به ایجاد یک عدد تصادفی منحصر به فرد داشته باشید.

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

مسلما در چنین مواردی باید یک کد عددی تولید نماییم که :
  1. کاملا تصادفی باشد: بدین دلیل که کسی نتواند از روی یک کد عددی ، کدهای عددی دیگر را حدس بزند (قابل حدس زدن نباشد)
  2. کاملا یکتا باشد: هیچوقت 2 نمونه از یک کد تولید نشود.

ساخت دستی همچین کدی ، نیازمند یک الگوریتم پیچیده است، بطوری که حتی اگر توسط الگوریتم ما یک میلیون کد هم تولید شد ، هیچوقت کد ها با هم یکی نباشه ...

خوشبختانه مایکروسافت در برنامه SQL این الگوریتم رو برای ما حاضر و آماده ایجاد کرده است

برای این کار در SQL از تابع ()NEWID بصورت زیر استفاده می نماییم :

SELECT NEWID()


این تابع یک کد عددی همانند کد زیر تولید می نماید :

E75B92A3-3299-4407-A913-C5CA196B3CAB


دقت نمایید که برای ذخیره کردن این کد درون دیتابیس باید درون جدول مورد نظرتون یک ستون از نوع

Unique Identifier اضافه کنین.


-- use in variable
DECLARE @EmployeeID uniqueidentifier
SET
@EmployeeID = NEWID()

-- insert into db

INSERT
INTO Employees(EmployeeID, Name, Phone)
VALUES
(NEWID(), 'H Moradof', '919-7081078')


موفق باشید.
نت نیک

نوشته شده در تاریخ جمعه 22 فروردین 1393    | توسط: ح.م    | طبقه بندی: آموزش پایگاه داده MYSQL,SQL,LINQ،     | نظرات()