SQLServer向临时表插入数据示例
时间:2021-07-01 10:21:17
帮助过:296人阅读
代码如下:
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秒就搞定。
您可能感兴趣的文章:
- 对比Oracle临时表和SQL Server临时表的不同点
- MySQL中临时表的基本创建与使用教程
- SQL Server 表变量和临时表的区别(详细补充篇)
- sql server中判断表或临时表是否存在的方法
- sql server 创建临时表的使用说明
- sql server创建临时表的两种写法和删除临时表
- MySQL中关于临时表的一些基本使用方法
- MySQL使用临时表加速查询的方法
- sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享
- 解析Mysql临时表及特点
- mysql 临时表 cann''t reopen解决方案
- oracle 临时表详解及实例