实例学习mssql存储过程分析
例1:通过存储过程查询数据库中的student表
我们知道在sql中,我们查询一个表,可以通过 select * from student 进行查询,那在存储过程中该怎么写呢?
解:
首先我们打开查询分析器,(以下举的例子中的存储过程都用查询管理器来创建);
然后我们先来创建一个存储过程以备等会使用,(就好像在编程中我们先来编一个函数一样):
create procedure proc_stu
as
select * from student
go
这样一个存储过程就创建好了,现在我们来执行一下
我们可以在查询分析器中输入:execute proc_stu 便可以看到效果
分析一下上面的例子,proc_stu为存储过程名,select * from student很显然就是SQL语句了,执行的时候我们只需要execute(执行) 存储过程名,就可以了.其中 , procedure 和 execute 可以分别缩写为 proc 和 exec
以上演示了一个很简单的存储过程.下面我们来看一下带参数的存储过程
例2.查询student表中sno(学号)为 ' s1 '的记录
create proc proc_stu
@ ssno varchar(10)
as
select * from student where sno = @ ssno
go
这样一个带参数的存储过程就OK了,"@ 变量名"是sql 中用来表示用户自定义的参数的方法,有些朋友可能还看到过"@@变量名",这个是系统自带的.也就是说这个变量名是系统定义的,不能随便乱改.这样分析后,相信大家应该看得懂了吧.
执行带参数的存储过程,需要使用如下语句:exec proc_stu s1 也可以不写参数,不过这样的话,必须首先在创建存储过程中加参数赋值,可以赋Null,否则,系统会报错.
最后我们来讲一下如何利用存储过程返回一个值:
例3.返回student表中学生数
方法一:(使用外部变量output)
create proc proc_stu
@ num int output --注明是外部变量
as
select @ num = count ( * ) from student
go
现在我们来执行下:
要使用外部变量,我们先要进行声明:declare @ return我们用这个变量来接收存储过程中的外部变量
execute proc_stu , @ num = @ return output
这样我们便得到了这个返回值,现在我们通过如下赋值语句来显示这个返回值
select ' return ' = @ return
方法二(使用return):
注:return 只能返回整形数据
create proc proc_stu
@ num int
as
select @ num = count ( * ) from student
return @ num
go
我们来执行下:
declare @ return
exec @ return = proc_stu
select ' return ' = @ return
分享到:
相关推荐
MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...
### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...
本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。
本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
在"MySQL存储过程.doc.doc"文档中,可能会详细讲解这些概念,并通过实例来展示如何创建、调用和管理存储过程,包括如何处理各种异常情况,以及如何利用存储过程提高数据库应用的效率和安全性。深入理解并熟练运用...
### MySQL存储过程详解 #### 一、存储过程概述 存储过程是一种特殊类型的SQL代码集合,它们预先被编译并存储在数据库服务器上。用户可以通过指定存储过程名称并提供必要的参数来执行这些存储过程。这种机制提供了...
给了一个小的mysql 存储过程的例子。同时给出了一个在pb9中调用的例子.本例子是给出的mysql8.0的存储过程。对于5.7一下的现在odbc很难有支持
在学习过程中,你可以通过实例练习来熟悉这些概念,例如创建一个简单的存储过程来计算两个数字的和,或者创建一个复杂的存储过程来处理多表之间的数据操作。同时,了解如何在实际项目中应用存储过程,将有助于你更好...
根据给定的信息,我们可以深入探讨PHP与MySQL存储过程的相关知识点,包括如何在MySQL中使用`CONCAT`函数、创建存储过程以及如何通过PHP脚本来调用这些存储过程。 ### 使用 CONCAT 函数 #### 标题中的示例 ```sql ...
在描述中提到的"mysql存储过程调试工具"应该就是这类工具的一个实例,它无需复杂的安装步骤,只需解压后即可开始使用,适应于多种MySQL版本,提高了开发者的灵活性。 在实际使用中,调试工具通常包含以下核心功能:...
在这个实例中,我们看到一个名为`Sum_wage`的存储过程,它的主要目的是对`ProWage`表中的工资进行加薪操作。 首先,存储过程的创建使用了`CREATE PROCEDURE`语句,定义了一个名为`Sum_wage`的过程,并接受三个参数...
存储过程文档--MySQL 存储过程是 MySQL 中的一个强大功能,它允许用户预先将常用的或复杂的工作写入 SQL 语句,并将其存储起来,以便在以后的数据库操作中可以快速调用和执行。存储过程可以提高数据库的执行速度,...
综上所述,“MySQL存储过程.pdf”这份文档可能会详细解释以上各个知识点,并通过实例展示如何在实际开发中应用这些概念。通过深入学习和理解这些内容,开发者能够更有效地利用MySQL存储过程提升数据库应用的效率和...
MySQL存储过程实例教程 MySQL存储过程是数据库存储的一个重要的功能,它允许控制数据的访问方式,提供了灵活的编程方式,提高了数据库的处理速度和灵活性。本教程将详细介绍 MySQL 存储过程的概念、优点、创建和...
本文实例讲述了mysql存储过程之错误处理。分享给大家供大家参考,具体如下: 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息。其中mysql提供了一种简单的...