PDA

View Full Version : آموزش: ایجاد trigger برای چک کردن مقدار ورودی



zareei_ta
چهارشنبه 17 آذر 1389, 10:47 صبح
من میخواتم trigger ای بنویسم هنگامی که می خواهیم یک رکورد رو وارد کنیم اگه مقدارش مثلا بیشتر از1000باشه error بده.خیلی فوری میخوام

Rezahak
چهارشنبه 17 آذر 1389, 11:03 صبح
دوست عزیز لازم نیست trigger بنویسی یک check constranint به table مورد نظر اضافه کن

zareei_ta
چهارشنبه 17 آذر 1389, 11:32 صبح
دوست عزیز لازم نیست trigger بنویسی یک check constranint به table مورد نظر اضافه کن

ولی میخوام با trigger این کار را انجام بدم.

tooraj_azizi_1035
چهارشنبه 17 آذر 1389, 12:30 عصر
از IF و تابع RAISE_APPLICATION_ERROR استفاده کن.

hamedkha
چهارشنبه 17 آذر 1389, 12:51 عصر
createtrigger tri
on tblname
forinsert
as
declare @name asnvarchar(20)
select @name=columnname from inserted
if (cast(@name asint)> 1000 )
raiserror('error',9,12)


موفق باشید

Rezahak
چهارشنبه 17 آذر 1389, 13:24 عصر
ولی میخوام با trigger این کار را انجام بدم.
دوست عزیز فکر می کنم اگر از trigger استفاده کنی درهر صورت رکورد اضافه می شود و بعد خطا برمیگردد ولی اگر از check استفاده کنی در صورتی که شرط درست نباشد رکورد هم اضافه نمی شود.

hamedkha
چهارشنبه 17 آذر 1389, 14:16 عصر
دوست عزیز این صحبت شما اشتباه، می تونند از نوع istead of استفاده کنند تا درج به صورت خودکار انجام نشود

ولی در کل برای کارهای ساده چون این بهتره که از check constraint استفاده بشه چون سرعت بیشتری داره.