数据库系列之T-SQL(存储过程)
什么是存储过程
存储过程是保存在数据库的函数,可以被应用程序或其它存储过程调用。
存储过程有什么用
用于实现业务逻辑(特别是需要事务的业务)。
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(存储过程)相关推荐
- SQL Server 2005系列教学(9) SQL 存储过程
声明变量,SQL规定变量在使用之前先声明,以便以后的程序中用到 格式: declare 变量名 变量类型[,变量名 变量类型--] 一次可声明多个变量,它们之间用,分隔.用户变量以一个@开头,全局 ...
- 数据库系列(5):SQL查询
SQL (Structured Query Language:结构化查询语言) 是用来访问和操作数据库系统的,是一门ANSI 的标准计算机语言.目前最为广泛使用的数据库查询语言就是SQL了,尽管我么说 ...
- 死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)...
点关注公众号,回复"1024"获取2TB学习资源! 今天,民工哥带大家一起来学习一下 MySQL 数据库的 DDL.DML.DQL.DCL 这几种语言的理论知识与实践.如有帮助,请 ...
- SQL存储过程(☆)
1.sql存储过程概述 2.SQL存储过程创建 3.sql存储过程及应用 4.各种存储过程使用指南 5.ASP中存储过程调用的两种方式及比较 6.SQL存储过程在.NET数据库中的应用 7.使用SQL ...
- sql 存储过程 并发测试_SQL单元测试模拟存储过程
sql 存储过程 并发测试 In this SQL Unit testing article, we will continue our journey with SQL unit testing. ...
- sql存储过程完全教程
sql存储过程完全教程 目录 1.sql存储过程概述 2.SQL存储过程创建E2C~,x0@iC|4W7c*H 3.sql存储过程及应用)z,e1A{3o 4.各种存储过程使用指南A~k?/L cS` ...
- sql存储过程及应用
3.sql存储过程及应用 一.简介: 存储过程(Stored Procedure), 是一组为了完成特定功能的SQL 语句,集经编译后 存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储 ...
- CTF系列之Web——SQL注入
前言 在刚学习SQL注入的过程中非常艰难,查资料的时间有一周这么长,点开的网页也不下一千,认真读的也最少有两百,可是能引导入门的真的没几篇,都是复制来复制去的,没意思,感觉就是在浪费时间.有很多知识点 ...
- 死磕数据库系列(三十三):MySQL 性能分析与相关工具的使用
点关注公众号,回复"1024"获取2TB学习资源! 今天我将详细的为大家介绍 MySQL 性能分析以及相关工具使用的相关知识,希望大家能够从中收获多多!如有帮助,请点在看.转发支持 ...
最新文章
- 7个问题,直击管理的本质
- R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像:图案填充列表、饼图图案填充、柱状图图案填充
- flume bucketpath的bug一例
- 解决 win10 下载文件到某盘 没有权限
- 【转】ZooKeeper原理及使用
- [Everyday Mathematics]20150203
- python爬虫开发 从入门到实战_python网络爬虫从入门到实战开发
- nuxt中必须要知道的一点 关于 nuxt-link 和 a 标签的区别
- xml建模包括以下_为什么要进行建模仿真?
- 支付宝小程序面向个人开发者公测
- python toimage函数 -baijiahao_财码Python管理会计小实验成本性态分析So Easy
- Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
- 成功解决1406, “Data too long for column ‘txt‘ at row 1“
- Java核心技术读书笔记(2013-01-11)
- font: 0.5rem/1 tahoma, arial, 'Microsoft YaHei', simsun;
- 码农与程序员两种不同称呼,有什么本质上的区别?
- RouterOS(ROS)设置动态域名(DDNS)
- springcould 微服务 nacos 跨域问题
- 用pyecharts画地图(世界地图、中国省级地图、市级地图、某省市级地图、某市县级地图)
- linux防误删工具trash-cli
热门文章
- Java操作XML文件 dom4j 篇【转】
- 打地鼠程序代码C语言,自己用C写的一个简单的打地鼠游戏代码出了个问题(鼠标和循环不能...
- Greenplum数据库(GPDB)初识
- DES加密解密算法Java实现
- 深度学习中张量flatten处理(flatten,reshape,reduce)
- linux lvm 镜像,LVM实现逻辑卷镜像
- python数据采集框架_20190715《Python网络数据采集》第 1 章
- js 获取字符串中最后一个斜杠前面/后面的内容
- 配置文件加载位置||外部配置加载顺序||自动配置原理
- RequestMapping || @RequestMapping 模糊匹配功能