实现SQL Server动态游标的创建步骤

数据库 SQL Server
我们今天主要向大家讲述的是正确实现SQL Server动态游标的创建步骤,以及在实际操作中一些值得我们大家注意的事项描述。

以下的文章主要向大家讲述的是实现SQL Server动态游标的创建步骤,以及对其实际操作功能,参数描述,以及创建SQL Server动态游标的基本思路的描述,下面就是文章的主要内容的详细描述。

  1. CREATE PROCEDURE Usp_CreateCursor(@Select_Command varchar(8000),@Cursor_Return CURSOR VARYING OUTPUT) AS 

 

存储过程名称:Usp_CreateCursor

 

功能描述: 根据指定的SELECT创建一个动态游标

 

参数描述: @Select_Command ---SELECT语句;@Cursor_Return ---要返回的游标变量

 

思路: SQL Server动态游标的关键是不知如何去构造它的SELECT语句,因为SELECT是个字符串表量,定义时不能直接用它,但它可以来源于表。

 

所以我的目的就是创建一个统一的表,从中取数据不就可以了。建表有一定的语法规则,所以就应该根据栏位列表生成相应的

 

格式,这个可以从系统表中获取。关键的问题是如何将数据插入到临时表,我摸索出一条语句可

 

实现这个功能,那就是INSERT INTO <TABLE_NAME> EXECUTE <SQL>,而SQL7.0的帮助未讲。有表有数据就可以创建了。

 

 

 

Declare @Select_Command_Temp Varchar(8000), ---存放SELECT临时语法

 

@Table_List varchar(255), ---存放表的列表

 

@Column_List varchar(8000),---存放栏位列表

 

@Table_Name varchar(30),---存放单独表名

 

@Column_Name varchar(30),---存放单独栏位名(但有可能是*)

 

@Column_Syntax varchar(8000),---存放栏位建表时的语法(综合)

 

@Column_Name_Temp varchar(30),---存放栏位名称

 

@Column_Type_Temp varchar(30),----存放栏位类型

 

@Column_Syntax_Temp varchar(8000),---存放栏位建表时的语法(单个)

 

@Column_Length_Temp int,---存放栏位长度

 

@Column_Xprec_Temp int,---存放栏位精度

 

@Column_Xscale_Temp int,---存放栏位小数位数

 

@From_Pos int,---存放from的位置

 

@Where_Pos int,---存放where的位置

 

@Having_Pos int,---存放having的位置

 

@Groupby_Pos int,---存放groupby的位置

 

@Orderby_Pos int,---存放orderby的位置

 

@Temp_Pos int,---临时变量

 

@Column_Count int,---存放栏位总数

 

@Loop_Seq int---循环步进变量

 

以上的相关内容就是对SQL Server动态游标的创建的介绍,望你能有所收获。 

【编辑推荐】

  1. SQL Server 2000 安装时出现的症状归纳
  2. 向外扩展SQL Server实现更高扩展性
  3. SQL Server分布式分区视图简介
  4. 不同版本SQL Server数据库的存储数据方案
  5. 正确识别SQL Server 版本号的操作方案
责任编辑:佚名 来源: 互联网
相关推荐

2010-05-06 11:02:26

Oracle游标

2010-11-12 10:31:25

SQL Server游

2010-07-14 15:32:28

SQL Server

2010-07-26 10:59:59

SQL Server游

2010-09-10 16:20:10

SQL函数

2010-09-08 09:11:42

SQL游标语法

2010-09-09 08:52:19

JavascriptDIV

2010-04-21 15:52:45

Oracle游标

2013-05-20 16:09:39

SQL Server

2010-07-23 18:33:57

SQL Server游

2010-09-01 15:09:41

DB2动态游标

2010-07-26 11:27:43

SQL Server打

2010-09-01 15:15:20

DB2动态游标

2010-10-22 13:34:49

SQL Server游

2010-07-16 11:10:52

SQL server

2010-05-26 16:41:09

MySQL 游标

2022-05-11 15:06:02

MySQL游标SQL

2010-10-21 14:06:22

定义SQL Serve

2010-04-21 15:02:50

Oracle使用游标

2010-04-21 15:10:35

Oracle游标
点赞
收藏

51CTO技术栈公众号