ورود

View Full Version : راهنمایی;تریگررها



mazaher5723
یک شنبه 18 فروردین 1392, 10:06 صبح
سلام اساتید

می خوام تریگری بنویسم که اگه رکوردا 10 بیشتر شدن خطا بده کجای این اشتباه سین تکسی داره.
گیر کردم
ممنون میش راهنماییم کنید
CREATE TRIGGER cd1101
on tabel_1
FOR INSERT
AS
BEGIN
if ((count(*)
from Table_1 )>10)

begin
print "errot"
rollback
end

end
go

ali ghaemi
یک شنبه 18 فروردین 1392, 15:14 عصر
CREATE TRIGGER cd1101
on [Tb Name]
FOR INSERT
AS
BEGIN
if ((SELECT count(*) from [Tb Name] )>10) -- forget Select Statment
BEGIN
print 'err'-- Replace Double Quotation with single Quotation
rollback
END
end



بهتره برای بدست اوردن تعداد رکوردها جدول از DVM استفاده کنید (افزایش performance)

USE AdventureWorks2008R2
GO
SELECT OBJECT_NAME(OBJECT_ID) TableName, st.row_count
FROM sys.dm_db_partition_stats st
WHERE index_id < 2 AND OBJECT_NAME(OBJECT_ID)='Address'
ORDER BY st.row_count DESC
GO