-
sql语句大全之MSSQL sql存储过程创建简介及应用举
MSSQL存储过程简介
存储过程的概念:我们将一组常用、经常重复使用的sql,采用一个包名进行定义,并将其放入数据库中,作为DB服务器中的一个对象,对外服务,我们将此包称之为”存储过程”。
存储过程的优点:
1 存储过程作为服务器对象,所以运行存储过程中的sql块,通常比sql块速度更快,效率更高。
2 存储过程将sql块存储在数据库对象中,减少了客户端同服务器端通信的数据块大小,减轻网络浏览。
3 存储过程将sql块封装为一个包,增加了sql代码的可读性和sql代码调试的便利性。
4 存储过程作为db服务器中的一个对象,我们可以通过相应的权限设置,来限制客户端操作数据库的权限,增加db服务器的安全性。
存储过程的缺点:
1 存储过程作为db服务器对象,在后台进行大量的运算,加大了DB服务器的压力。
2 存储过程作为db服务器对象,里面包含了不同类型的sql语法,所以存储过程不方便不同类型数据库的移植操作。
3 对应用系统而言,由于业务逻辑存在程序代码和存储过程中,所以加大了应用程序的维护难度。
存储过程的应用场景:
1 数据库仓库抽取数据
2 超大型报表获取获取
3 超复杂的sql业务逻辑代码编写
MSSQL存储过程举例应用
mssql 存储过程语法:
create proc 存储过程名称
参数名1 参数类型 [参数默认值] [是否为输出参数],
参数名2 参数类型 [参数默认值] [是否为输出参数]
...
[with {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
as
/*sql 代码块*/
存储过程名称最大长度不能超过256个字符
with recompile:代表每次调用存储过程,db服务器都为对存储过程进行重编译,清除buffer pool中的缓存信息
with ENCRYPTION:加密存储过程
with recompile, ENCRYPTION:重编译存储过程和加密存储过程
create table A (keyId int) insert into A(keyId)values(1),(10),(100),(1000),(10000),(100000),(100000),(2) /*创建存储过程*/ /*创建存储过程查询数据表数据*/ create proc pr_showTableAInfo as begin select keyId from A end go /*执行存储过程*/ exec pr_showTableAInfo go /*创建存储过程返回多张数据表数据*/ create proc pr_showTableAInfo as begin select keyId from A select '这是第二张数据表' as table end go /*执行存储过程*/ exec pr_showTableAInfo go
/*创建带输出参数的存储过程*/
create proc pr_t
@a int,
@b varchar(36) output
as
begin
set @b=NEWID() ----对output参数赋值
select 'test',@b as t ---返回数据表
end
go
/*调用带output参数的存储过程方法*/
declare @t2 varchar(36)
exec pr_t 1,@t2 output ----设置调用参数属性为output,存储过程中的数值,则会传送至外部变量中
select @t2 as [backValue]
go
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式