什么是存储过程

存储过程是保存在数据库的函数,可以被应用程序或其它存储过程调用。

存储过程有什么用

用于实现业务逻辑(特别是需要事务的业务)。
1 优点
减少网络通信量
执行速度更快
更强的适应性(有时候发布系统无需更新客户端)
分布式工作
减少客户端的负荷
2 缺点
增加服务器的负荷

常用的系统存储过程

系统存储过程    说明
sp_help    用于查看对象信息
sp_helpdb    用于查询数据库的信息
sp_helpconstraint    查看某个表的约束
sp_helpindex    查看某个表的索引
sp_databases    用于显示所有数据库的信息,如数据库名和数据大小。
sp_renamedb    更改数据库的名称
Sp_rename    用于在当前数据库更改用户创建的对象名称,如数据表、字段、索引等
sp_tables    返回当前数据库中数据表和视图
sp_columns    返回某个数据表或视图的列信息
sp_password    添加或修改登录帐户的密码

调用系统存储过程

exec sp_databases  --列出当前系统中的所有数据库
use booksmanager
go
exec sp_tables  --列出数据库booksmanager中所有数据表和视图
exec sp_columns books --列出图书表的列信息
exec sp_help books --查看图书表的所有信息
exec sp_helpconstraint books --查看图书表的约束
exec sp_helpindex books --查看图书表的索引

扩展存储过程

扩展存储过程(Extended  stored  procedured)是对动态链接库(DLL)函数的调用。
扩展存储过程通常是以“XP_”为前缀。

用户自定义存储过程

1 不带参数的存储过程

(1)语法
CREATE  PROCEDURE  存储过程名
AS
  ………
  ………
  ………
建议:自定义存储过程的名称最好以USP_开头
(2)调用带输入参数的存储过程
EXEC  存储过程名

2 带参数的存储过程

(1)语法
CREATE  PROCEDURE  存储过程名
    @参数1  数据类型 [=默认值],
     ……
    @参数n  数据类型 [=默认值]
AS
  ………
  ………
  ………
(2)调用带输入参数的存储过程
方式一:
exec usp_score_byparam 'SQL Server基础编程',70
方式二:
exec usp_score_byparam @coursename='SQL Server基础编程' ,@pass=70

3 带输出参数的存储过程

(1)语法
CREATE  PROCEDURE  存储过程名
    @参数1  数据类型 [=默认值],
     ……
    @参数n  数据类型 OUTPUT
AS
  ………
  ………
  ………
(2)调用带输出参数的存储过程
declare @result  int
exec usp_ADD 20,30,@result output
print '运算结果:'+str(@result,5)

转载于:https://www.cnblogs.com/cmhunter/p/4299875.html

数据库系列之T-SQL(存储过程)相关推荐

  1. SQL Server 2005系列教学(9) SQL 存储过程

    声明变量,SQL规定变量在使用之前先声明,以便以后的程序中用到 格式:   declare 变量名 变量类型[,变量名 变量类型--] 一次可声明多个变量,它们之间用,分隔.用户变量以一个@开头,全局 ...

  2. 数据库系列(5):SQL查询

    SQL (Structured Query Language:结构化查询语言) 是用来访问和操作数据库系统的,是一门ANSI 的标准计算机语言.目前最为广泛使用的数据库查询语言就是SQL了,尽管我么说 ...

  3. 死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)...

    点关注公众号,回复"1024"获取2TB学习资源! 今天,民工哥带大家一起来学习一下 MySQL 数据库的 DDL.DML.DQL.DCL 这几种语言的理论知识与实践.如有帮助,请 ...

  4. SQL存储过程(☆)

    1.sql存储过程概述 2.SQL存储过程创建 3.sql存储过程及应用 4.各种存储过程使用指南 5.ASP中存储过程调用的两种方式及比较 6.SQL存储过程在.NET数据库中的应用 7.使用SQL ...

  5. sql 存储过程 并发测试_SQL单元测试模拟存储过程

    sql 存储过程 并发测试 In this SQL Unit testing article, we will continue our journey with SQL unit testing. ...

  6. sql存储过程完全教程

    sql存储过程完全教程 目录 1.sql存储过程概述 2.SQL存储过程创建E2C~,x0@iC|4W7c*H 3.sql存储过程及应用)z,e1A{3o 4.各种存储过程使用指南A~k?/L cS` ...

  7. sql存储过程及应用

    3.sql存储过程及应用 一.简介: 存储过程(Stored Procedure), 是一组为了完成特定功能的SQL 语句,集经编译后 存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储 ...

  8. CTF系列之Web——SQL注入

    前言 在刚学习SQL注入的过程中非常艰难,查资料的时间有一周这么长,点开的网页也不下一千,认真读的也最少有两百,可是能引导入门的真的没几篇,都是复制来复制去的,没意思,感觉就是在浪费时间.有很多知识点 ...

  9. 死磕数据库系列(三十三):MySQL 性能分析与相关工具的使用

    点关注公众号,回复"1024"获取2TB学习资源! 今天我将详细的为大家介绍 MySQL 性能分析以及相关工具使用的相关知识,希望大家能够从中收获多多!如有帮助,请点在看.转发支持 ...

最新文章

  1. 微软转型里程碑:云计算收入首次超过Windows业务
  2. 如何设置网站标题更有利于网站SEO优化?
  3. 6、HTML有序列表+无序列表+定义列表
  4. Math(牛客多校第三场)
  5. .net java xml_java.net.MalformedURLException – 在通过StAX解析XML文件时
  6. [mysqld_safe]centos7 mysql 安装与配置
  7. 由数据范围反推算法复杂度
  8. SVN下载安装、SVN使用详细教程(Window+Linux)
  9. 使用Bitvise SSH代理访问
  10. 十个程序员必备的网站推荐和较出名的国外程序员论坛
  11. 易语言精易web浏览器填表
  12. 戴尔服务器u盘装系统看不见磁盘,戴尔电脑u盘装系统找不到硬盘怎么解决
  13. FFMpeg 常用命令格式转换,视频合成
  14. java泛型返回值 <T>T 和T的区别
  15. 我28岁开始做淘宝,2年赚够100万:赚钱,真的不能靠拼命!!
  16. android手机传文件,Android手机间如何高速互传文件?
  17. 罗克韦尔自动化通过收购ASEM加强控制和可视化产品组合
  18. UNITY中FMOD音效插件使用
  19. Matlab多子图绘制
  20. 致敬达叔!Python带你回顾达叔出演过的作品与合作过的演员

热门文章

  1. 【IM】关于参数模型和核模型的理解
  2. 【正一专栏】警察叔叔,我还是只是一个婴儿
  3. Java实现算法导论中快速傅里叶变换FFT迭代算法
  4. Consul 服务注册与发现03—— 服务消费者
  5. 淡入淡出效果 || 高亮显示案例
  6. Python-技术篇-使用logging模块打印详细报错日志,获取报错信息位置行数方法
  7. PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容
  8. 按键处理技巧(状态机)
  9. SDUT _2117 数据结构实验之链表二:逆序建立链表
  10. JavaWeb之Servlet学习-----实现文件动态下载功能 手写servlet 手动构建web程序