چگونه از جداول موقتی در 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 حذف می شوند.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود