以下的文章主要向大家讲述的是实现SQL Server动态游标的创建步骤,以及对其实际操作功能,参数描述,以及创建SQL Server动态游标的基本思路的描述,下面就是文章的主要内容的详细描述。
- 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动态游标的创建的介绍,望你能有所收获。
【编辑推荐】
- SQL Server 2000 安装时出现的症状归纳
- 向外扩展SQL Server实现更高扩展性
- SQL Server分布式分区视图简介
- 不同版本SQL Server数据库的存储数据方案
- 正确识别SQL Server 版本号的操作方案
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/262425.html<

