续2010年11月09日的《SQL语句中CASE WHEN以及CAST的运用》一文,如果在基础数据教师表中添加了新的教师用户,而恰好添加的教师已经存在于教学成果数据中,则需要更新教学成果数据中该教师的信息,即:之前存储的是教师的姓名,添加教师后,则应该存储教师的编号。于是需要定期检查是否有新添加的教师信息,需要跨表更新教学成果数据。
以下是实现方法:
UPDATE Web_TeacherIDListSET TeacherID = BaseInfo_Teacher.TeacherIDFROM Web_TeacherIDList INNER JOINBaseInfo_Teacher ON Web_TeacherIDList.TeacherID = BaseInfo_Teacher.TeacherName
还可以通过RETURN @@ROWCOUNT获得更新的数据条数,以下是存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go-- =============================================
-- Author: 何朝阳
-- Create date: 2011年4月9日10:59:27
-- Description: 更新教师列表
-- =============================================
CREATE PROCEDURE [dbo].[UP_TIMS_Web_Update_TeacherIDList]
AS
BEGINUPDATE Web_TeacherIDListSET TeacherID = BaseInfo_Teacher.TeacherIDFROM Web_TeacherIDList INNER JOINBaseInfo_Teacher ON Web_TeacherIDList.TeacherID = BaseInfo_Teacher.TeacherNameRETURN @@ROWCOUNT
END