SQL 存储过程
来源:互联网 发布:mac上哪里下游戏 编辑:程序博客网 时间:2024/06/10 17:27
转自:SQL Server之存储过程基础知识 - 佳园 - 博客园
- 什么是存储过程呢
- 那为什么要用存储过程呢
- 那存储过程怎么用呢
- 无参数存储过程
- 有参数存储过程
什么是存储过程呢?
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。
那为什么要用存储过程呢?
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量。
4.安全性高,可设定只有某些用户才具有对指定存储过程的使用权
那存储过程怎么用呢?
以下通过表Student 来了解存储过程,因为是要了解存储过程的简单用法,所以所有例子均很简单。
无参数存储过程:
选出Student表中的所有信息
create proc StuProcas //此处 as 不可以省略不写begin //begin 和 end 是一对,不可以只写其中一个,但可以都不写select S#,Sname,Sage,Ssex from studentendgo
有参数存储过程:
全局变量
全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。
选出指定姓名的学生信息:
create proc StuProc@sname varchar(100) as beginselect S#,Sname,Sage,Ssex from student where sname=@snameendgoexec StuProc '赵雷' //执行语句
上面是在外部给变量赋值,也可以在内部直接给变量设置默认值
create proc StuProc@sname varchar(100)='赵雷'as beginselect S#,Sname,Sage,Ssex from student where sname=@snameendgoexec StuProc
也可以把变量的内容输出,使用output
create proc StuProc@sname varchar(100),@IsRight int output //传出参数as if exists (select S#,Sname,Sage,Ssex from student where sname=@sname)set @IsRight =1elseset @IsRight=0godeclare @IsRight int exec StuProc '赵雷' , @IsRight outputselect @IsRight
以上是全局变量,下面来了解局部变量
局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内部,离开该函数后再使用这种变量是非法的。
局部变量的定义:必须先用Declare命令定以后才可以使用,declare{@变量名 数据类型}
局部变量的赋值方法:set{@变量名=表达式}或者select{@变量名=表达式} 局部变量的显示:select @变量名
create proc StuProcas declare @sname varchar(100)set @sname='赵雷'select S#,Sname,Sage,Ssex from student where sname=@snamegoexec StuProc
那如果是要把局部变量的数据显示出来怎么办呢?
create proc StuProcas declare @sname varchar(100)set @sname=(select Sname from student where S#=01)select @snamegoexec StuProc
阅读全文
0 0
- SQL SERVER存储过程
- SQL存储过程
- SQL存储过程
- SQL 存储过程&算法
- sql 存储过程分页
- SQL存储过程初探
- SQL存储过程
- SQL 存储过程
- 关于sql存储过程
- SQL存储过程循环
- sql 存储过程分页
- sql分页存储过程
- SQL存储过程学习
- sql分页存储过程
- sql,存储过程简介
- pl/sql 存储过程
- sql存储过程
- sql 存储过程分页
- 默认打开IE10、IE11就强制使用IE8/IE9浏览模式或更低版本的浏览模式
- android developer tiny share-20170620
- android真机和模拟机 访问电脑上的服务器 如tomcat
- day04
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛—L
- SQL 存储过程
- Docker搭建应用栈
- 探讨Android开发ListView的Item里包含EditText控件遇到的一些问题
- spring MVC原理
- 阿里云大学免费课程分享:Java零基础入门
- java泛型问题 关于警告:XX is a raw type【转】
- mysql存储过程异常处理
- 信息安全
- Python3.6.1下scrapy框架安装