SQL优化技巧-批处理替代游标
Posted xianeri
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL优化技巧-批处理替代游标相关的知识,希望对你有一定的参考价值。
通过MSSQL中的用户自定义表类型可以快速将需要处理的数据存储起来,生成新的临时表(这里使用变量表),然后根据表中字段进行批处理替代游标。
用户自定义表类型
0 --创建用户自定义表类型
1 Create Type [dbo].[type_XXXTable] As Table( 2 [Item1] [Varchar](255) Null, 3 [Item2] [Varchar](255) Null, 4 [Item3] [Varchar](255) Null, 5 [Item4] [Varchar](255) Null, 6 [Item5] [Varchar](255) Null, 7 [Item6] [Varchar](255) Null, 8 [Item7] [Varchar](255) Null, 9 [Item8] [Varchar](255) Null, 10 [Item9] [Varchar](255) Null, 11 [Item10] [Varchar](255) Null, 12 [ItemInt1] [Int] Null, 13 [ItemInt2] [Int] Null, 14 [ItemInt3] [Int] Null, 15 [ItemInt4] [Int] Null, 16 [ItemInt5] [Int] Null, 17 [ItemFloat1] [Decimal](28, 8) Null, 18 [ItemFloat2] [Decimal](28, 8) Null, 19 [ItemFloat3] [Decimal](28, 8) Null, 20 [ItemFloat4] [Decimal](28, 8) Null, 21 [ItemFloat5] [Decimal](28, 8) Null, 22 [ItemDateTime1] [DateTime] Null, 23 [ItemDateTime2] [DateTime] Null 24 ) 25 Go
0 --引用新数据表类型存储t_XXX表的FieldName1
1 Declare @XXX type_XXXTable 2 Insert Into @XXX(Item1) --Item1为刚才创建表类型的第一个字段 3 Select FIeldNmae1 From t_XXX
1 --将游标动作改写为表处理 2 eg: 3 Select FieldName1 Into #t_XXX
2018-07-14 14:34:38
以上是关于SQL优化技巧-批处理替代游标的主要内容,如果未能解决你的问题,请参考以下文章
PB powerbuilder中使用datastore替代游标
在 Oracle 10g 的 SQL 过程中使用游标的任何替代方法?