SQL---存储过程---存储过程编写案例
存储过程的创建和调用演示
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---存储过程---存储过程编写案例的更多相关文章
- SQL Server在存储过程中编写事务处理代码的三种方法
SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码.希望能够对您有所 ...
- Sql 中存储过程详细案例
转自:http://www.cnblogs.com/yank/p/4235609.html 概念 存储过程(Stored Procedure):已预编译为一个可执行过程的一个或多个SQL语句. 创建存 ...
- SQL Server 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- [转]SQL Server 存储过程 一些常用用法(事物、异常捕捉、循环)
最新更新请访问: http://denghejun.github.io Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中 ...
- java 调用 sql server存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- SQL Server 存储过程(转)
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- SQL Server存储过程Return、output参数及使用技巧
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦
上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...
- SQL Server 存储过程(转载)
SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这 ...
- SQL Server存储过程(转载)
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
随机推荐
- Java数据结构和算法总结-字符串及高频面试题算法
前言:周末闲来无事,在七月在线上看了看字符串相关算法的讲解视频,收货颇丰,跟着视频讲解简单做了一下笔记,方便以后翻阅复习同时也很乐意分享给大家.什么字符串在算法中有多重要之类的大路边上的客套话就不多说 ...
- 用Eclipse 搭建一个Maven Spring SpringMVC 项目
1: 先创建一个maven web 项目: 可以参照之前的文章: 用Maven 创建一个 简单的 JavaWeb 项目 创建好之后的目录是这样的; 2: 先配置maven 修改pom.xml & ...
- 【转】Sizeof与Strlen的区别与联系
原文地址:http://www.cnblogs.com/carekee/articles/1630789.html 1.sizeof sizeof(...)是运算符,在头文件中typedef为uns ...
- Windows NT 之父 - David Cutler
David Cutler,大卫·卡特勒,一位传奇程序员,1988年去微软前号称硅谷最牛的内核开发人员,是VMS和Windows NT的首席设计师,被人们成为“操作系统天神”.他曾供职于杜邦.DEC等公 ...
- angular指令中的preLink函数和postLink函数
指令模板选项有complie和link两个字段,两者之间存在如下关系: 当compile字段存在时,link字段将被忽略,compile函数的返回值将作为link字段. 当compile不存在,lin ...
- Path.Combine 合并两个路径字符串,会出现的问题
Path.Combine(path1,path2) 1.如果path2字符串,以 \ 或 / 开头,则直接返回 path2
- 一个简单大方的赞后+1,踩后-1js动画效果
js部分 <script type="text/javascript"> <!-- $(document).ready(function(e) { $('a.zh ...
- Lua的函数调用和协程中,栈的变化情况
Lua的函数调用和协程中,栈的变化情况 1. lua_call / lua_pcall 对于这两个函数,对栈底是没有影响的--调用的时候,参数会被从栈中移除,当函数返 回的时候,其返回值会从函数处 ...
- WebService WSDL结构分析
转载地址:http://blog.csdn.net/sunchaohuang/article/details/3076375 WSDL (Web Services Description L ...
- Very Simple Problem
Very Simple Problem Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u ...