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


ایجاد جدول موقت بر اساس جدول دیگر در SQL Server

ایجاد جدول موقت بر اساس جدول دیگر در SQL Server
در SQL Server شما می توانید یک جدول موقت بر اساس جدول دیگری ایجاد کنید. می توانید جدول را با داده های جدول مورد نظر یا بدون آن ایجاد کنید. به عبارت دیگر ، در صورت تمایل می توانید داده ها را از جدول اصلی کپی کنید ، یا می توانید جدول را بدون هیچ گونه داده ای ایجاد کنید. در ادامه مثال هایی از این توضیحات را خواهید دید که چگونه می توانیم به این مهم برسیم.

سیستم یکپارچۀ سازمانی راهکار



Example 1 - Create Table With Data

در اینجا مثالی از ایجاد جدول موقت بر اساس یک جدول ثابت و کپی کردن همه داده ها و رکوردهایی که در جدول وجود دارند را در این فرآیند خواهید دید.

USE Test;
SELECT
CatId,
CatName,
Phone
INTO #TempCatsAllData
FROM dbo.Cats;

همانطور که مشاهده می کنید با استفاده از Select INTO موفق به اینکار شدیم و جدول موقت مد نظرمان هم ایجاد شد. حالا به اطلاعات جدول موقت ایجاد شده که در کوئری فوق، رکوردهای جدول Cat در آن ذخیره شده، نگاه می کنیم:

SELECT * FROM #TempCatsAllData;

ایجاد جدول موقت بر اساس جدول دیگر در SQL Server
در صورت نیاز می توانید خروجی رکوردها در Result set را با WHERE فیلتر کنید.

Create Table Without Data

حالا جدول موقت بر اساس یک جدول دیگر ایجاد می کنیم ولی این بار هیچ رکوردی را در آن Insert نمی کنیم.

USE Test;
SELECT
CatId,
CatName,
Phone
INTO #TempCatsNoData
FROM dbo.Cats
WHERE 1 = 0;

در این مثال، از WHERE 1 = 0 استفاده شد تا هیچ رکوردی بازگردانده نشود.

Check the Tables

در این مثال قرار است دو جدول موقت را با جدول اصلی مقایسه شود. برای اینکار از View سیستمی sys.columns در پایگاه داده اصلی (برای جدول اصلی) و در پایگاه داده tempdb (برای جداول موقت) استفاده خواهد شد.


USE Test;
SELECT
name AS [Column Name],
TYPE_NAME(user_type_id) AS [Data Type],
max_length,
[precision],
scale,
is_nullable
FROM sys.columns
WHERE OBJECT_NAME(object_id) = 'Cats';



USE tempdb;
SELECT
name AS [Column Name],
TYPE_NAME(user_type_id) AS [Data Type],
max_length,
[precision],
scale,
is_nullable
FROM sys.columns
WHERE OBJECT_NAME(object_id) LIKE '#TempCatsAllData%';



SELECT
name AS [Column Name],
TYPE_NAME(user_type_id) AS [Data Type],
max_length,
[precision],
scale,
is_nullable
FROM sys.columns
WHERE OBJECT_NAME(object_id) LIKE '#TempCatsNoData%';



ایجاد جدول موقت بر اساس جدول دیگر در SQL Server

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

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

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


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