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遍历hashMap、hashSet、Hashtable
一.遍历HashMap Map<Integer, String> map = new HashMap<Integer, String>(); 方法一:效率高 for(Entry ...
- Noip2016愤怒的小鸟(状压DP)
题目描述 题意大概就是坐标系上第一象限上有N只猪,每次可以构造一条经过原点且开口向下的抛物线,抛物线可能会经过某一或某些猪,求使所有猪被至少经过一次的抛物线最少数量. 原题中还有一个特殊指令M,对于正 ...
- ubuntu16.04 配置opensips服务器并编译pjsip测试
一.版本相关 1) ubuntu版本: 16.04 2) opensips版本:2.1.2 3) pjsip版本 :2.5.5 4) ffmpeg版本:3.3.4 5) sdl版本:2.0 6) vs ...
- React UI 组件库uiw v1.2.8 发布
uiw 高品质的UI工具包,基于React 16+的组件库.
- lintcode 132 模式
题目要求 给你一个 n 个整数的序列 a1,a2,...,an,一个 132 模式是对于一个子串 ai,aj,ak,满足 i < j < k 和 ai < ak < aj.设计 ...
- Leetcode题解(九)
28.Implement strStr()-------KMP算法(*) 题目 这道题目其实就是实现KMP算法,并且该算法也是比较经典的算法,需要很好的掌握: 贴上几个介绍字符串匹配的算法说明链接 h ...
- HDU 6112 今夕何夕
今夕何夕 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- ssh连接虚拟机失败解决办法
首先,你需要知道本机IP跟虚拟机IP,然后让两者互相ping一下,看能否ping通 让主机ping虚拟机 :ping (虚拟机ip) 出现如下: 表示主机可以ping通虚拟机 然后让虚拟机ping主机 ...
- Android 开发笔记___Activity的生命周期
一个activity就是一个页面,入口函数是oncreate(). onCreate:创建页面,把页面上各个元素加载到内存 onStart:开始页面,把页面显示在屏幕 onResume:恢复页面,让页 ...
- AngularJS学习篇(十三)
AngularJS HTML DOM ng-disabled 指令 ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性. <!DOCTYPE html> ...