حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

کاربرد جدول موقت ( Temporary Table ) در SQL چیست؟

چگونه از جداول موقتی در SQL استفاده کنیم؟ یکی از قابلیت های SQL Server این است که شما می توانید بدون ساخت Database، جداولی را ایجاد کرده و با آن ها کار کنید. به این جداول اصطلاحاً جداول موقت یا Temporary Tables می گویند. برای ایجاد جداول موقت کافیست به صورت زیر یک جدول موقت ایجاد کنید:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
create table #TempUsers
(
	[Id] int identity not null primary key,
	[Username] nvarchar(200) not null,
	[Password] nvarchar(100) not null,
	[PasswordSalt] nvarchar(32) not null
);
go

دقت کنید که برای ساخت جداول موقت نیازی به ساخت Database نیست، کافیست در ابتدای نام جدول علامت # قرار دهید. حال، به راحتی می توان به صورت زیر در این جداول مقدار ریخت و از آن ها query گرفت:

insert into #TempUsers values (N'Hossein Ahmadi',N'123',N'123');
insert into #TempUsers values (N'Mohammad Nasiri',N'123',N'123');

و به صورت زیر از این جدول می توانیم Query بگیریم:

select * from #TempUsers

برای مثال، فرض کنیم می خواهیم از چند جدول اطلاعات را کوئری گرفته و در یک جدول موقت درج کنید تا بتوانیم بر روی آن عملیات های مورد نظرمان را انجام دهیم، برای اینکار به راحتی یک جدول موقت ایجاد کرده و اطلاعات را از یک جدول دیگر به صورت زیر می توانیم درج کنیم:

create table #TempUsers
(
	[Id] int identity not null primary key,
	[Username] nvarchar(200) not null,
	[Password] nvarchar(100) not null,
	[PasswordSalt] nvarchar(32) not null,
	[FirstName] nvarchar(200) null,
	[LastName] nvarchar(200) null
);
go

insert into #TempUsers (Username,Password,PasswordSalt,FirstName,LastName)
select
 u.Username,
 u.Password,
 u.PasswordSalt,
 up.FirstName,
 up.LastName
from Users u
inner join UserProfiles up on up.UserId = u.Id

select * from #TempUsers where Username LIKE N'Hossein%'

کلیه جداول موقت در SQL Server، در Database ای با نام tempdb که جزو database ها پیش فرض SQL Server می باشد ایجاد می شوند. این بانک در زمان نصب SQL Server به صورت خودکار ایجاد می شود. یکی از قابلیت های جداول موقت این است که این جداول با اتمام کار (به اتمام رسیدن عملیات های Transaction) از tempdb حذف می شوند.

  • جدول موقتی SQL یا ( Temporary Table ) چیست؟

    نرم افزار MSSQL سرور به شما این قابلیت را می دهد که بدون طراحی دیتابیس و حتی ایجاد کردن بانک اطلاعاتی ، بصورت موقتی جداولی را ایجاد کنید ، آنها را به راحتی بعد از استفاده بصورت خودکار حذف می شوند ، به آنها جداول موقتی گفته می شود. این جدول ها در بانک اطلاعاتی قرار ندارند.
  • چه زمانی جدول موقتی ( Temporary Table ) می سازیم؟

    بیشترین کاربرد جدول های موقتی در تست و آزمایش ساخت جداول است و یا انتقال داده یا تبدیل داده بین بانک های اطلاعاتی ...

حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات