`
huangshanghua
  • 浏览: 56707 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

创建触发器、函数、存储过程、执行语句

阅读更多
1、创建执行语句

declare 
       cursor venList is select * from tbl_venue ;
begin
       --for循环
       for ven in venList loop
          dbms_output.put_line('部门名称:'||VEN.id); 
      end loop;
      --COMMIT;
end ;

2、创建触发器
create or replace trigger 触发器名称
  after/before INSERT OR UPDATE OR DELETE on 表名
  for each row
declare
  mesg varchar2(100);
begin
  case
    when inserting then
      begin
        mesg := '赋值';
        用 :new来取新属性值,如: :new.id 
      EXception when others then 
        dbms_output.put_line('部门名称:' ||:old.id);
      end;
    when updating then
      begin
        mesg := '赋值';
        用 :new来取新属性值,如: :new.id 
        用 :old来取旧属性值,如: :old.id 
      EXception when others then 
        dbms_output.put_line('部门名称:' ||:old.id);
      end;
    when deleting then
      begin
        mesg := '赋值';
        用 :old来取旧属性值,如: :old.id 
      EXception when others then 
        dbms_output.put_line('部门名称:' || :old.id);
      end;
  end case;
end;

3、创建函数
(1)、单个属性
create or replace function getReportDate(param in varchar2 .. .)
  return varchar2 is --返回类型
  accept_time varchar2(1000);
  v_acc_nbr   date;
  
  CURSOR cur_1 is select sysdate from daul; --定义游标
begin
  open cur_1; --打开游标
  loop
    fetch cur_1
      into v_acc_nbr; --单个属性值
    exit when cur_1%notfound;
    if accept_time is null then
      ----执行语句
    else
      ----执行语句
    end if;
  end loop;
  close cur_1;
  return(accept_time); --返回
end getReportDate;

(2)、多个属性值
create or replace function getReportDate(param in varchar2 .. .)
  return varchar2 is --返回类型
  accept_time varchar2(1000);
  p1   date;
  p2   date;
  p3   date;
  
  CURSOR cur_1 is select sysdate,sysdate,sysdate from daul; --定义游标
begin
  open cur_1; --打开游标
  loop
    fetch cur_1  into p1,p2,p3; --多个属性值
    exit when cur_1%notfound;
    if accept_time is null then
      ----执行语句
    else
      ----执行语句
    end if;
  end loop;
  close cur_1;
  return(accept_time); --返回
end getReportDate;

4、创建存储过程
create or replace procedure 存储过程名称 is--无参
--create or replace procedure 存储过程名称(queryPara varchar2.. .) is --有参  
  sql_set varchar2(1024); --定义变量
  cursor crData is select * from 表名;
begin
  for rowData in crData loop
    --捕捉异常
    BEGIN 
      dbms_output.put_line('打印:' || rowData.id);
    EXCEPTION WHEN OTHERS THEN
        dbms_output.put_line('打印:');
    END;
  end loop;
end 存储过程名称;
分享到:
评论

相关推荐

    Oracle触发器与存储过程高级编程-第3版itpub.rar

    其次,存储过程(Stored Procedures)是一组为了完成特定功能的SQL语句集合,存储在数据库中并可由应用程序调用执行。它们提供了一种封装和重用SQL代码的方式,增强了代码的安全性,减少了网络通信量,提高了数据库...

    SQL Server创建存储过程、触发器、函数等(学习札记)

    SQL的存储过程、触发器等建立视图存储过程触发器函数(自定义函数)索引 视图  视图是从一个或几个基本表(或视图)导出的表。不同的是,它是一虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据...

    MySQL数据库函数,触发器,存储过程

    在数据库管理中,函数、触发器和存储过程是三个重要的概念,它们极大地增强了数据处理的灵活性和效率。 **一、MySQL数据库函数** 函数是预定义的代码块,接受一个或多个参数,并返回一个值。MySQL提供了丰富的内置...

    MySQL触发器、存储过程、自定义函数、视图示例

    ### MySQL触发器、存储过程、自定义函数、视图示例 #### 一、MySQL触发器 触发器是一种特殊类型的存储过程,它被设计为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行。触发器可以用来强制业务规则、...

    oracle触发器与存储过程高级编程

    5. **索引优化**:合理创建和使用索引可以显著提升触发器和存储过程的执行效率,但过多的索引可能导致插入和更新操作变慢。 6. **并发控制**:在多用户环境下,理解并正确使用锁定机制、乐观锁和悲观锁策略,防止...

    练习利用PLSQL Developer编写和管理存储过程、存储函数和触发器等

    PLSQL Developer中存储过程、存储函数和触发器的编写和管理 PLSQL Developer是一种功能强大的Oracle数据库开发工具,提供了许多功能来帮助开发者快速编写和管理存储过程、存储函数和触发器等高级数据库对象。本文将...

    易飞系统触发器储存过程函数视图

    这些是平时个人兴趣爱好收集到的易飞ERP系统触发器/函数/储存过程/视图集。适合人群:系统管理员,运维专员或鼎捷顾问等

    触发器创建sql语句

    在数据库管理领域,触发器是一种特殊类型的存储过程,它被设计为当特定事件(如数据插入、更新或删除)发生时自动执行。触发器能够帮助维护数据的一致性和完整性,确保业务逻辑的正确执行。本文将深入探讨如何使用...

    GBase8s 存储过程和触发器测试方法

    在GBase8s中,创建存储过程使用`CREATE OR REPLACE PROCEDURE`语句,例如: ```sql CREATE OR REPLACE PROCEDURE PRO1(A INT) IS STR VARCHAR2(100); c1t2 int; c2t2 varchar2(10); e exception; BEGIN DELETE...

    SQL Server常用操作触发器、存储过程.rar

    在SQL Server中创建存储过程,你需要使用CREATE PROCEDURE语句,定义输入参数(如果需要)、输出参数(用于返回值)和执行的SQL命令。存储过程可以包含控制流语句,如IF-ELSE、WHILE循环,以及游标和事务管理,使得...

    解密SQL触发器、存储过程、函数

    SQL触发器、存储过程和函数是数据库管理中的重要组成部分,它们极大地增强了数据库的功能性和灵活性。在本篇文章中,我们将深入探讨这些概念,并提供实用的示例来帮助理解它们的使用和重要性。 **SQL触发器...

    触发器、存储过程和函数三者有何区别四.pdf

    【触发器、存储过程和函数的区别】 触发器、存储过程和函数都是数据库管理系统中的重要组件,它们各自在特定场景下发挥着不同的作用。 1. **触发器(Triggers)** - 触发器是一种特殊的存储过程,它会在特定的...

    SQL语句,存储过程,触发器

    SQL语句,存储过程,触发器

    自定义函数、存储过程和触发器.pdf

    ### 自定义函数、存储过程和触发器 #### 9.1 自定义函数 自定义函数是在SQL Server中由用户自行创建的一种子程序,用于补充和扩展系统提供的内置函数功能。自定义函数的主要目的是提高代码的复用性以及解决特定...

    存储过程,存储函数和触发器

    根据提供的信息,我们可以深入探讨存储过程、存储函数与触发器的相关知识点。 ### 存储过程 存储过程是一种预编译的SQL代码块,它被存储在数据库中,并且可以通过简单的调用来执行复杂的逻辑操作。存储过程可以...

    oracle触发器调用存储过程

    触发器调用存储过程的过程中可能会出现的问题是,insert语句不是自动提交的,因此当insert语句没有提交时,update语句可能会报“表/视图发生了变化,程序不能读它”的错误。这个问题可以通过使用Oracle自治事务来...

    MYSQL触发器与存储过程.ppt

    1. **性能优化**:由于存储过程和函数在首次创建时就被编译,后续调用只需执行已编译的代码,减少了解析和编译的时间。 2. **安全**:通过存储过程,可以限制用户对数据的直接访问,只允许执行预定义的操作,提高...

    数据库实验报告-存储过程、触发器

    存储过程是数据库中一组预编译的SQL语句,它可以接收参数,执行特定任务,并返回结果。其优点包括: 1. 提高性能:存储过程在首次编译后,会缓存执行计划,多次调用时无需再次解析,从而提高执行速度。 2. 减少网络...

    Oracle触发器与存储过程高级编程

    其次,存储过程(Stored Procedures)是一组预先编译的SQL语句,它们以函数的形式存在,可以在需要时调用。存储过程提高了数据库性能,减少了网络通信,并提供了模块化编程的优势。高级存储过程编程涵盖了参数化、...

Global site tag (gtag.js) - Google Analytics