什么是存储过程

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

存储过程有什么用

用于实现业务逻辑(特别是需要事务的业务)。
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. 7个问题,直击管理的本质
  2. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像:图案填充列表、饼图图案填充、柱状图图案填充
  3. flume bucketpath的bug一例
  4. 解决 win10 下载文件到某盘 没有权限
  5. 【转】ZooKeeper原理及使用
  6. [Everyday Mathematics]20150203
  7. python爬虫开发 从入门到实战_python网络爬虫从入门到实战开发
  8. nuxt中必须要知道的一点 关于 nuxt-link 和 a 标签的区别
  9. xml建模包括以下_为什么要进行建模仿真?
  10. 支付宝小程序面向个人开发者公测
  11. python toimage函数 -baijiahao_财码Python管理会计小实验成本性态分析So Easy
  12. Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
  13. 成功解决1406, “Data too long for column ‘txt‘ at row 1“
  14. Java核心技术读书笔记(2013-01-11)
  15. font: 0.5rem/1 tahoma, arial, 'Microsoft YaHei', simsun;
  16. 码农与程序员两种不同称呼,有什么本质上的区别?
  17. RouterOS(ROS)设置动态域名(DDNS)
  18. springcould 微服务 nacos 跨域问题
  19. 用pyecharts画地图(世界地图、中国省级地图、市级地图、某省市级地图、某市县级地图)
  20. linux防误删工具trash-cli

热门文章

  1. Java操作XML文件 dom4j 篇【转】
  2. 打地鼠程序代码C语言,自己用C写的一个简单的打地鼠游戏代码出了个问题(鼠标和循环不能...
  3. Greenplum数据库(GPDB)初识
  4. DES加密解密算法Java实现
  5. 深度学习中张量flatten处理(flatten,reshape,reduce)
  6. linux lvm 镜像,LVM实现逻辑卷镜像
  7. python数据采集框架_20190715《Python网络数据采集》第 1 章
  8. js 获取字符串中最后一个斜杠前面/后面的内容
  9. 配置文件加载位置||外部配置加载顺序||自动配置原理
  10. RequestMapping || @RequestMapping 模糊匹配功能