SQL---存储过程---存储过程编写案例

时间:2022-09-13 18:05:13

存储过程的创建和调用演示

1.不带参数的存储过程的创建

create procedure PRO_With_No_Param
as
Begin --begin可省略
select * from sc
end --end可省略
--调用
exec PRO_With_No_Param

2.带参数的存储过程的创建

create procedure PRO_With_Param
(
@Sno char(5),
@Cno char(1)
)
as
Begin
select * from SC where Sno=@Sno and Cno=@Cno
end
--调用
exec PRO_With_Param ]09002','2'

3.带一个参数的多表联合查询

create procedure PRO_Query_Double_Table
(
@Sname_IN char(6)
)
as
begin
select Sname,Ssex,Sage,Cno,Grade from STU,SCTU where STU.Sno=SCTU.sno and Sname=@Sname_IN
--调用
exec PRO_Query_Double_Table '222'

4.创建一个插入表的存储过程

create procedure PRO_Insert
(
@Sno_IN char(5),
@Cno_IN char(5),
@Grade_IN int
)
as
begin
insert into SC (Sno,Cno,Grage) values (@Sno_IN,@Cno_IN,@Grade_IN)
end
--调用
exec PRO_Insert '0900','2',2

5.默认参数的存储过程

create procedure PROC_With_Default_Param
(
@Sno_IN char(5)='0900',
@Cno_IN char(1)='2'
)
as
begin
select * from SC where SC where Sno=@Sno_IN and Cno=@Cno_IN
end
--调用:这种存储过程有三种方式进行调用1.全部使用默认值,2.部分使用默认值。3.全部使用输入值
exec PROC_With_Default_Param
exec PROC_With_Default_Param '09'
exec PROC_With_Default_Param '09','1'

6.使用带输出参数的存储过程

create procedure PROC_With_Out_Param
(
@Grade_OUT int output
)
as
begin
select @Grade_OUT=Grade from SC where Sno='0900' and Cno='2'
end Declare @Grade_Result int --声明一个变量来存储输出参数输出的值
exec PROC_With_Out_Param @Grade_OUT=@Grade_Result output
print @Grade_Result
--写控制逻辑
if @Grade_Result>=90
print 'a'
elseif (@Grade_Result<90 and @Grade_Result>85)
print '2'
else
print '22'

7.使用一个值来保存执行后的状态

create procedure PROC_With_Status_Value
(
@Sno_IN char(5)
)
as
begin
select * from SC where Sno=@Sno_IN
end
--使用记录状态的执行
declare @status int
exec @status=PROC_With_Status_Value @Sno_IN='00'
print @status if(@status=0)
print '1'
else
print '0'

8.输入输出参数的存储过程

create procedure PROC_With_In_And_Out_Param
(
@Sno_IN char(5),
@Grade_Out int output
) as
begin
select @Grade_Out=Grade from SC where Sno=@Sno_IN
end
--执行存储过程
declare @Grade_Result int
exec PROC_With_In_And_Out_Param @Sno_IN='0900',@Grade_Out=@Grade_Reault output
print @Grade_Result

  

  

SQL---存储过程---存储过程编写案例的更多相关文章

  1. SQL Server在存储过程中编写事务处理代码的三种方法

    SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码.希望能够对您有所 ...

  2. Sql 中存储过程详细案例

    转自:http://www.cnblogs.com/yank/p/4235609.html 概念 存储过程(Stored Procedure):已预编译为一个可执行过程的一个或多个SQL语句. 创建存 ...

  3. SQL Server 存储过程

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  4. &lbrack;转&rsqb;SQL Server 存储过程 一些常用用法(事物、异常捕捉、循环)

      最新更新请访问: http://denghejun.github.io Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中 ...

  5. java 调用 sql server存储过程

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  6. SQL Server 存储过程(转)

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  7. SQL Server存储过程Return、output参数及使用技巧

    SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...

  8. 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦

           上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...

  9. SQL Server 存储过程&lpar;转载&rpar;

    SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这 ...

  10. SQL Server存储过程(转载)

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

随机推荐

  1. 子代选择器(&gt&semi;)后代选择器(&&num;39&semi; &&num;39&semi;)的区别

    子代选择器是指紧接着父级的那个标签,如:container>a指的是紧接着container后面的第一个a(儿子级别的,孙子或者之后的a是不能生效的) 后代选择器是用空格分开的,如:contai ...

  2. 005-Scala数组操作实战详解

    005-Scala数组操作实战详解 Worksheet的使用 交互式命令执行平台 记得每次要保存才会出相应的结果 数组的基本操作 数组的下标是从0开始和Tuple不同 缓冲数组ArrayBuffer( ...

  3. Maven与Ant使用reportNG代替testng

    大家在使用TestNG时一定会发现其本身的报告生成不但简陋而且相当的不美观,而ReportNG正是一款为TestNG量身定做的报告生成插件,其报告美观.简约.清晰.漂亮的特点让很多TestNG开始慢慢 ...

  4. 【技术】JavaSE环境下JPA实体类自动注册

    在没有容器支持的环境下,JPA的实体类(Entity)一般要在persistence.xml中逐个注册,类似下面这样: <?xml version="1.0" encodin ...

  5. php的单例模式

    据说,单例模式是设计模式中最简单的一种. 不多说,先上代码,然后解说,一共两个文件: danli.class <?php class Danli { //保存类的实例的静态成员变量 static ...

  6. aspcms网站访问出现3706错误, 错误描述&colon;未找到提供程序。该程序可能未正确安装,解决的方法。

       

  7. CentOS学习笔记--JDK安装

    JDK安装 大部分的服务都离不开JAVA环境,CentOS里都是OpenJDK,显然我们还是使用JAVA的JDK好.(注:minimal版没有安装OpenJDK,其它版本需要删除这个.) JDK下载 ...

  8. 轻松学Linux之使用转义字符

         转义字符是C语言中表示字符的一种特殊形式.通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),在Unix操作系统中有一类特殊的字符 ...

  9. 打开URL操作

    /* * 打开 url 的两种方法 */ public class OpenUrl { public static void main(String[] args) { String url = &q ...

  10. SourceTree安装教程和破解教程

    SourceTree破解版是一款非常实用的编程工具,这是一款专业的Git和Hg客户端,界面简洁,操作简单易上手,是开发者的必备工具,欢迎大家来绿色资源网下载体验!SourceTree是一款免费的Git ...