SQL Server 2005 创建简单的存储过程--总结分析
//让该存储过程输出值保存到@Result中 select @Result as result
–释放游标引用 GO (结束) 以下是执行 Declare @Result varchar(1024) EXECUTE my_pro 10000 ,@Result output
(1)执行没有参数的存储过程:EXECUTE my_pro
//声明输入变量
例如:有表Test中,其中有两个字段为Test01与Test02,把Test01 > 10000的记录,让查询Test02结果进行合并,合并成一条记录来返回。
三、执行存储过程
二、删除存储过程 DROP PROCEDURE my_pro
(2)执行有参数的存储过程:EXECUTE my_pro '输入变量'
//声明整形变量 BEGIN IF ...(条件) BEGIN ....(执行内容) END ELSE BEGIN ....(执行内容) END END
//查询结果返回//声明输出变量,注意一定要有output关键字,否则默认为输入变量 AS Declare city_cursor cursor for
–循环下一个Test01 END Close city_cursor
–设置变量@Result值 Declare @Field int
–其中@id为输入变量 Set @Result = ‘'
四、例子下面需要将查询多条记录结果,使用一条返回值进行返回。
//声明输出变量 AS declare @variable1 varchar(255)
//声明输出变量 EXECUTE my_pro '输入变量' @Result output
//习惯性,创建之前,先看看该存储过程是否存在 CREATE PROCEDURE my_Cursor @id int ,
具体存储过程如下:
以上就是创建一个简单的存储过程方法。
–关闭游标 Deallocate city_cursor
(1)执行有参数且有返回值(即有输出变量)的存储过程:
–声明游标变量 Select [Test01] from Test where Test01 > @id
–循环开始 BEGIN If @Result = ‘' BEGIN Select @Result = Test02 from Test where Test01 = @Field END ELSE BEGIN Select @Result = @Result + ‘,' + Test02 from Test where Test01 = @Field END Fetch next from city_cursor into @Field
–将实际Test01赋给变量,进行循环 While(@@fetch_status=0)
declare @Result varchar(1024)
//声明输入变量 @Result varchar(255) output
则返回结果为:WSXEDCRFVTGB. Test01 Test02 10000 QAZ 10001 WSX 10002 EDC 10003 RFV 10004 TGB 那么,使用存储过程,使用存储过程中的游标,可以进行for循环来进行多条记录的合并。将可以解决这个问题。
一、首先说明如何创建存储过程:
DROP PORCEDURE my_Cursor
最近由于工作需要,简单了解了下SQL Server 2005 数据库创建简单的在存储过程。
CREATE PROCEDUER my_pro @inputDate varchar ,
@Result varchar(255) output
–打开游标 Fetch next from city_cursor into @Field
–output关键字一定得写,如果是多个输入参数,则使用“,”号来区分 Select @Result as result –查询结果
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/mssql/1874.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
SQL基本教程之行转列Pivo
时间:2021-01-20
-
region from hr.Employees union
时间:2021-01-20
-
有时候需要调整用户权限
时间:2021-01-19
-
(但使用 ORDER BY 子句并不
时间:2021-01-19
-
RAND()*10000)insert into Detail
时间:2021-01-19
-
OR 运算符:在两侧的查询
时间:2021-01-19
-
放假之前老大跟我提起了
时间:2021-01-19
-
数据库的运维计策剧本篇
时间:2021-01-19
热门文章
-
4.与聚合函数和 GROUP BY 子句有关的常见错
时间:2021-01-19
-
SQL Server安全(11/11):审核(Auditing)
时间:2021-01-09
-
sqlserver中查询横表变竖表的sql语句简析
时间:2020-12-08
-
SQL Server简单模式下误删除堆表记录恢复方
时间:2020-12-12
-
关于SQL Server查询语句的使用
时间:2020-12-13
-
MSSQL教程_mssql数据库教程_MSSQL基础教程_第
时间:2020-12-13
-
jdbc连接sql server数据库问题分析
时间:2020-12-10
-
详解SQL游标的用法
时间:2020-12-27
-
sql server 关于设置null的一些建议
时间:2020-12-28
-
mssql关于一个表格结构的另外一种显示(表
时间:2020-12-11
