Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Триггеры  [new]
RodionPolk
Member

Откуда:
Сообщений: 8
Привет всем. Хочу сделать триггер, который выводит ошибку о вводе большем количестве символов, чем 25. Объясните, зачем в поле RAISERROR мы задаём два числа и что они значат? И в чём у меня логическая ошибка? Спасибо!

Create table Firs
(
ID_One int NOT NULL
PRIMARY KEY,
Name varchar(25) NOT NULL,
TelephoneNum decimal NOT NULL
)
GO

CREATE TRIGGER Trig_Ins
ON Firs

FOR INSERT
AS
IF EXISTS
(
SELECT *FROM Firs
WHERE Name>25
)
BEGIN
RAISERROR ('VI VVELI MNOGO SYMBOLS FOR YOU NANE',16,1) -- ???
ROLLBACK TRAN
END
GO

UPDATE Firs
Set Name = 'sdjkhjskdhjkjkjksjkhjkgjksjgkshdsd'
GO
15 авг 16, 17:56    [19543354]     Ответить | Цитировать Сообщить модератору
 Re: Триггеры  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RodionPolk,

в смысле даже мсдн лень открыть???
15 авг 16, 18:00    [19543363]     Ответить | Цитировать Сообщить модератору
 Re: Триггеры  [new]
iljy
Member

Откуда:
Сообщений: 8711
RodionPolk,

задумка ваще ураган. Как вы себе представляете вставку в поле шириной 25 символов строку большей длины? Думаете, сервер биты как-то там ужмет только ради того, что вы проверить могли??

Ну а про вопрос - RTFM.
15 авг 16, 18:34    [19543462]     Ответить | Цитировать Сообщить модератору
 Re: Триггеры  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
RodionPolk,

про inserted что-нибудь слышали?
15 авг 16, 20:37    [19543975]     Ответить | Цитировать Сообщить модератору
 Re: Триггеры  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
RodionPolk
Хочу сделать триггер, который выводит ошибку о вводе большем количестве символов, чем 25.
в чём у меня логическая ошибка?

Хочу сделать триггер, который выводит ошибку, если в поле типа INT введена строка "Вася".
в чём у меня логическая ошибка?

RodionPolk
Объясните, зачем в поле RAISERROR мы задаём два числа и что они значат?
Ну вот зачем такие вопросы на форуме задавать??? Ведь набирать вопрос дольше, чем посмотреть?
Обычно параметры функций смотрят в хелпе.
Это же не концептуальный вопрос, который нужно прочувствовать и выстрадать.

RodionPolk
в чём у меня логическая ошибка?
Ещё у вас ошибка в том, что в триггере нужно анализировать те строки, которые были изменены, см. псевдотаблицы inserted и deleted.
16 авг 16, 09:59    [19545535]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить