当前位置:
文档之家› SQL Server 向临时表插入数据示例
SQL Server 向临时表插入数据示例
SQL Server 向临时表插入数据,用临时表和表变量代替游标会极大的提高性能,下面有个示例,大家可以参考下 复制代码 代码如下:
SQL SirtyOldW IPBOM SELECT TOP (100) PERCENT dbo.W IP_BOM.Model, dbo.W IP_BOM.PartNumber,W IP_BOM.W IP FROM dbo.W IP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.W IP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.W IP_BOM.PartNumber) = LTRIM(dbo.BOM_CHINA.PartNumber) AND dbo.W IP_BOM.Qty = dbo.BOM_CHINA.Qty AND BOM_CHINA.W IP= W IP_BOM.W IP W HERE (dbo.BOM_CHINA.Model IS NULL) AND EXISTS(SELECT * FROM dbo.BOM_CHINA W HERE W IP = W IP_BOM.W IP AND LTRIM(Model) = LTRIM(W IP_BOM.Model))
这样就可以成功。 复制代码 代码如下: 但SELECT TOP (100) PERCENT dbo.W IP_BOM.Model, dbo.W IP_BOM.PartNumber,W IP_BOM.W IP into #DirtyOldW IPBOM
FROM dbo.W IP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.W IP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.W IP_BOM.PartNumber) = LTRIM(dbo.BOM_CHINA.PartNumber) AND dbo.W IP_BOM.Qty = dbo.BOM_CHINA.Qty AND BOM_CHINA.W IP= W IP_BOM.W IP W HERE (dbo.BOM_CHINA.Model IS NULL) AND EXISTS(SELECT * FROM dbo.BOM_CHINA W HERE W IP = W IP_BOM.W IP AND LTRIM(Model) = LTRIM(W IP_BOM.Model))
会提示error "There is already an object named '#DirtyOldW IPBOM' in the database" 为什么?
[ 笔记]:千万不要用游标,用临时表和表变量代替游标会极大的提高性能,今天用游标处理700 行数据用了2 小时,用临时表不到1 秒就搞定。 您可能感兴趣的文章 : sqlserver2005 利用临时表和@@Row Count 提高分页查询存储过程性能示例分享 关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb) sqlserver 临时表 Vs 表变量 详细介绍 sqlserver 临时表的用法 SQLServer中临时表与表变量的区别分析 sql server 临时表 查找并删除的实现代码 浅析SQL server 临时表