PDA

View Full Version : تعیین اندازه فیلد VARBINARY در trigger



SaraNikoo
شنبه 26 شهریور 1390, 21:05 عصر
سلام
من یه فیلد از نوع VARBINARY دارم که میخام داخلش عکس نگه دارم حالا میخام با trigger کنترل کنم که سایزش از MB 3 بیشتر نباشه. چطور بایداین کارو بکنم؟ و اگر راه دیگه ای داره لطفا بگید ولی حتما در سطح sql باشه .
مرسی

حمیدرضاصادقیان
یک شنبه 27 شهریور 1390, 08:41 صبح
سلام
با استفاده از دستور DataLength شما میتوانید مقدار فیلدهای Varbinary,Ntext,Image,Nvarchar,Varchar رو کنترل کنید که برحسب Byte هست.
این نمونه کد رو ببینید.

Alter TRIGGER Trginfo
ON U_info
FOR INSERT,update
AS
DECLARE @pic VARBINARY(MAX)
SELECT @Pic=pic_emza FROM INSERTED
IF DATALENGTH(@Pic)>500000
BEGIN
RAISERROR('cannot insert',10,1,N'as')
ROLLBACK
END