数据库存储过程

本文介绍了数据库存储过程的四大优点:执行速度快、支持模块化设计、提高系统安全性及减少网络流量。并详细展示了存储过程的基本语法及三个示例,包括无参数、带默认值参数及输出参数的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存储过程的优点

  1.执行速度更快 – 在数据库中保存的存储过程语句都是编译过的

  2.允许模块化程序设计 – 类似方法的复用

  3.提高系统安全性 – 防止SQL注入


  4.减少网络流通量 – 只要传输存储过程的名称

二、存储过程语法"["   里面的内容表示可选项

  create proc 存储过程名

  @参数1        数据类型 [=默认值] [output],

  @参数2        数据类型 [=默认值] [output],

  ...

  as

  SQL语句

例:无参数操作


create proc  proc_stu  //创建存储过程

  as

  select * from 学生信息

执行完后会创建一个proc_stu的存储过程

执行存储过程 exec  proc_stu

例:使用默认值参数

create proc p_employee

@departmentid varchar(10),//不带默认值

@zhiwei  varchar(20)='职员'

As 

SELECT A.员工姓名,A.性别,B.部门名称

FROM 员工信息 A,部门名称 B 

WHERE A.所在部门编号=B.部门编号 AND B.部门编号=@departmentid  AND A.所任职位=@zhiwei   //(要查看的职位)

执行 exec p_employee @departmentid='技术部',@zhiwei='经理'

wKioL1m6gIyS19SnAABwIuyuakI063.jpg-wh_50


例:使用输出参数

create proc p_sorce

@name varchar(10),

@sorce int output   //输出参数

As

SELECT B.姓名,avg[A.分数]

FROM  成绩信息  A,学生信息 B

WHERE A.学生编号=B.学号 AND B.姓名=@name

avg[]聚合函数;

执行存储过程

DECLARE @SORCE1 INT 声明一个对象;

exec  p_sorce  @name='张苗苗',@ sorce  =@SOCRCE1 OUTPUT  //OUTPUT 指定输出参数

PRINT @SORCE1 //打印结果值

wKiom1m6gNKw3bUFAAAaW3NtwJE005.jpg-wh_50

再例如:

create proc p_stu

@na varchar(10),

@sco int=10

as

select * from stu where stu.name=@na and  stu.score=@sco

go 

exec   p_stu  @na='lilu',@sco=88

wKiom1m6gO2xc8FOAAB-B406Nsk673.jpg-wh_50



本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/1965333

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值