powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггер проверяющий наличие записи на основе COUNT(*)
6 сообщений из 6, страница 1 из 1
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055735
Фотография netfrog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простейший триггер цель которого не дать вставить в справочник повторяющееся значение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TRIGGER tri_Ins_Strah
ON tblStrah

FOR INSERT
AS
	IF (SELECT COUNT (*)  FROM tblStrah as a, inserted as b  WHERE a.textStrah=b.textStrah) >  0 
	BEGIN
		ROLLBACK TRAN
		RAISERROR ('error',  16 ,  10 )
	END

но если поставить >1 то все ОК, объясните плз?
...
Рейтинг: 0 / 0
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055736
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну записи-то вроде по одной вставляются?
Если вставить одну повторяющуюся запись,
то >1 ессно не выполнится...
...
Рейтинг: 0 / 0
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055738
Фотография netfrog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorry, не понял, мне нужно проверять наличие аналогичной записи, QA говорит что записи нет а триггер, что есть??? Или как понимать положительный рекордкаунт?
...
Рейтинг: 0 / 0
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055771
Фотография netfrog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за тупость, нечего весь день за компом сидеть. только сейчас сообразил, что данные сначала вставились, потом пошла проверка триггером (он же "постфильтр"). Спасибо AlexJuice.
...
Рейтинг: 0 / 0
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055790
Фотография Nickolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2netfrog: Может быть вопрос совсем не в тему, но все-таки... Почему такая экзотическая реализация, не проще-ли объявить поле уникальным?
...
Рейтинг: 0 / 0
Триггер проверяющий наличие записи на основе COUNT(*)
    #32055834
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо IF (SELECT COUNT (*) FROM tblStrah as a, inserted as b WHERE a.textStrah=b.textStrah) > 0
BEGIN
....

используй
if exists(select * from tblStrah as a, inserted as b WHERE a.textStrah=b.textStrah)
BEGIN
....

быстрее будет
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггер проверяющий наличие записи на основе COUNT(*)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]