查找触发器中字段中具有相同值的所有记录

时间:2011-07-03 12:59:07

标签: sql sql-server tsql

我正在尝试从表

编写一个后插入触发器
   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的行数。

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,
 )

我需要将该值存储为变量中的int。

谢谢,

1 个答案:

答案 0 :(得分:0)

您要加入特殊INSERTED table(仅在触发器中可用)到[dbo]。[部件]以获取COUNT。

一些想法:

  • 您必须考虑触发器中的多行插入/更新。例如,你可以有2个assembly_ids
  • 分配给变量时,您想用它做什么?触发器
  • 外不会显示该值
  • 使用存储过程进行处理可能会更好,并使用OUTPUT clause从INSERT中获取数据