خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه استفاده از تابع IDENTITY@@ در SQL Server

نحوه استفاده از تابع IDENTITY@@ در SQL Server
تابع IDENTITY@@ یک تابع سیستمی در SQL Server است که برای بدست آوردن آخرین مقدار IDENTITY تولید شده برای هر جدول در Session جاری، صرف نظر از دامنه دستور T-SQL که مقدار را تولید می کند ، استفاده می شود. فرض کنید ، اگر چندین ردیف با استفاده از دستور INSERT یا SELECT INTO ایجاد کرده اید، تابعIDENTITY آخرین مقدار identity ایجاد در انتهای آخرین عبارت را برمی گرداند. اگر این عبارت هیچ جدولی یا جداولی با ستون های IDENTITY را تحت تأثیر قرار ندهد، تابع IDENTITY مقدار NULL را برمی گرداند.

نرم افزار سامانه مودیان راهکار
این تابع مقادیر numeric با طول (38,0) را بر می گرداند. برای دیدن نحوه استفاده از تابع IDENTITY، ابتدا دو جدول ایحاد می کنیم و مقادیری را در آنها Insert می کنیم و سپس به IDENTITY می پردازیم.



CREATE TABLE SALESMASTER(SNO INT IDENTITY(1,1), PRODUCTS VARCHAR(30))

INSERT INTO SALESMASTER (PRODUCTS) values
('Spare parts X-10'), ('Spare parts XII-16')

CREATE TABLE SALESDETAILS(SNO INT IDENTITY(1,1), PURCHASEDDATE DATE)

INSERT INTO SALESDETAILS (PURCHASEDDATE) VALUES ('2018/01/01')

برای جدول SalesMaster، همانطور که مشاهده می کنید دو رکورد اضافه شده و آخرین identity که در این جدول ایجاد شده، مربوط به ستون SNO است که مقدار آن 2 می باشد.
در مورد جدول Salesdetails، فقط یک رکورد که مقدار آن 1 می باشد.

نحوه استافد از تابع IDENTITY@@ در SQL Server
اکنون یک رکورد در جدول SalesMaster اضافه کرده و نتیجه برگشتی توسط تابع را مشاهده خواهیم کرد.
فرض کنید که در session جاری(53) رکوردی را در جدول درج می کنید ، بنابراین تابع مذکور آخرین مقدار identity اضافه شده در جدول برای session فعلی را برمی گرداند.

نحوه استفاده از تابع IDENTITY@@ در SQL Server
همانطور که مشاهده می کنید، بعد از اضافه کردن یک رکورد در جدول تابع @@identity آخرین مقدار identity که برابر با 3 است را بر میگرداند. دقت داشته باشید که این مقدار آخرین مقدار ایجاد شده توسط این Session بود و آن را برگرداند.
اگر درصدد به دست آوردن آخرین مقدار توسط تابع identity برای Session دیگر باشید، تابع مقدار null را برمی گرداند.
پنجره New Query جدید باز کرده و با استفاده از تابع IDENTITY، در Sesstion جدید، آخرین مقدار identity را بدست آورید.

SELET @@IDENTITY AS checkidentity_session

نحوه استفاده از تابع IDENTITY@@ در SQL Server
همانطور که می بینید مقدار NULL می باشد. این بدان معناست که تابع مذکور فقط آخرین مقدار identity با توجه به توضیحات فوق را در session جاری بر میگرداند.

@@IDENTITY function using multiple tables

همانطور که مشاهده می کنید، جدول salesMaster دارای سه رکورد بوده و آخرین مقدار ستون identity آن برابر با 3 است. در حالی که در جدول SalesDetails یک رکورد وجود دارد و آخرین مقدار برای ستون identity آن 1 است.

نحوه استفاده از تابع IDENTITY@@ در SQL Server
اکنون یک رکورد به هر جدول اضافه می کنیم و سپس آخرین مقدار identity را با استفاده از تابع IDENTITY مشاهده می کنیم.

نحوه استفاده از تابع IDENTITY@@ در SQL Server
همانطور که مشاهده می کنید، فقط آخرین مقدار identity برای جدول SalesDetails را برگرداند چرا که اسکریپت اضافه کردن رکورد برای جدول SalesDetails در واقع آخرین اسکریپت بود.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز