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

Откуда:
Сообщений: 24290
goldfuzz
Maxx
BOL-> COLUMN_UPDATED(), UPDATE() ?
-------------------------------------
Jedem Das Seine


Вы имели ввиду нечто подобное?

CREATE TRIGGER [dbo].[sipidip_deleting_2]
ON [dbo].[account]
AFTER UPDATE
AS
DELETE db_account.dbo.sipidip
FROM db_account.dbo.sipidip, UPDATED()
WHERE UPDATED.account_id = db_account.dbo.sipidip.sipidip_id AND UPDATED.account_delete = 'False'

вы долго будете выдумывать свои интрукции языка T_SQL ? просто интересно
в доке ведь написано КАК юзать ф-ции ?
26 авг 09, 12:36    [7581327]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Гавриленко Сергей Алексеевич
set nocount on в триггере напишите, чтобы вашему приложению башню не сносило.


Приложение - это сама среда Microsoft SQL SERVER Managment Studio Express. Все пока что живет в нем.

Написал set nocount on - все тоже самое.
26 авг 09, 12:49    [7581451]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
а покажите оригинальное сообщение об ошибке.со всеми строками над ним ?
которое вам показывает студия
-------------------------------------
Jedem Das Seine
26 авг 09, 12:51    [7581465]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Glory
Member

Откуда:
Сообщений: 104760
goldfuzz
Гавриленко Сергей Алексеевич
set nocount on в триггере напишите, чтобы вашему приложению башню не сносило.


Приложение - это сама среда Microsoft SQL SERVER Managment Studio Express. Все пока что живет в нем.

И какой же командой вы производите собственно update ?
26 авг 09, 12:52    [7581473]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Glory
goldfuzz
Гавриленко Сергей Алексеевич
set nocount on в триггере напишите, чтобы вашему приложению башню не сносило.


Приложение - это сама среда Microsoft SQL SERVER Managment Studio Express. Все пока что живет в нем.

И какой же командой вы производите собственно update ?


Dim strSQL As String = "Update db_account.dbo.account Set account_delete ='False' where db_account.dbo.account.account_id = " & account_id

ЧТо в ней особенного? В процессе тестирования триггера - просто меня в таблице содержимое поля account_delete.
26 авг 09, 13:03    [7581540]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Maxx
а покажите оригинальное сообщение об ошибке.со всеми строками над ним ?
которое вам показывает студия
-------------------------------------
Jedem Das Seine


ДОСЛОВНО

Ни одной строки не было обновлено
Источник ошибки: Microsoft.VisualStudio.DataTools
Сообщение об ошибке: Значения строки обновлены или удалены, либо не делают строку уникальной, либо они изменяют несколько строк. (строк: 2)

Исправьте ошибку и повторите попытку или нажмите клавишу ESC, что бы отменить изменения."

КОд тригнера:

USE [db_account]
GO
/****** Объект: Trigger [dbo].[sipidip_deleting] Дата сценария: 08/26/2009 11:52:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER TRIGGER [dbo].[sipidip_deleting]
ON [dbo].[account]
AFTER UPDATE
AS
DELETE a
FROM db_account.dbo.sipidip a
INNER JOIN db_account.dbo.account b ON b.account_id = a.sipidip_id AND b.account_delete = 'False'
26 авг 09, 13:08    [7581588]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
goldfuzz,

И где же в коде триггера рекомендованный Вам ранее SET NOCOUNT ON?!
26 авг 09, 13:18    [7581658]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
как вы модифицируете данные ?
выполните из окна редактора

declare @i int
set @i = (select top 1 sipidip_id  from db_account.dbo.sipidip ) 
update db_account.dbo.sipidip
set sipidip_id = sipidip_id
where sipidip_id  = @i
и покажите все таки ошибку которую напишет студия ,в окошке выполнения результатов.
-------------------------------------
Jedem Das Seine
26 авг 09, 13:37    [7581799]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Maxx
как вы модифицируете данные ?
выполните из окна редактора

declare @i int
set @i = (select top 1 sipidip_id  from db_account.dbo.sipidip ) 
update db_account.dbo.sipidip
set sipidip_id = sipidip_id
where sipidip_id  = @i
и покажите все таки ошибку которую напишет студия ,в окошке выполнения результатов.
-------------------------------------
Jedem Das Seine


Почему этот код должен сообщать об ошибке??? Он и не выдал... В моем случае просто обработал 4 строки без изменения данных.
Моя же цель сделать триггер удаление сроки в этой самой db_account.dbo.sipidip при изменении значения поля account_id в таблице db_account.dbo.account и эти таблицы имеют общее поле
db_account.dbo.account.account_id=db_account.dbo.sipipid.sipipid_id
26 авг 09, 13:47    [7581874]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
goldfuzz
Maxx
как вы модифицируете данные ?
выполните из окна редактора

declare @i int
set @i = (select top 1 sipidip_id  from db_account.dbo.sipidip ) 
update db_account.dbo.sipidip
set sipidip_id = sipidip_id
where sipidip_id  = @i
и покажите все таки ошибку которую напишет студия ,в окошке выполнения результатов.
-------------------------------------
Jedem Das Seine


Почему этот код должен сообщать об ошибке??? Он и не выдал... В моем случае просто обработал 4 строки без изменения данных.
Моя же цель сделать триггер удаление сроки в этой самой db_account.dbo.sipidip при изменении значения поля account_id в таблице db_account.dbo.account и эти таблицы имеют общее поле
db_account.dbo.account.account_id=db_account.dbo.sipipid.sipipid_id


Простите, ошибся - при изменении поля account_delete, а не account_id...
26 авг 09, 13:49    [7581889]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ну вот ві сами и ответилина свой вапрос:)
С ума у вас ходит то приложение ,с которого ві как то,только вам известнім методом изменете таблицу, потому как и в моем и вашем случае триггер сработал.
и еще Вам уже дали ответ и посоветовали что сдлеать,что ваш клиент не сходил с ума
-------------------------------------
Jedem Das Seine
26 авг 09, 13:50    [7581892]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
сорри
триггер
ALTER TRIGGER [dbo].[sipidip_deleting] 
ON [dbo].[account] 
AFTER UPDATE
AS 
DELETE a 
FROM db_account.dbo.sipidip a 
INNER JOIN db_account.dbo.account b ON b.account_id = a.sipidip_id AND b.account_delete = 'False'
віполните код типа
update account  set account_id = account_id
по римеру приведеному мной
и покажите ошибку,если она будет
-------------------------------------
Jedem Das Seine
26 авг 09, 13:52    [7581902]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Maxx
ну вот ві сами и ответилина свой вапрос:)
С ума у вас ходит то приложение ,с которого ві как то,только вам известнім методом изменете таблицу, потому как и в моем и вашем случае триггер сработал.
и еще Вам уже дали ответ и посоветовали что сдлеать,что ваш клиент не сходил с ума
-------------------------------------
Jedem Das Seine


Какое отношением имеет триггер к коду , который ВЫ предложили???
Этот код никак не вызывает выполнение триггера.

Еще раз объясню что мне нужно, наверно.

Есть две таблицы account и sipipid. В них одно общее поле: account.accout_id=sipipid.sipipid_id
При изменении содержимого поля account_delete в account связанное поле в sipipid должно удаляться.

Триггер ниже выдает ошибку...

USE [db_account]
GO
/****** Объект: Trigger [dbo].[sipidip_deleting] Дата сценария: 08/26/2009 11:25:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
set nocount on
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [dbo].[sipidip_deleting]
ON [dbo].[account]
AFTER UPDATE
AS
DELETE a
FROM db_account.dbo.sipidip a
INNER JOIN db_account.dbo.account b ON b.account_id = a.sipidip_id AND b.account_delete = 'True'

В общем, наверно, лучше с триггерами в этом случае не связываться... Просто удалю из приложения... Жаль
26 авг 09, 13:59    [7581948]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
я ж написал сорри,перепутал таблицу в первом запросе, второе сообщение віполните а ?
-------------------------------------
Jedem Das Seine
26 авг 09, 14:02    [7581961]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Glory
Member

Откуда:
Сообщений: 104760
goldfuzz
Glory
goldfuzz
Гавриленко Сергей Алексеевич
set nocount on в триггере напишите, чтобы вашему приложению башню не сносило.


Приложение - это сама среда Microsoft SQL SERVER Managment Studio Express. Все пока что живет в нем.

И какой же командой вы производите собственно update ?


Dim strSQL As String = "Update db_account.dbo.account Set account_delete ='False' where db_account.dbo.account.account_id = " & account_id


Т.е. в Microsoft SQL SERVER Managment Studio Express пишите вот эту команду Dim strSQL As String ...??
26 авг 09, 14:03    [7581975]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine
26 авг 09, 14:04    [7581985]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Maxx
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine


Вы меня совсем за идиота держите.... Обидно... Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.
26 авг 09, 14:07    [7582001]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
нет не держим, но и ответов на свои вопросі получить от вас не удается... к сожалению,посему пітаемся заниматся телепатией.
-------------------------------------
Jedem Das Seine
26 авг 09, 14:08    [7582006]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Glory
Member

Откуда:
Сообщений: 104760
goldfuzz
Maxx
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine


Вы меня совсем за идиота держите.... Обидно... Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

Скорее наоборот. Утверждаете, что все делаете в Managment Studio Express, а приводите текст команды на VB
26 авг 09, 14:08    [7582011]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
goldfuzz
Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

ето проеряли ?
ошибка есть нет ?
26 авг 09, 14:09    [7582017]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Glory
goldfuzz
Maxx
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine


Вы меня совсем за идиота держите.... Обидно... Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

Скорее наоборот. Утверждаете, что все делаете в Managment Studio Express, а приводите текст команды на VB


Это я просто привел команду UPDATE из программного кода...
26 авг 09, 14:12    [7582036]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Glory
Member

Откуда:
Сообщений: 104760
goldfuzz
Glory
goldfuzz
Maxx
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine


Вы меня совсем за идиота держите.... Обидно... Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

Скорее наоборот. Утверждаете, что все делаете в Managment Studio Express, а приводите текст команды на VB


Это я просто привел команду UPDATE из программного кода...

Значит все таки ошибка происходит в вашем клиентском приложении ?
Как вы не отнекивались, что его нет ?
26 авг 09, 14:14    [7582049]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Maxx
goldfuzz
Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

ето проеряли ?
ошибка есть нет ?


Повторюсь, сорри.... Пол дня потратил, результата нет... Буду удалять из кода без триггера. Спасибо за помощь.
26 авг 09, 14:14    [7582053]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
Glory
Member

Откуда:
Сообщений: 104760
goldfuzz


Повторюсь, сорри.... Пол дня потратил, результата нет... Буду удалять из кода без триггера. Спасибо за помощь.

Нет результата потому, что нет понимания того, что вы делаете
26 авг 09, 14:15    [7582060]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с триггером  [new]
goldfuzz
Member

Откуда:
Сообщений: 62
Glory
goldfuzz
Glory
goldfuzz
Maxx
ага на васике прям и пишеть:)
-------------------------------------
Jedem Das Seine


Вы меня совсем за идиота держите.... Обидно... Не работает... Не знаю почему.... Извините за беспокойство. Буду удалять из проги без триггера.

Скорее наоборот. Утверждаете, что все делаете в Managment Studio Express, а приводите текст команды на VB


Это я просто привел команду UPDATE из программного кода...

Значит все таки ошибка происходит в вашем клиентском приложении ?
Как вы не отнекивались, что его нет ?


Ну есть, конечно.. НО триггер создавал в среде и испытывал в среде... Сорри, буду удалять из кода без триггера.
26 авг 09, 14:15    [7582064]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить