美文网首页
SQL存储过程1

SQL存储过程1

作者: BigbyLong | 来源:发表于2017-04-12 11:59 被阅读43次

存储过程

什么是存储过程呢?

存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。

通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。

那为什么要用存储过程呢?

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2.当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

3.存储过程可以重复使用,可减少数据库开发人员的工作量。

4.安全性高,可设定只有某些用户才具有对指定存储过程的使用权

那存储过程怎么用呢?

以下通过表Student 来了解存储过程,因为是要了解存储过程的简单用法,所以所有例子均很简单。

无参数存储过程:

选出Student表中的所有信息,

create proc StuProc

as//此处 as 不可以省略不写

begin//begin 和 end 是一对,不可以只写其中一个,但可以都不写

select S#,Sname,Sage,Ssex from student

end

go

有参数存储过程:

全局变量

全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。

选出指定姓名的学生信息:

create proc StuProc

@sname varchar(100)

as

begin

select S#,Sname,Sage,Ssex from studentwheresname=@sname

end

go

exec StuProc'赵雷'//执行语句

上面是在外部给变量赋值,也可以在内部直接给变量设置默认值

create proc StuProc

@sname varchar(100)='赵雷'

as

begin

select S#,Sname,Sage,Ssex from studentwheresname=@sname

end

go

exec StuProc

也可以把变量的内容输出,使用output

create proc StuProc

@sname varchar(100),

@IsRightintoutput//传出参数

as

ifexists (select S#,Sname,Sage,Ssex from studentwheresname=@sname)

set@IsRight=1

else

set@IsRight=0

go

declare @IsRightint

exec StuProc'赵雷', @IsRight output

select @IsRight

以上是全局变量,下面来了解局部变量

局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内部,离开该函数后再使用这种变量是非法的。

局部变量的定义:必须先用Declare命令定以后才可以使用,declare{@变量名 数据类型}

局部变量的赋值方法:set{@变量名=表达式}或者select{@变量名=表达式}

局部变量的显示:select @变量名

create proc StuProc

as

declare @sname varchar(100)

set@sname='赵雷'

select S#,Sname,Sage,Ssex from studentwheresname=@sname

go

exec StuProc

那如果是要把局部变量的数据显示出来怎么办呢?

create proc StuProc

as

declare @sname varchar(100)

set@sname=(select Sname from studentwhereS#=01)

select @sname

go

exec StuProc

相关文章

  • java基础-day44-MySQL进阶

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句2.之前的sql没有条件判断,没有...

  • SQL存储过程1

    存储过程 什么是存储过程呢? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 通俗来讲:存储过程...

  • 8、MySQL存储过程

    存储过程 存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行。 1、创建存储...

  • 数据库Mysql——存储过程

    1,什么是存储过程 存储过程 ,也翻译为存储程序,是一条或者多条SQL语句的集合 2,存储过程优点 1.存储过程可...

  • Mysql存储过程

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的“脚本” 创建存储过程 调用存储过程 存储过程...

  • MySQL存储过程创建及调用方法

    MySQL存储过程是一个sql语句,那么我们如何创建呢,MySQL存储过程创建及修改,删除操作。 1,存储过程创建...

  • 浅谈存储过程

    【1】什么是过程?过程与函数的区别?什么是存储过程??? 存储过程:存储在数据库中的封装了若干条SQL语句的过程(...

  • SQL Server OFFSET 分页存储过程

    SQL Server OFFSET 分页存储过程 普通sql

  • Oracle-PLSQL存储过程

    一 、存储过程说明 1)说明: 1.存储过程是用于特定操作的pl/sql语句块 2.存储过程是预编译过的,经优化后...

  • Sql sever 清空数据库所有数据

    1、清空SQL Server数据库中所有表数据编写存储过程脚本: 说明: 存储过程sp_MSForEachTabl...

网友评论

      本文标题:SQL存储过程1

      本文链接:https://www.haomeiwen.com/subject/lmqmattx.html