خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
Computed Column در SQL Server چیست
یک computed column در واقع یک ستون مجازی است که برای افزودن یک ستون جدید به یک جدول با مقدار مشتق شده از مقادیر ستون های دیگر در همان جدول استفاده می شود. ستون computed به طور فیزیکی در جدول ذخیره نمی شود ، مگر اینکه ستون با PERSISTED علامت گذاری شده باشد. یک ستون computed را نمی توان به عنوان FOREIGN KEY استفاده کرد.
در ادامه به مثال از ستون computed می پردازیم تا به طور دقیق تر با آن و طرز کار آشنا شوید.
ابتدا یک جدول با نام Salesprofit ایجاد می کنیم و و یک ستون computed هم در آن اضافه می کنیم.
از طریق object explorer در SSMS هم می توانید بررسی ایجاد شدن این سلول را بررسی کنید.
حال یک رکورد به جدول salesprofit اضافه می کنیم. ستون profit بر اساس حاصل تفریق SellPrice - ActualPrice محاسبه می شود.
حال ما می توانیم جدول salesProfit را Select کنیم از وضعیت اضافه شدن رکوردها مطلع شویم.
همانطور که مشاهده می کنید، ستون profit که از نوع computed بود، مقدار محاسبه ای که در کوئری تعیین کرده بودیم را نمایش داد. دقت کنید که این مقدار محاسبه و نمایش داده می شود و مقداری که در Profit نمایش داده می شود، در هارد دیسک ذخیره نشده است.
شما می توانید یک Computed column را از یک جدول اس کیو ال سرور Drop کنید.
برای این منظور از Alter Table باید استفاده کنید:
در ادامه به مثال از ستون computed می پردازیم تا به طور دقیق تر با آن و طرز کار آشنا شوید.
ابتدا یک جدول با نام Salesprofit ایجاد می کنیم و و یک ستون computed هم در آن اضافه می کنیم.
Create table Salesprofit (
ProdId Int identity(1,1) ,
ProdName Varchar(30),
ActualPrice numeric(9,2) ,
SellPrice numeric(9,2) ,
Profit AS SellPrice - ActualPrice
)
از طریق object explorer در SSMS هم می توانید بررسی ایجاد شدن این سلول را بررسی کنید.
حال یک رکورد به جدول salesprofit اضافه می کنیم. ستون profit بر اساس حاصل تفریق SellPrice - ActualPrice محاسبه می شود.
insert into salesprofit values ('Spare parts' ,550000,600000)
حال ما می توانیم جدول salesProfit را Select کنیم از وضعیت اضافه شدن رکوردها مطلع شویم.
همانطور که مشاهده می کنید، ستون profit که از نوع computed بود، مقدار محاسبه ای که در کوئری تعیین کرده بودیم را نمایش داد. دقت کنید که این مقدار محاسبه و نمایش داده می شود و مقداری که در Profit نمایش داده می شود، در هارد دیسک ذخیره نشده است.
شما می توانید یک Computed column را از یک جدول اس کیو ال سرور Drop کنید.
برای این منظور از Alter Table باید استفاده کنید:
ALTER TABLE SalesProfit
DROP COLUMN Profit ;
نمایش دیدگاه ها (1 دیدگاه)
دیدگاه خود را ثبت کنید: