热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLServer2005创建简单的存储过程--总结分析

本篇文章是对使用SQLServer2005创建简单的存储过程进行了详细的分析介绍,需要的朋友参考下

最近由于工作需要,简单了解了下SQL Server 2005 数据库创建简单的在存储过程。
一、首先说明如何创建存储过程:
CREATE PROCEDUER my_pro @inputDate varchar ,
//声明输入变量 @Result varchar(255) output
//声明输出变量 AS declare @variable1 varchar(255)
//声明varchar变量 declare @variable2 int
//声明整形变量 BEGIN IF ...(条件) BEGIN ....(执行内容) END ELSE BEGIN ....(执行内容) END END
以上就是创建一个简单的存储过程方法。

二、删除存储过程 DROP PROCEDURE my_pro

三、执行存储过程
(1)执行没有参数的存储过程:EXECUTE my_pro
(2)执行有参数的存储过程:
EXECUTE my_pro '输入变量'
(1)执行有参数且有返回值(即有输出变量)的存储过程:
declare @Result varchar(1024)
//声明输出变量 EXECUTE my_pro '输入变量' @Result output
//让该存储过程输出值保存到@Result中 select @Result as result
//查询结果返回

四、例子下面需要将查询多条记录结果,使用一条返回值进行返回。
例如:有表Test中,其中有两个字段为Test01与Test02,把Test01 > 10000的记录,让查询Test02结果进行合并,合并成一条记录来返回。
则返回结果为:WSXEDCRFVTGB. Test01 Test02 10000 QAZ 10001 WSX 10002 EDC 10003 RFV 10004 TGB 那么,使用存储过程,使用存储过程中的游标,可以进行for循环来进行多条记录的合并。将可以解决这个问题。
具体存储过程如下:
DROP PORCEDURE my_Cursor
//习惯性,创建之前,先看看该存储过程是否存在 CREATE PROCEDURE my_Cursor @id int ,
//声明输入变量
@Result varchar(255) output
//声明输出变量,注意一定要有output关键字,否则默认为输入变量 AS Declare city_cursor cursor for
–声明游标变量 Select [Test01] from Test where Test01 > @id
–其中@id为输入变量 Set @Result = ‘'
–设置变量@Result值 Declare @Field int
–声明临时存放查询到的Test01的变量 Open city_cursor
–打开游标 Fetch next from city_cursor into @Field
–将实际Test01赋给变量,进行循环 While(@@fetch_status=0)
–循环开始 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 END Close city_cursor
–关闭游标 Deallocate city_cursor
–释放游标引用 GO (结束) 以下是执行 Declare @Result varchar(1024) EXECUTE my_pro 10000 ,@Result output
–output关键字一定得写,如果是多个输入参数,则使用“,”号来区分 Select @Result as result –查询结果


推荐阅读
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • 一基础代码检查    检查以bm_开头的系统初始化编码表是否有空值。与业务系统相关的编码项不能存在空值,会导致系统业务无法办理。为初始化数据表、在做测试数据和正式上线前检查。上线 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
author-avatar
阿Love静_999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有