存储过程(store procedure)
带有名字的PL/SQL程序块
创建过程:
create or replace procedure is(as) 过程名
begin
过程体
end 过程名;
执行过程:
exture 过程名;
begin
过程名;
end;
create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number) is..........
in是接受过程外传递来的值(不写默认为in类型)
out是指将在过程中被赋值
in out同时具有in和out类型特性
函数(function)
函数的创建:
create or replace function sal_tax(v_sal number) return number
is
begin
if (v_sal<2000) then return 0.10;
。。。。。。。。。
。。。。。。。。 。
end if;
end;
函数调用:
select sal_tax(sal) from emp;
触发器(trigger)
当数据发生变化时自动触发,不能独立存在要依附于一张表。
触发事件:DML语句,执行insert update delete等语句触发的事件
DDL语句,执行create alter drop 等语句触发的事件
触发器的创建
create or replace trigger trig after(before)---指触发的时间在事件发生的前或后
insert or delete or update on emp for each row--触发的级别,是对事件影响的每一行触发还是对语句触发,语句触发只能触发一次,而且不能访问受触发器影响的每一行的值
begin
if inserting(关键字) then insert into XX values (user,'insert',sysdate);
if deleting then insert into XX values (user(关键字),'delete',sysdate);
if updating then insert into XX values (user,'update',sysdate(求当前的时间));
。。。。。。。。
update dept set deptno = 99 where deptno =10;--该语句存在错误,因为(deptno=10)有以此作为参考的表,即违反了外键(FK)的约束条件
用下列方法解决上述问题:
create or replace trigger trig after(before) update on dept for each row
begin
update emp set deptno= :NEW.deptno where deptno = :OLD.deptno;
end;
再执行
update dept set deptno = 99 where deptno =10;
就合法了。
分享到:
相关推荐
存储过程-触发器-函数.ppt
存储过程-函数-触发器.sql
本套教程全面覆盖了Oracle数据库的核心编程元素,包括存储过程、函数、触发器、异常处理、游标和存储包,这些都是数据库开发和管理中的关键概念。 首先,我们来详细了解存储过程。存储过程是一组预编译的SQL语句,...
在数据库管理领域,存储过程、触发器和包是PL/SQL编程的重要组成部分,它们提供了高效、灵活的数据操作和业务逻辑实现。以下是对这些概念的详细解释: 1. **存储过程**: 存储过程是一种预编译的SQL语句集合,存储...
- 在创建数据库对象前,如表、视图或存储过程等,需要检查是否已有同名对象存在,以避免命名冲突。 #### 四、注意事项 1. **调用存储过程时传递参数**: - 当调用存储过程时,确保按照参数列表正确传递参数。 - 参数...
根据提供的文件内容,以下是关于存储过程、触发器以及ODBC数据库编程的知识点整理。 知识点一:存储过程概述 存储过程是一组为了完成特定功能的SQL语句集,它在数据库中存储并且编译好,可以被多次调用执行。从文档...
存储过程是预编译的SQL语句集合,可以理解为数据库中的可重用函数。在本实验中,我们看到了几个不同类型的存储过程的创建和使用。例如,`jsearch`是一个带参数的存储过程,接收一个工程代号作为输入,然后返回与该...
在Oracle数据库系统中,"过程-触发器-包"是一个重要的概念组合,它们是数据库管理和应用程序开发中的核心组件。下面将分别对这三个概念进行详细解释。 1. **过程(Procedure)**: 在Oracle中,过程是一组PL/SQL...
存储过程、函数、触发器和包
SQL的存储过程、触发器等建立视图存储过程触发器函数(自定义函数)索引 视图 视图是从一个或几个基本表(或视图)导出的表。不同的是,它是一虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据...
根据提供的信息,我们可以深入探讨存储过程、存储函数与触发器的相关知识点。 ### 存储过程 存储过程是一种预编译的SQL代码块,它被存储在数据库中,并且可以通过简单的调用来执行复杂的逻辑操作。存储过程可以...
在数据库管理中,函数、触发器和存储过程是三个重要的概念,它们极大地增强了数据处理的灵活性和效率。 **一、MySQL数据库函数** 函数是预定义的代码块,接受一个或多个参数,并返回一个值。MySQL提供了丰富的内置...
通过这些实验步骤,学生能够深入理解存储过程和触发器的工作原理及其在实际数据库应用中的作用。同时,这些操作也展示了如何在数据库管理系统中编写和管理这些数据库对象,有助于提升数据库设计和管理能力。
### PL/SQL程序设计——存储过程、函数与触发器 #### 概述 PL/SQL是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵功能和传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂...
《Oracle触发器与存储过程高级编程》第3版是一本深入探讨Oracle数据库中触发器和存储过程技术的专业书籍。在Oracle数据库系统中,触发器和存储过程是数据库管理员和开发人员进行复杂业务逻辑处理和数据管理的重要...
这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...
这些是平时个人兴趣爱好收集到的易飞ERP系统触发器/函数/储存过程/视图集。适合人群:系统管理员,运维专员或鼎捷顾问等
存储过程、触发器和函数是数据库管理系统中常用的功能,它们能够帮助我们提高数据操作的效率和安全性。以下是对这些知识点的详细说明: 1. **存储过程**: - 存储过程是一组预编译的SQL语句,可以接受输入参数,...
### 自定义函数、存储过程和触发器 #### 9.1 自定义函数 自定义函数是在SQL Server中由用户自行创建的一种子程序,用于补充和扩展系统提供的内置函数功能。自定义函数的主要目的是提高代码的复用性以及解决特定...