帮忙优化一下存储过程! 谢谢!

duzidengdai521 duzidengdai521 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
由于数据量太大 这个存储过程 执行起来 太慢了 谁能帮忙优化一下 实现同样的功能 谢谢!



CREATE PROCEDURE peoplechange
AS
begin
declare @sqlStr varchar(5000)
declare @oldBaseName varchar(50)
declare @newBaseName varchar(50)
set @oldBaseName='icme'
set @newBaseName='icme2'
while @@fetch_status = 0
begin

----上课表
select @sqlStr='insert into '+@newBaseName+'..上课表'
select @sqlStr=@sqlStr+'(id,课题编号,人员编号,日期,状态) '
select @sqlStr=@sqlStr+'select left(newid(),35),isnull('+@oldBaseName+'..上课表.课题编号,'' ''),isnull('+@oldBaseName+'..上课表.人员编号,'' ''),isnull('+@oldBaseName+'..上课表.日期,'' ''),0 '
select @sqlStr=@sqlStr+'from '+@oldBaseName+'..上课表 where 课题编号 not in(select 课题编号 from '+@newBaseName+'..上课表) or 人员编号 not in (select 人员编号
from '+@newBaseName+'..上课表) or 日期 not in (select 日期 from '+@newBaseName+'..上课表)'

exec(@sqlStr)

end
end
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
duzidengdai521
MS-SQL Server 34,876 成员 254,635 内容