SQL server存储过程的学习

  1. 什么是存储过程?
    存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数。
    存储过程分为系统存储过程和自定义存储过程。
    常用的系统存储过程有
exec sp_databases; --查看数据库
exec sp_tables;        --查看表
exec sp_columns student;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpConstraint student;--约束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures';--查看存储过程创建、定义语句 经常用到这句话来查看存储过程,like sp_helptext sp_getLoginInfo.
exec sp_rename student, stuInfo;--修改表、索引、列的名称
exec sp_renamedb myTempDB, myDB;--更改数据库名称
exec sp_defaultdb 'master', 'myDB';--更改登录名的默认数据库
exec sp_helpdb;--数据库帮助,查询数据库信息
exec sp_helpdb master;
  1. 为什么要使用存储过程?
    (1)重复使用。存储过程可以重复使用,从而减轻数据库开发人员的工作量。
    (2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用重新编译。一般的SQL语句每执行一次就要编译一次,所以使用存储过程提高了效率。
    (3)减少网络流量。存储过程位于服务器,调用的时候只需要传递存储过程名称和参数就可以了,降低了网络传输的数据量。
    (4)安全性。参数化的存储过程可以防止SQL注入攻击,并且可以设定只有某些用户才具有对指定存储过程的使用权。
  2. 基本语法
    在这里插入图片描述
    (1)无参数的存储过程
    选出student表中的所有信息。

create proc stuProc
as // 此处as可以省略不写
begin  // begin和end是成对出现的,不可以只写其中一个,但是可以都不写
select S# Sname Sage Ssex from student
end
go

(2)有参数的存储过程
选出指定姓名的学生信息

create proc stuProc
@Sname varchar(100)
as
begin
select S# Sname Sage Ssex from student where Sname=@Sname
end
go

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

上面是在外部对参数进行赋值,也可以在存储过程内部直接赋值

create proc stuProc
@Sname varchar(100='赵雷'
as
begin
select S# Sname Sage Ssex from student where Sname=@Sname
end
go

exec stuProc  // 执行语句

待续。。。。

参考博客:
https://www.cnblogs.com/babybottle/p/9881587.html
https://www.cnblogs.com/lideng/archive/2013/04/11/3013966.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值