Цитата:
Сообщение от Gunslinger
Ну а если по доброму это делать, то надо уникальный индекс построить по полю name без всяких триггеров
|
Я б тоже так сделал, но структура базы задана преподом.
Разобрался с триггерами, сделал вот так:
Код:
ALTER TRIGGER [dbo].[trigger1] ON [dbo].[articles]
AFTER INSERT
AS
DECLARE @rowcount int
select @rowcount = 0
SELECT @rowcount = COUNT(A.iid) FROM dbo.articles A, inserted i WHERE A.name = i.name
IF @rowcount != 1
BEGIN
RAISERROR ('MyError 50001. Article already exists.', 16, 1)
ROLLBACK TRANSACTION
END
Теперь другой вопрос:
1) Вроде из процедуры можно вернуть значение только целого типа. Но в задании надо как-то вернуть строку, а в другом целых два значения
2) И можно ли передать как параметр массив значений?