Mình có cái ví dụ này bạn xem thử nhe , ở đây mình dùng viết trigger gọi stored procedure .
Mình tạo 2 table có cùng cấu trúc :
Table test
Code:
CREATE TABLE [dbo].[test](
[id] [int] NULL,
[name] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descs] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
Table test2
Code:
CREATE TABLE [dbo].[test](
[id] [int] NULL,
[name] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descs] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
Trigger
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[hello] ON [dbo].[test] FOR INSERT
AS
DECLARE @id int ,
@name nvarchar(50),
@desc nvarchar(50)
SELECT @id=id , @name=name , @desc=descs FROM INSERTED
IF @id=1
BEGIN
SET @id=@id+100
EXEC sp_test2 @id ,@name ,@desc
END
ELSE IF @id=2
BEGIN
SET @id=@id+200
EXEC sp_test2 @id ,@name ,@desc
END
ELSE
BEGIN
SET @id=@id+300
EXEC sp_test2 @id ,@name ,@desc
END
Stored procedure
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_test2]
@id int ,
@name nvarchar(50),
@desc nvarchar(50)
AS
INSERT INTO test2 VALUES(@id ,@name, @desc)
Bạn hãy insert dữ liệu vào bảng test sau đó select dữ liệu từ bảng test2 xem thử , chúc bạn thành công !
Bookmarks