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

Откуда:
Сообщений: 104751
noi5e
Таким образом я смог создать триггер, но вот ошибка на сайте - не поменялась

Так ошибка говорит о неправильных SET-ах текущего коннекта
Как вы себе представляли, что триггер поменяет вам эти SET-ы ?
24 июл 13, 12:51    [14609803]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
iap
noi5e,

а зачем Вы в INSERTе применяете OUTPUT без вставки результата в таблицу, если имеется триггер?
Перевести с русского на русский - это же так просто!


Условие на правую таблицу LEFT JOINа без учёта возможного значения NULL
отбрасывает всё, что прибавил LEFT JOIN к INNER JOINу.
Поэтому либо переносить условие из WHERE в ON,
либо убирать слово LEFT, ибо оно теряет смысл.


Мммм... Я вот как раз этого и не понимаю, а ГДЕ я применяю OUTPUT? Весь код - это ведь и есть триггер.

UPDATE c
	SET 
		c.COMPANY_NAME = @decodename
	FROM dbo.table c
        JOIN  inserted i ON c.ID_COMPANY = i.ID_COMPANY


Если вы об этом - то при инсерте с сайта - ошибка таже
24 июл 13, 12:54    [14609826]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Glory
noi5e
Таким образом я смог создать триггер, но вот ошибка на сайте - не поменялась

Так ошибка говорит о неправильных SET-ах текущего коннекта
Как вы себе представляли, что триггер поменяет вам эти SET-ы ?


Какие "эти" СЕТы? Можно тогда более развернуто объяснить, в какую сторону мне надо смотреть
24 июл 13, 12:58    [14609857]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
Glory
Member

Откуда:
Сообщений: 104751
noi5e
Какие "эти" СЕТы?

Вы текст ошибки прочитали вообще ? или просто перекопировали сюда ?
24 июл 13, 13:00    [14609875]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
iap
Member

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

Когда триггер создан, вы же в таблицу что-то вставляете?
А зачем OUTPUT без INTO применяете при этом?

Можно ещё предположть, что в триггере Вы апдейтите таблицу,
у которой тоже есть триггер на апдейт, а в нём INSERT с OUTPUT без INTO в таблицу с триггерами....

Мне же всю ситуацию у Вас не видно...
24 июл 13, 13:00    [14609878]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
iap,
iap
noi5e,

Когда триггер создан, вы же в таблицу что-то вставляете?
А зачем OUTPUT без INTO применяете при этом?

Можно ещё предположть, что в триггере Вы апдейтите таблицу,
у которой тоже есть триггер на апдейт, а в нём INSERT с OUTPUT без INTO в таблицу с триггерами....

Мне же всю ситуацию у Вас не видно...


Это и есть "вся" ситуация. Это единственный триггер, триггер на ИНСЕРТ, при котором делается АПДЕЙТ. Никаких АУТПУТОВ в коде нет. Я ничего никуда не возвращаю, никаких других триггеров в таблице нет.
24 июл 13, 13:14    [14609980]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Glory
noi5e
Какие "эти" СЕТы?

Вы текст ошибки прочитали вообще ? или просто перекопировали сюда ?


Конкретизируйте, плз, что там про СЕТы. Сама ошибка мне почти ни о чем не говорит. sql не мой конёк - я его изучаю вот, по ошибкам...
24 июл 13, 13:16    [14610003]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Я ничего не понимаю (.
24 июл 13, 13:18    [14610016]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
Glory
Member

Откуда:
Сообщений: 104751
noi5e
Сама ошибка мне почти ни о чем не говорит.

Офигительно просто.
noi5e
Конкретизируйте, плз, что там про СЕТы.

Куда уж конкретнее, чем в сообщении ?
Чувак, у тебя в коннекте заданы неправильные SET-ы. Список прилагается.
Так понятнее ?
24 июл 13, 13:19    [14610026]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Glory
noi5e
Сама ошибка мне почти ни о чем не говорит.

Офигительно просто.
noi5e
Конкретизируйте, плз, что там про СЕТы.

Куда уж конкретнее, чем в сообщении ?
Чувак, у тебя в коннекте заданы неправильные SET-ы. Список прилагается.
Так понятнее ?


Внимание: Целевая таблица "table" DML-инструкции не может иметь какие-либо активные триггеры, если инструкция содержит предложение OUTPUT без предложения INTO.

Вот текст ошибки. Если вы про СЕТы в начале поста, то они сейчас работают нормально (по крайней мере в другой таблице данный триггер отрабатывает нормально). Сейчас я пытаюсь перенести триггер в другую таблицу (тот же самый триггер), но ошибка - выше.
текст триггера СЕЙЧАС:
ALTER TRIGGER [db][table]
    FOR INSERT
    AS
	SET CONCAT_NULL_YIELDS_NULL ON
	SET ANSI_WARNINGS ON
	SET ANSI_PADDING ON
	
	DECLARE @decodename varchar(max), @name varchar(max)
	
	SELECT @name = COMPANY_NAME FROM inserted
	set @decodename = cast('' as xml).value('xs:base64Binary(sql:variable("@name"))', 'varbinary(max)')
	
	UPDATE c
	SET 
		c.COMPANY_NAME = @decodename
	FROM dbo.table c
	LEFT JOIN 
		inserted i ON c.ID_COMPANY = i.ID_COMPANY
	WHERE c.ID_COMPANY = i.ID_COMPANY
24 июл 13, 13:23    [14610063]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
noi5e
Сейчас я пытаюсь перенести триггер в другую таблицу (тот же самый триггер), но ошибка - выше.
текст триггера СЕЙЧАС:
ALTER TRIGGER [db][table]    


ALTER - это изменение существующего объекта. если на таблице еще нет тригера, то надо создавать его командой CREATE
24 июл 13, 13:41    [14610193]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

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

ничего не поменяется...
24 июл 13, 13:42    [14610199]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
iap
Member

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

кто-то уже что-то вставляет в таблицу с Вашим прекрасным триггером?
Может, Вы сами? И получаете описанную ошибку?

Кстати, у [dbо].[table] есть триггер на UPDATE?
24 июл 13, 13:50    [14610253]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Сам триггер создается СЕЙЧАС без ошибок. То есть запрос на его создание (или изменение) происходит нормально. Проблема наблюдается, когда я с сайта пытаюсь выполнить запрос на добавление данных в таблицу. То есть я добавляю данные, а триггер должен уже выполнить апдейт поля. Но на сайте мне возвращается ошибка (даже не знаю откуда и доступов к исходникам у меня нет):

"Внимание: Целевая таблица "table" DML-инструкции не может иметь какие-либо активные триггеры, если инструкция содержит предложение OUTPUT без предложения INTO."
24 июл 13, 13:52    [14610281]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
iap
noi5e,

кто-то уже что-то вставляет в таблицу с Вашим прекрасным триггером?
Может, Вы сами? И получаете описанную ошибку?

Кстати, у [dbо].[table] есть триггер на UPDATE?


Да, кто-то уже вставляет данные в таблицу и да, это я, в том числе. И получаю эту ошибку тоже я. Триггера на обновление в таблице dbo.table нет (нет никаких больше триггеров, кроме того, о котором идет речь в этих сообщениях).
Если я этот свой триггер удаляю - при попытке добавить запись в таблицу - все происходит нормально. Создаю триггер снова - вижу ошибку. Правлю триггер - вижу ошибку.

Может каких-то данных не хватает для эм "постановки задачи"? Структуры таблицы, бд? С ними эта ошибка может быть как-то связана?
24 июл 13, 13:57    [14610326]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
noi5e
Да, кто-то уже вставляет данные в таблицу и да, это я, в том числе. И получаю эту ошибку тоже я.
Значит, при вставке применяете OUTPUT без INTO?
24 июл 13, 14:11    [14610460]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
Гость333
Member

Откуда:
Сообщений: 3683
noi5e
"Внимание: Целевая таблица "table" DML-инструкции не может иметь какие-либо активные триггеры, если инструкция содержит предложение OUTPUT без предложения INTO."

Приведите уже, что ли, текст запроса с OUTPUT и INTO.
24 июл 13, 14:12    [14610467]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
Cygapb-007
Member

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

если внимательно посмотреть синтаксис ALTER TRIGGER (Transact-SQL), то можно увидеть, что необходимо написать
ALTER TRIGGER schema_name.trigger_name 
ON schema_name.table_name
...
Где у вас написано нечто подобное?
24 июл 13, 14:15    [14610495]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
iap
noi5e
Да, кто-то уже вставляет данные в таблицу и да, это я, в том числе. И получаю эту ошибку тоже я.
Значит, при вставке применяете OUTPUT без INTO?


Теперь мысль ясна. Да, получается, что в INSERT присутствует OUTPUT... И похоже, без INTO...
Мммм... К запросу у меня доступа нет - я не могу его увидеть (вевести как-то или типа таво - он происходит внутри сайта, доступ к которому отсутствует, есть лишь ms sql server managment studio).

Я могу как-то что-то сделать с триггером, чтобы обойти данную проблему или стоит обратиться к владельцу сайта, дабы выяснить обстоятельства? =)
24 июл 13, 14:21    [14610547]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Cygapb-007
noi5e,

если внимательно посмотреть синтаксис ALTER TRIGGER (Transact-SQL), то можно увидеть, что необходимо написать
ALTER TRIGGER schema_name.trigger_name 
ON schema_name.table_name
...
Где у вас написано нечто подобное?


ALTER TRIGGER [db][insert] ON [dbo].[table]
24 июл 13, 14:24    [14610579]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
Cygapb-007
noi5e,

если внимательно посмотреть синтаксис ALTER TRIGGER (Transact-SQL), то можно увидеть, что необходимо написать
ALTER TRIGGER schema_name.trigger_name 
ON schema_name.table_name
...
Где у вас написано нечто подобное?


ALTER TRIGGER [dbo].[insert] ON [dbo].[table]
24 июл 13, 14:24    [14610588]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
Гость333
Member

Откуда:
Сообщений: 3683
noi5e
Я могу как-то что-то сделать с триггером, чтобы обойти данную проблему

Только если удалите триггер.

noi5e
или стоит обратиться к владельцу сайта, дабы выяснить обстоятельства? =)

Да, стоит.
24 июл 13, 14:35    [14610693]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
baclanov
Member

Откуда:
Сообщений: 82
noi5e
Могу еще вот что добавить. При переносе триггера, при его создании - была ошибка, которая не давала ВООБЩЕ создавать триггер в данной таблице (по сути - таже ошибка). При этом таблица ругалась на поле text. Я создал отдельную ячейку, указал нужный мне и рабочий (в другой таблице) тип. Таким образом я смог создать триггер, но вот ошибка на сайте - не поменялась (запрос, который делается в эту таблицу - я не вижу, к сожалению).


Приведите код каким Вы добавляете записи, похоже он содержит OUTPUT
24 июл 13, 14:39    [14610739]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
noi5e
Member

Откуда:
Сообщений: 28
baclanov
noi5e
Могу еще вот что добавить. При переносе триггера, при его создании - была ошибка, которая не давала ВООБЩЕ создавать триггер в данной таблице (по сути - таже ошибка). При этом таблица ругалась на поле text. Я создал отдельную ячейку, указал нужный мне и рабочий (в другой таблице) тип. Таким образом я смог создать триггер, но вот ошибка на сайте - не поменялась (запрос, который делается в эту таблицу - я не вижу, к сожалению).


Приведите код каким Вы добавляете записи, похоже он содержит OUTPUT


"(запрос, который делается в эту таблицу - я не вижу, к сожалению).". Судя по ситуации - он там имеется, доступа к нему, для изменения или отображения - у меня нет, есть лишь полный доступ в ms sql server management studio =(
24 июл 13, 14:41    [14610757]     Ответить | Цитировать Сообщить модератору
 Re: триггер на конвертацию данных  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
noi5e
baclanov
пропущено...


Приведите код каким Вы добавляете записи, похоже он содержит OUTPUT


"(запрос, который делается в эту таблицу - я не вижу, к сожалению).". Судя по ситуации - он там имеется, доступа к нему, для изменения или отображения - у меня нет, есть лишь полный доступ в ms sql server management studio =(
В профайлере посмотреть на запрос не судьба?
24 июл 13, 14:45    [14610802]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить