当前位置:Gxlcms > mssql > SQLServer向临时表插入数据示例

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 临时表详解及实例

人气教程排行