Найти все записи с одинаковым значением в поле внутри триггера - PullRequest
0 голосов
/ 03 июля 2011

Я пытаюсь написать триггер после вставки из таблицы

   CREATE TABLE [dbo].[PartsWork](
     [parts_work_id] [int] IDENTITY(1,1) NOT NULL,
     [experiment_id] [int] NOT NULL,
     [partition_id] [int] NULL,
     [sim_time] [time](7) NULL,
     [real_time] [datetime] NULL,
     [construction] [bit] NULL,
     [destruction] [bit] NULL,
     [part_id] [int] NOT NULL,
    )

Мне нужно выяснить, сколько строк имеют тот же ассемблерный_идид, что и вставленный набор.

assembly_id - это поле в следующей таблице:

CREATE TABLE [dbo].[Parts](
[part_id] [int] IDENTITY(1,1) NOT NULL,
[part_name] [nvarchar](50) NULL,
[part_type] [nvarchar](50) NULL,
[assembly_id] [int] NOT NULL,
 )

Мне нужно сохранить это значение как переменную в переменной.

Спасибо,

1 Ответ

0 голосов
/ 03 июля 2011

Вы бы присоединились к специальной таблице INSERTED (доступно только в триггерах) в [dbo]. [Parts], чтобы получить COUNT.

Некоторые мысли:

  • Вы должны учитывать многострочные вставки / обновления в триггере. Вы могли бы иметь 2 assembly_ids например
  • Когда вы назначаете переменную, что вы хотите с ней делать? Значение не будет видно вне триггера
  • Возможно, вам лучше использовать хранимую процедуру для вашей обработки и использовать предложение OUTPUT для получения данных из INSERT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...