数据库之存储过程

优点

  1. 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度,效率要比T-SQL语句高。
  2. 当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
  3. 一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。
  4. 存储过程可以重复使用,可减少数据库开发人员的工作量。
  5. 安全性高,可设定只有某些用户才具有对指定存储过程的使用权

基本语法

--------------创建存储过程-----------------
create proc | procedure pro_name
    [{@参数数据类型} [=默认值] [output],
     {@参数数据类型} [=默认值] [output],
     ....
    ]
as
    SQL_statements
--------------调用存储过程-----------------
CALL Procedure_name;
EXECUTE Procedure_name '' --存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value
--------------删除存储过程-----------------
drop procedure procedure_name    --在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程

变量

系统变量

自定义变量

用户自定义变量:@变量名。作用域是当前连接。

SET @var_name = expr;
SET @var_name := expr;

SELECT @var_name := expr;
SELECT 字段名 INTO @var_name  FROM 表名;

使用变量

SELECT @var_name;

局部变量

局部变量:只在该存储过程中生效的变量,以BEGIN开始,END结束。
使用关键字DECLARE声明。

DECLARE var_name 变量类型 [DEFAULT]
变量类型:INT、BIGINT、CHAR、VARCHAR、DATE、TIME

SET var_name = expr;
SET var_name := expr;
SELECT var_name := expr;
SELECT 字段名 INTO var_name  FROM 表名;

参数

输出参数:OUTPUT
输入参数:INPUT
既可用于输入也可用于输出:INOUT

存储过程与函数的区别

函数通常被嵌入到SQL语句中,存储过程可以直接被外部程序调用

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sevenlob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值