MSSQL中实现多表更新
时间:2011-04-09 来源:何朝阳
续2010年11月09日的《SQL语句中CASE WHEN以及CAST的运用》一文,如果在基础数据教师表中添加了新的教师用户,而恰好添加的教师已经存在于教学成果数据中,则需要更新教学成果数据中该教师的信息,即:之前存储的是教师的姓名,添加教师后,则应该存储教师的编号。于是需要定期检查是否有新添加的教师信息,需要跨表更新教学成果数据。
以下是实现方法:
UPDATE Web_TeacherIDList SET TeacherID = BaseInfo_Teacher.TeacherID FROM Web_TeacherIDList INNER JOIN BaseInfo_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 BEGIN UPDATE Web_TeacherIDList SET TeacherID = BaseInfo_Teacher.TeacherID FROM Web_TeacherIDList INNER JOIN BaseInfo_Teacher ON Web_TeacherIDList.TeacherID = BaseInfo_Teacher.TeacherName RETURN @@ROWCOUNT END
相关阅读 更多 +