复制代码 代码如下:
INSERT INTO #DirtyOldWIPBOM SELECT TOP (100) PERCENT dbo.WIP_BOM.Model, dbo.WIP_BOM.PartNumber,WIP_BOM.WIP
FROM dbo.WIP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.WIP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.WIP_BOM.PartNumber) = LTRIM(dbo.BOM_CHINA.PartNumber) AND dbo.WIP_BOM.Qty = dbo.BOM_CHINA.Qty AND BOM_CHINA.WIP=
WIP_BOM.WIP WHERE (dbo.BOM_CHINA.Model IS NULL) AND EXISTS(SELECT * FROM dbo.BOM_CHINA WHERE WIP = WIP_BOM.WIP AND LTRIM(Model) = LTRIM(WIP_BOM.Model))
这样就可以成功。
复制代码 代码如下:
但SELECT TOP (100) PERCENT dbo.WIP_BOM.Model, dbo.WIP_BOM.PartNumber,WIP_BOM.WIP into #DirtyOldWIPBOM
FROM dbo.WIP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.WIP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.WIP_BOM.PartNumber) = LTRIM(dbo.BOM_CHINA.PartNumber) AND dbo.WIP_BOM.Qty = dbo.BOM_CHINA.Qty AND BOM_CHINA.WIP=
WIP_BOM.WIP WHERE (dbo.BOM_CHINA.Model IS NULL) AND EXISTS(SELECT * FROM dbo.BOM_CHINA WHERE WIP = WIP_BOM.WIP AND LTRIM(Model) = LTRIM(WIP_BOM.Model))
会提示error "There is already an object named '#DirtyOldWIPBOM' in the database"
为什么?
[笔记]:千万不要用游标,用临时表和表变量代替游标会极大的提高性能,今天用游标处理700行数据用了2小时,用临时表不到1秒就搞定。
您可能感兴趣的文章:- SQLServer中临时表与表变量的区别分析
- sql server创建临时表的两种写法和删除临时表
- sqlserver 临时表的用法
- sql server 临时表 查找并删除的实现代码
- sql server中判断表或临时表是否存在的方法
- sqlserver 临时表 Vs 表变量 详细介绍
- sqlserver 动态创建临时表的语句分享
- SQL Server 表变量和临时表的区别(详细补充篇)
- sql server 创建临时表的使用说明
- SQL SERVER临时表排序问题的解决方法