我的编程空间,编程开发者的网络收藏夹
学习永远不晚

存储过程

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

存储过程

存储过程

存储过程是数据库对象之一,存储过程可以理解成数据库的子程序,在客户端和服务器端可以直接调用它。触发器是与表直接关联的特殊的存储过程,是在对表记录进行操作时触发的。

存储过程放在字典里,可以在不同用户和应用程序之间共享,并可以实现程序的优化和重用。

存储过程的优点:

存储过程在服务器端运行,执行速度快。

存储过程执行一次后,代码就驻留在高速缓存,在以后的操作中,只需要从高速缓存中调用已编译代码执行,提高了系统性能。

确保数据库安全。可以不授权用户直接访问应用程序中的一些表,而是授权用户执行访问这些表的存储过程,非表的授权用户除非通过存储过程,否则就不能访问这些表。

自动完成需要执行的任务,存储过程可以在系统启动时自动执行,而不必在系统启动后再进行手工操作,大大方便了用户的使用,可以自动完成一些需要预先执行的任务。

SQL命令创建存储过程:

create or replace  procedure  过程名称( 参数名称   in/out/in out  类型) 
is/as
  begin
      过程体
   end 过程名称

说明:

过程名称:存储过程名称要符合标识符规则,并且在所属方案中必须是唯一的。关键字 or replace 表示在创建存储过程时,如果已存在同名的过程,则重新创建

参数名:存储过程函数的参数名也要符合标识符规则,创建过程时,可以声明一个或多个参数,执行过程时应提供相对应的参数,存储过程的参数模式和函数参数一样,也有三种模式:in out和in out。

   其中:in 表示参数是输入给过程的

              out 表示参数在过程中将被赋值,可以传给过程体的外部

              in out 表示该类型的参数既可以向过程体传值,也可以在过程中赋值

过程体:其中包含PL/SQL语句块

 

在用户的定义中不能使用下列对象创建语句:

create view

create default

create rule

create procedure

create trigger

--计算指定某门课程参加考试的学生人数。
create  or replace procedure
count_result(v_course  in char,v_num out number)
as
   begin
      select 
      count(*) into v_num
      from  
      SCHOOL_RESULT 
      where 
      RESULT_COURSE=v_course;
   end count_result;
   

注意:在存储过程体中,不能使用select语句直接查询,否则会出现编译错误。

 

通过界面创建存储过程:

 

 

存储过程的调用:

set serveroutput on;
declare
  v_number number;
  begin
    count_result("100011",v_number);
    dbms_output.put_line(v_number);
  end;

存储过程的编辑修改:

修改存储过程和修改视图一样,也有alter procedure语句,但它是用于重新编译或验证现有过程,如果要修改过程定义,仍然应用reeate or replace procedure命令,语法格式一样。

也可以通过界面修改存储过程(在SQL Developer中"过程"右击鼠标,选择“编辑”)

存储过程的删除:

当某个过程不在需要时就应将其删除,以释放它占用的内存资源

drop procedure 过程名;

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

存储过程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

存储过程

存储过程是数据库对象之一,存储过程可以理解成数据库的子程序,在客户端和服务器端可以直接调用它。触发器是与表直接关联的特殊的存储过程,是在对表记录进行操作时触发的。存储过程放在字典里,可以在不同用户和应用程序之间共享,并可以实现程序的优化和重用。存储过程的优点:
存储过程
2015-02-05

MySQL 存储过程

参考地址1:https://blog.csdn.net/yanluandai1985/article/details/83656374 参考地址2:https://www.runoob.com/w3cnote/mysql-stored-procedure.ht
2016-08-26

mysql存储过程

-- 创建清除过期积分存储过程DELIMITER //DROP PROCEDURE IF EXISTS reportUrl //CREATE PROCEDURE reportUrl()BEGIN-- 定义变量DECLARE s INT DEFAULT 0;D
mysql存储过程
2019-07-21

Postgresql 存储过程

1、没有定义 plpsqlcreatelang -d tms plpgsql2、找出不连续的SNDROP FUNCTION IF EXISTS sn_miss(IN order_name TEXT, IN pcline TEXT);CREATE OR REPL
Postgresql 存储过程
2021-03-04

plsql储存过程

第九章  存储过程 初识存储过程  存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行
plsql储存过程
2015-05-06

oracle存储过程转达梦8存储过程时踩过的坑

达梦存储过程的语法与oracle的高度相似,但有好多细节还是有差异。我在这次项目迁移中踩过不少小坑,在这里给大家分享一下。说明一下,我用的版本是达梦8,迁移时碰到的问题有些我已经反馈给达梦的官方群管理员,估计以后会有修复。rpad问题达梦的rpad函数,计算中
oracle存储过程转达梦8存储过程时踩过的坑
2021-04-19

3. SQL -- 存储过程

存储过程在Sql Server中,可以定义子程序存放在数据库中,这样的子程序称为存储过程,它是数据库对象之一.一存储过程的优点:1: 存储过程在服务器端运行,执行速度快2: 存储过程只执行一次,然后把编译的二进制代码保存在调整缓存中,以后可
2023-01-31

存储过程用法

创建无参存储过程1 create procedure proc_test012 as3 begin4 select * from myrptdetail5 end执行无参存储过程exec proc_test01结果  创建带参存储过程1 create p
存储过程用法
2017-09-20

mysql的存储过程

什么是存储过程一组可编程的函数,是为了完成特定功能的SQL语句集经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程就是具有名字的一段代码,用来完成一个特定的功能。创建的存储过程保存在数据库的数据字典中为什么要用存储
mysql的存储过程
2015-04-21

编程热搜

目录