جداول موقت در SQL Server

جداول موقت در SQL Server

بسم الله الرحمن الرحیم

آموزش جداول موقت در SQL Server

همانطور که می دانید در SQL server یک پایگاه داده از پیش تعریف شده با نام Tempdb وجود دارد، در بعضی مواقع شما نیاز به یک جدول موقت نیاز دارید این جداول در این پایگاه داده ذخیره می شود البته جداول به دو دسته تقسیم می شوند یکی ما متغییر هایی از جنس جدول و دیگری جداول موقت، منظور ما جداول موقت است.

خوب برای استفاده از ویژگی متغییر های جداول موقت کافی است مثل مثال زیر عمل نمایید:

 


DECLARE @Table TABLE
(

id INT ,name NVARCHAR(MAX)
);
DECLARE @i INT =0
WHILE(@i<20)
BEGIN
INSERT INTO @Table ([id],[Title]) VALUES (@i,'ESH')
SET @i+=1;
END

SELECT * FROM @Table

--UPDATE

--DELETE

بسم الله الرحمن الرحیم

آموزش جداول موقت در SQL Server

همانطور که می دانید در SQL server یک پایگاه داده از پیش تعریف شده با نام Tempdb وجود دارد، در بعضی مواقع شما نیاز به یک جدول موقت نیاز دارید این جداول در این پایگاه داده ذخیره می شود البته جداول به دو دسته تقسیم می شوند یکی ما متغییر هایی از جنس جدول و دیگری جداول موقت، منظور ما جداول موقت است.

خوب برای استفاده از ویژگی متغییر های جداول موقت کافی است مثل مثال زیر عمل نمایید:

 


DECLARE @Table TABLE
(

id INT ,name NVARCHAR(MAX)
);
DECLARE @i INT =0
WHILE(@i<20)
BEGIN
INSERT INTO @Table ([id],[Title]) VALUES (@i,'ESH')
SET @i+=1;
END

SELECT * FROM @Table

--UPDATE

--DELETE

 


CREATE TABLE #Table(
id INT ,
name NVARCHAR(MAX)
)
DECLARE @i INT =0
WHILE(@i<20)
BEGIN
INSERT INTO #Table ([id],[Title]) VALUES (@i,'ESH')
SET @i+=1;
END

SELECT * FROM #Table

DROP TABLE #Table

---------------------------------------------------------------


SELECT ROW_NUMBER() OVER (ORDER BY id) AS Number,* INTO #Table FROM [USERS]
select * from #Table



--UPDATE 

--DELETE

 

برای استفاده از جداول موقت دو حالت وجود دارد اگر قبل از این جداول از یک # استفاده شود این جدول Local بوده مثلا اگر در StoreProcedure دستور ساخت این جدول نوشته شده باشد به ازای هر کاربر شما این جدول ساخته می شود و در صورتی که کانکشن این کاربر از بین برود جدول وی نیز از بین می رود.

در حالت دوم اگر قبل از نام جدول از دو علامت ## استفاده شود این جدول Global خواهد بود. در این صورت سایر کاربران از همین جدول استفاده می کنند اگر کاربر به وجود آورنده جدول، جدول را حذف کند طبیعتا جدول دیگر توسط هیچ کاربری قابل دسترس نخواهد بود.

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس