首页 > 其他分享 >【DB】存储过程

【DB】存储过程

时间:2022-08-28 22:59:38浏览次数:38  
标签:存储 数据库 DB Stored 参数 SQL 过程

1。什么是存储过程?

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集。他存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数来执行它。

2。存储过程特点(好处)

1-存储过程存储在数据库中,一次编译永久有效。

2-存储过程有更好的安全性。

3-存储过程可以减少网络通信流量。

    1-减少了SQL字符串的传递,传递的只有存储过程名字和参数。

    2-减少了SQL来回处理传递的次数。能一次获取符合条件的数据结果;而不是在代码和数据库中多次调用,来回传递SQL字符串和结果。减少了IO操作。

4-存储过程提高运行速度。原因同3。

存储过程适用于业务比较复杂、数据量庞大的系统。

2。存储过程分类

1-系统存储过程,数据库自带的,以sp_开头。

2-本地存储过程,用户创建完成某一特定功能的存储过程。一般说的存储过程指这种存储过程。

3-临时存储过程,

  第一种:本地临时存储过程:以#开头,存放在tempdb数据库中的本地临时存储过程,只有创建它的用户可执行。

  第二种:全局临时存储过程:以##开头,存放在tempdb数据库中的本地临时存储过程,任意用户可执行,且不需要特定权限。

4-远程存储过程

  在SQLServer2005中,Romte Stored Procedures位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。

5-扩展存储过程

  Extended Stored Procedures是客户可以使用外部程序语言编写的存储过程,扩展存储过程通常以xp_开头

2。基本语法

1-创建存储过程

create procedure [存储过程名]
@[参数名] [参数类型],
@[参数名] [参数类型]
as
begin
 -- SQL语句
end

2-调用存储过程

  1- command命令下,exec  [存储过程名] [参数];

  2- SQL环境下,call  [存储过程名] [参数];
  3- PL/SQL环境下,begin   [存储过程名] [参数] end;

3-删除存储过程

  drop procedure sp_name

  注意,不能在存储过程中删除存储过程。

标签:存储,数据库,DB,Stored,参数,SQL,过程
From: https://www.cnblogs.com/TonyZhao/p/16634335.html

相关文章

  • 存储器详解
    存储器有五种类型,分别是寄存器、高速缓存、内存、磁盘、磁带。他们访问读取的时间和容量如下图:1.寄存器L1缓存用的是与cpu一样的材质制成,读取和cpu一样快,容量<1KB2.高......
  • 错误: 找不到或无法加载主类 com.itextpdf.samples.sandbox.tables.SimpleTable
    网上有一堆方法,但都没有解决我的问题。解决方法:将下面的勾去掉,保存即可。 这些代码都在test下面,所以这个如果排除的话,是不会执行成功的。  ......
  • Model断开连接建议与Db::close()的bug
    Model断开连接建议与Db::close()的bug-ThinkPHP框架 https://www.thinkphp.cn/bug/1820.html1、建议Model类增加一个close方法,用于断开数据库连接。高并发的时候效果......
  • 重新编译influxdb_exporter源码,构建镜像
    1.githubhttps://github.com/prometheus/influxdb_exporter 2.dockerfileFROMgolang:1.17ENVGO111MODULE=on\GOPROXY="https://goproxy.cn,direct"COPYin......
  • 踩坑,发现一个ShardingJdbc读写分离的BUG
    ShardingJdbc怎么处理写完数据立即读的情况的呢?写在前面我本地使用了两个库来做写库(ds_0_master)和读库(ds_0_salve),两个库并没有配置主从。下面我就使用库里的city表......
  • 软件测试方法与过程
    软件测试方法与过程静态测试 以人工为主,测试者通过阅读代码和文档,分析其正确性、一致性及逻辑结构的正确性,从而找出软件中的错误或缺陷。对自动化工具依赖性较小,发挥人......
  • 【云原生.大数据】镜像仓库 Harbor 对接 MinIO 对象存储
    目录一、前言二、MinIOonK8S部署1)下载安装MinIO包2)修改配置3)开始部署4)安装mc测试5)卸载三、HarboronK8S部署1)创建stl证书2)创建secret3)下载harbor安装包4)配置mi......
  • JDBC应用
    JDBC应用记录JDBC的学习笔记,为后期使用JDBC建立一个简单的速查页面,省去中间的推导等池:DruidDBUtil:ApacheCommonsDbUtils也作为八股文的速查数据库连接的基本步......
  • Java synchronized锁升级过程验证
    ​Java对象结构 ​  一个对象包括三部分:对象头实例数据对其填充 对象头:MarkWord:用于存储对象自身运行时的数据,如哈希码(HashCode),GC分代年龄,锁状态标志,......
  • FUXA——基于Web的过程可视化软件
    资源GitHub地址:https://github.com/frangoteam/FUXADEMO地址:https://frangoteam.github.io/概述FUXA是基于Web的,过程(SCADA、HMI、看板等)可视化软件。可创建现代的......