Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
 Аватар для HACKcAt
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 43

При создании триггера ошибка вылетает сразу на CREATE TRIGGER

31.05.2012, 06:30. Показов 3412. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Подскажите, пожалуйста, что у меня в коде не так.
Просто я пытаюсь создать простейший триггер в MS SQL Sever Management Studio, но ошибка вылетает сразу на слове TRIGGER, что вообще-то странно, ведь не может же интерпретатор слово TRIGGER не знать!!!
Важная ошибка 0x80040E14, незначительная ошибка 25501
> CREATE TRIGGER tblSportsman_OnInsert
on tblSportsman
for insert
as
begin
--
set nocount on
Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 8,Token in error = TRIGGER ]
Вот код запроса:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TRIGGER tblSportsman_OnInsert
ON tblSportsman
FOR INSERT
AS
BEGIN
--
SET nocount ON;
--
IF (SELECT intCommandId)<=0
print'Номер спортсмена не может быть меньше 0'
ROLLBACK
END
Что мне с этим делать???

Добавлено через 53 минуты
UPD:
интерпретатор реально стопорится на слове TRIGGER, потому как не удаётся запустить даже примеры наипростейших триггеров из справки msdn.
Версия SQL Server 2008. Может в самой студии косяк?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2012, 06:30
Ответы с готовыми решениями:

Ошибка при создании триггера в динамической команде
Здравствуйте! Требуется создать триггер в динамической манере. При этом на вход динамической команде должен поступать ввод пользователя,...

Ошибка при создании триггера: Имя столбца или число предоставленных значений не соответствует определению таблицы
Есть вот такой код При выполнении выдает ошибку сообщение: 213, уровень: 16, состояние: 1, процедура: trigger_InsteadOfUPDATE, строка: 13...

create trigger instead of update
Всем привет! имеется следующее задание Разработайте INSTEAD OF-триггер(ы) для этого VIEW. При выполнении DML VIEW для триггер(ы) ...

7
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
31.05.2012, 08:49
Вот это что такое?
T-SQL
1
SELECT intCommandId
0
 Аватар для HACKcAt
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 43
31.05.2012, 15:15  [ТС]
Цитата Сообщение от iap Посмотреть сообщение
Вот это что такое?
T-SQL
1
SELECT intCommandId
Это выборка по полю intCommandId. Но проблема не в этом, ибо интерпретатор не об неё спотыкается, а сразу в начале об trigger, что вообше странно, ведь все маны, вся документация говорят писать именно так.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
31.05.2012, 18:32
Цитата Сообщение от HACKcAt Посмотреть сообщение
Это выборка по полю intCommandId. Но проблема не в этом, ибо интерпретатор не об неё спотыкается, а сразу в начале об trigger, что вообше странно, ведь все маны, вся документация говорят писать именно так.
Выборка по полю intCommandId откуда?
Где FROM?
Это абсолютная синтаксическая ошибка.
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
31.05.2012, 20:22
Цитата Сообщение от HACKcAt Посмотреть сообщение
ибо интерпретатор не об неё спотыкается
так не правда это! сто пудов спотыкается на безобразном SELECT! может добавите FROM? да за одно на MSDN про него прочитаете? (без обид просто iap сразу в нужном направлении показывает, а вы циклитесь на одном и том же)
0
 Аватар для HACKcAt
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 43
01.06.2012, 02:57  [ТС]
Цитата Сообщение от _katon_ Посмотреть сообщение
так не правда это! сто пудов спотыкается на безобразном SELECT! может добавите FROM? да за одно на MSDN про него прочитаете? (без обид просто iap сразу в нужном направлении показывает, а вы циклитесь на одном и том же)
Да какие тут обиды, я нуб, просто не понял, что к чему, спасибо за помощь, буду стараться исправить

Добавлено через 5 часов 58 минут
Вот я исправил, всё уже вроде по канонам сделал, а всё равно та же ошибка.

SQL
1
2
3
4
5
6
7
8
9
10
CREATE TRIGGER OnInsert
ON tblSportsman
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT intCommandId FROM tblSportsman)<0
print'Номер спортсмена не может быть меньше 0'
ROLLBACK
END
Ошибка та же:
Важная ошибка 0x80040E14, незначительная ошибка 25501
> CREATE TRIGGER OnInsert
ON tblSportsman
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON
Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 8,Token in error = TRIGGER ]
Что делать - знать не знаю.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
01.06.2012, 12:52
твой select вернет кучу записей

Добавлено через 2 часа 46 минут
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trNew] 
   ON  [dbo].[TEST]
   AFTER   INSERT
AS 
BEGIN
 
    SET NOCOUNT ON;
if (select [Количество]  from TEST)>5 
begin
    print 'no' 
    rollback
end
 
 
END
Такой триггер у мну создается , однако (ожидаемо)
Сообщение 512, уровень 16, состояние 1, процедура trNew, строка 9
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
04.06.2012, 12:30
Для сравнения с числом нужно возвращать скалярную величину, а не набор данных. Кроме этого нужно проверить, что такой триггер не существуют в БД. Необходимо это потому, что инструкция CREATE TREGGER предназначена исключительно для создания триггера. В дальнейшем, чтобы изменять его нужно применять инструкцию ALTER TREGGER.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2012, 12:30
Помогаю со студенческими работами здесь

Создании триггера на втавку при использовании ограничения unique
Доброго времени. Подскажите какое условие ставить триггеру на вставку, если на одном столбце используемой таблицы стоит ограничение...

Ошибка при создании триггера
Добрый вечер! Помогите пожалуйста новичку! Есть 2 таблицы: 1) Товар (ID_товара, наименование, цена) 2) Фактура(ID_товара,...

Ошибка при создании триггера
не могу понять , что от меня хочет mysql. ввожу данный триггер: delimiter // create trigger ins_stud before insert on Student ...

Ошибка при создании триггера
CREATE TRIGGER abc AFTER INSERT ON cur FOR EACH ROW ALTER TABLE `balance` ADD COLUMN `a` int(7) NOT NULL DEFAULT 0; ОШИБКА ...

Ошибка при создании триггера
create trigger trig for den_nedely active after insert as begin if (id_den_nedely = 0) then exception iskl end После...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru