日期:2014-05-17  浏览次数:20465 次

求教关于触发器的问题
有一个表结构如下:
CREATE TABLE [dbo].[T_SelectQuestionBank](
[questionsID] [int] IDENTITY(1024,1) NOT NULL,
[questionsContent] [varchar](5000) NULL,
[optionsA] [varchar](500) NULL,
[optionsB] [varchar](500) NULL,
[optionsC] [varchar](500) NULL,
[optionsD] [varchar](500) NULL,
[rightAnswer] [varchar](10) NULL,
[courseID] [int] NULL,
[knowledgePoint] [int] NULL,
[questionType] [int] NULL,
[imagePath] [varchar](5000) NULL,
[flag] [int] NULL
) ON [PRIMARY]

GO

另一个表结构如下:
CREATE TABLE [dbo].[T_CourseSchedule](
[ID] [int] NULL,
[courseName] [varchar](50) NULL,
[courseID] [int] NOT NULL,
[state] [int] NULL,
[flag] [int] NULL
) ON [PRIMARY]

GO


现在我想用触发器实现更新[T_CourseSchedule]表中的flag字段时同时更新[T_SelectQuestionBank]字段。问题是如何根据[T_CourseSchedule]表中的courseID作为条件更新[T_SelectQuestionBank]表中courseID为[T_CourseSchedule]表中相同的对应的flag字段?以下是我写的触发器:
CREATE TRIGGER T_CourseSchedule_UpdateFlag
ON T_CourseSchedule
AFTER UPDATE
AS
IF UPDATE([flag])
BEGIN 
UPDATE T_SelectQuestionBank SET flag=1
END
GO
 更新语句:
UPDATE T_CourseSchedule SET flag=1 WHERE courseID=5
 如何在触发器中相应获取传入的courseID作为更新条件?
触发器

------解决方案--------------------
该回复于2013-04-12 10:00:05被管理员删除