MSSQL中实现多表更新
2011-04-09 12:42 何朝阳 阅读(603) 评论(0) 编辑 收藏 举报续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
版权声明:
本文原创发表于博客园,作者为何朝阳,博客http://www.cnblogs.com/hechaoyang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
本文原创发表于博客园,作者为何朝阳,博客http://www.cnblogs.com/hechaoyang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。