Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 sp_send_dbmail и IDENTITY  [new]
car4car
Member

Откуда:
Сообщений: 5
подскажите, как избавиться от такой неприятности:
на таблице
CREATE TABLE [dbo].[Projects](
	[IDProject] [int] IDENTITY(1,1) NOT NULL,
	[ProjectName] [nvarchar](150) COLLATE Cyrillic_General_CI_AS NOT NULL,
 CONSTRAINT [PK_Projects] PRIMARY KEY CLUSTERED 
([IDProject] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]
имеем триггер
SET NOCOUNT ON;
CREATE TRIGGER [Projects_ins]  ON  [dbo].[Projects]
for INSERT AS BEGIN
EXEC  msdb.dbo.sp_send_dbmail
     @profile_name = 'admin'
,    @recipients = 'qqq@qqq.qqq'
,    @body  = 'body'
,    @subject = 'новый проект'
END

только вот после срабатывания триггера в поле ключa (IDProject)
sp_send_dbmail пытается всунуть свой mailitem_id

Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
29 окт 09, 06:37    [7853227]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
car4car
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
У вас голый релиз, а на дворе уже давным давно сп3 + коммулятивные апдейты...
29 окт 09, 06:43    [7853230]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> только вот после срабатывания триггера в поле ключa (IDProject)
> sp_send_dbmail пытается всунуть свой mailitem_id

дайте-ка, попробую расшифровать: вы где-то пытаетесь получить новое значение
identity для вставленной в [dbo].[Projects] строки, а вместо этого
получаете mailitem_id. так? а идентити, надо полагать, с помощью
функции @@identity получаете?

Posted via ActualForum NNTP Server 1.4

29 окт 09, 08:15    [7853299]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
daw

> только вот после срабатывания триггера в поле ключa (IDProject)
> sp_send_dbmail пытается всунуть свой mailitem_id

дайте-ка, попробую расшифровать: вы где-то пытаетесь получить новое значение
identity для вставленной в [dbo].[Projects] строки, а вместо этого
получаете mailitem_id. так? а идентити, надо полагать, с помощью
функции @@identity получаете?
Гы...
+1
29 окт 09, 08:27    [7853318]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
BugsBunny#
Guest
SCOPE_IDENTITY()
29 окт 09, 08:45    [7853352]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
car4car
Member

Откуда:
Сообщений: 5
daw, BugsBunny#,
кое что прояснилось. спасибо!

как смотрю:
1. в сервер манажмент студио, таблица/открыть таблицу.
пытаюсь добавить запись - имею то, что описано выше.
2. в клиенте через адоконнекшн/адодатасет новая запись
подставляется @@IDENTITY (в данном случае mailitem_id).

как получить в новой записе (больше интересует адоконнешн)
SCOPE_IDENTITY() без рефреша ?

до рабочего варианта не могу допереть. подскажите пожалуйста.
29 окт 09, 10:36    [7853973]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> как смотрю:
> 1. в сервер манажмент студио, таблица/открыть таблицу.
> пытаюсь добавить запись - имею то, что описано выше.

ну и нечего им пользоваться для редактирования данных.

> 2. в клиенте через адоконнекшн/адодатасет новая запись
> подставляется @@IDENTITY (в данном случае mailitem_id).
>
> как получить в новой записе (больше интересует адоконнешн)
> SCOPE_IDENTITY() без рефреша ?
>
> до рабочего варианта не могу допереть. подскажите пожалуйста.

это вам в форум по вашему клиенту.

Posted via ActualForum NNTP Server 1.4

29 окт 09, 10:52    [7854131]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
car4car
Member

Откуда:
Сообщений: 5
daw

это вам в форум по вашему клиенту.


обоснуй! %)
полагаю, что за работу триггера отвечает, все таки, кто угодно, но не клиент. (делфи, к слову)
выключаю триггер - даже рефрешить не надо - все сразу начинает работать, как было задумано
допускаю, что заблуждаюсь, конечно.

а не могли бы уважаемые отцы смоделировать на своих клиентах мою ситуацию?


=================================
= все еще нет рабочего варианта =
=================================
29 окт 09, 11:40    [7854665]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
Glory
Member

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

это вам в форум по вашему клиенту.


обоснуй! %)

Сервер не может влиять на то, что и как приложение отображет пользователю
29 окт 09, 11:42    [7854688]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> обоснуй! %)

лехко. в таблице оказывается _правильное_ значение IDProject.
неправильное получается _на клиенте_. из-за использования не той
функции для получения идентити.

Posted via ActualForum NNTP Server 1.4

29 окт 09, 11:43    [7854693]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
... а клиент пади акцесс...
За ним такое водитццо!

Сообщение было отредактировано: 29 окт 09, 11:47
29 окт 09, 11:47    [7854729]     Ответить | Цитировать Сообщить модератору
 Re: sp_send_dbmail и IDENTITY  [new]
car4car
Member

Откуда:
Сообщений: 5
tpg
... а клиент пади акцесс...
За ним такое водитццо!


дельфи, обычный дбгрид

...и акцесс, тоже какую-то хню выдаетъ
29 окт 09, 11:59    [7854861]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить