PDA

View Full Version : سوال: محاسبه مقدار default براي يك فيلد



حسین محمدی
یک شنبه 26 خرداد 1387, 18:33 عصر
با سلام

من در يك جدول خود، يك فيلد دارم كه بايد مقدار default داشته باشد و كاربر آنرا وارد نمي كند و اين مقدار default از يك جدول ديگر به دست مي آيد.
چگونه كد آنرا بنويسم تا اين مقدار ديفالت از محاسبه روي مقادير جدول ديگر حاصل شود؟



create table t2(C1 int)
insert into t2(C1) values (0)

create table t1(c1 int identity, c2 int, t3 int default (select C1 from t2))

ASKaffash
یک شنبه 26 خرداد 1387, 19:12 عصر
با سلام
پیشنهاد میکنم آن فیلد را ازدرون تریگر جدول پرکنید خیلی بهتراست چون در زمان تغییر هم میتوانید محاسبه مجدد کنید

حسین محمدی
دوشنبه 27 خرداد 1387, 09:20 صبح
اگر نخواهم از trigger استفاده كنم چگونه بايد كد آن را نوشت؟ مثلا به كمك subquery

ASKaffash
دوشنبه 27 خرداد 1387, 12:17 عصر
با سلام
از طریق تابع :


Create FUNCTION [dbo].[X](@P BigInt)
RETURNS BigInt
AS
BEGIN
RETURN (Select B From T1 Where A=@P)
END

ودر فیلد محاسباتی مورد نظر در خاصیت Formula دستور ذیل را بنویسید :


([dbo].[X]([C]))