PL/SQL块分类,分为以下四类,匿名块、命名块,子程序,触发器
A、
匿名块,示例如下
DECLARE
v_avgsal NUMBER(6,2)
BEGIN
SELECT avg(sal) INTO v_avgsal FROM emp
WHERE deptno = &no;
dbms_output.putline('平均工资'||v_avgsal)
END;
输出:
输入 no的值 :10
平均工资:2916.67
B、
命名块
<<outer>>
DECLARE
v_deptno NUMBER(2);
v_dname varchar2(10);
BEGIN
<<inner>>
select deptno into v_deptno from EMPLOYEES
WHERE lower(ename) = lower('&name');
END;
select dname into v_dname from EMPLOYEES
WHERE deptno = v_deptno;
dbms.output.put_line(v_dname);
END;
输出:
输入name的值:scott
部门名;RESEARCH
C.子程序。子程序包括过程。函数和包
a,过程
CREATE PROCEDURE update_sal(name_ VARCHAR2,newsal NUMBER)
IS
BEGIN
update EMPLOYEES set salary = newsal
where lower(FIRST_NAME) = lower(name_);
END;
调用过程如下
exec update_sal('scott',2000);
call update_sal('scott',2000);
b,函数,函数用于返回特定数据,在函数头部必须包含Return语句,
在函数体内必须包含RETURN 语句
CREATE FUNCTION annaual_income(name VARCHAR2)
RETURN NUMBER IS
annual_salary NUMBER(7,2);
BEGIN
SELECT sal*12+nal(comm,0) INTO annual_salary FROM EMPLOYEES
WHERE lower(FIRST_NAME) = lower(name);
RETURN annual_salary;
END;
调用过程如下
VAR income NUMBER
CALL annual_salary_('Alana') INTO :income;
PRINT income;
输出:
income
24000
c.包,用于定义公用的变量。过程。常数和函数
CREATE PACKAGE emp_pkg IS
PROCEDURE update_sal(name VARCHAR2,newsal NUMBER)L
FUNCTION annual_income(name VARCHAR2) RETURN NUMBER;
END;
上面代码只包含了过程和函数,没有实现过程和函数的实现
代码,包体用于实现包规范中的过程和函数
使用CREATE PACJAGE BOD。代码略
调用如下:
call emp_pkg.update_sal('scott',1500);
VAR income NUMBER
CALL emp_pkg.annual_income('scott') INTO :income;
PRINT income
输出:
income
18000
D.触发器
CREATE TRIGGER update_cascade
AFTER UPDATE OF DEPARTMENT_ID ON DEPARTMENTS
FOR EACH ROW
BEGIN
UPDATE EMPLOYEES SET EMPLOYEE_ID =:new.EMPLOYEE_ID
WHERE EMPLOYEE_ID =:OLD.EMPLOYEE_ID;
END;
分享到:
相关推荐
根据提供的文件信息,我们可以归纳出一系列关于...以上内容涵盖了Oracle数据库中SQL与PL/SQL的基础知识和常用功能,对于学习和复习都非常有用。理解并熟练掌握这些概念和技术,将有助于提高数据库管理和开发的能力。
Oracle PL/SQL是一种在Oracle数据库环境中用于开发存储过程、函数、触发器和其他数据库对象的编程语言。它是SQL的扩展,提供了更高级别的控制结构和流程逻辑,使得数据库管理与应用程序开发更加灵活和强大。 PL/SQL...
在Oracle数据库环境中,PL/SQL是一种强大的编程语言,它扩展了SQL的功能,使得数据库操作更加灵活和高效。本文将深入探讨PL/SQL程序设计中的一些关键知识点,包括基本语法、记录类型、流程控制、游标使用、异常处理...
Oracle数据库是世界上最广泛使用的数据库系统之一,其PL/SQL(Procedural Language/Structured Query Language)编程接口,也就是我们常说的PROC,是Oracle特有的、用于数据库操作的强大编程语言。"Oracle第一天练习...
数据结构是计算机科学中的核心课程之一,它探讨了如何有效地组织和管理数据,以便于高效地执行各种操作。《数据结构用C语言描述》是一本广泛使用的教材,它结合了理论与实践,通过C语言来阐述各种数据结构的实现。这...
2. 1Z0-007 Note.doc:1Z0-007是Oracle Certified Associate, Oracle Database 12c Administrator Certified Professional的考试代码,这个文档可能是针对该考试的复习笔记或学习指南,包含PL/SQL部分的要点,如数据...
- **PL/SQL**(Procedural Language for SQL)是一种过程化SQL扩展语言,用于实现复杂的数据库操作。 #### PL/SQL块组成 1. **选项A**:PL/SQL支持游标操作和事务命令,这是正确的。 2. **选项B**:声明部分在PL/...
Oracle开发不仅涉及到SQL语言的使用,还包括PL/SQL编程、数据库设计、性能优化等多个方面。1000.jpg可能是一张包含关键概念或流程图的图片,用于辅助理解复杂的Oracle架构或操作步骤。新建 Microsoft PowerPoint ...
Oracle 选择题复习(带答案) 本资源摘要信息涵盖了 Oracle 数据库的多个方面,包括数据库启动和关闭、参数文件、控制文件、表空间、PL/SQL 编程、异常处理、数据库性能等。 参数文件 * 在参数文件中,以 # 符号...
在准备考试或复习相关知识点时,理解并掌握每一项基本概念都是至关重要的,这有助于提升解决问题的能力和编写高质量代码的能力。 综上所述,“ssd5-exam1选择题题库”覆盖了C++编程语言中的多个核心知识点,包括...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的PL/SQL编程环境来处理复杂的数据库操作。在上述的复习资料中,主要涉及了两个重要的PL/SQL编程概念:循环和异常处理。 1. 循环: - 简单Loop循环...
本复习资料主要涵盖了Oracle中的数据操作语言(DML)和过程化SQL(PL/SQL)的相关实例,这对于理解和掌握Oracle数据库的操作至关重要。 1. 数据操作语言(DML): DML是Oracle中用于插入、更新、删除和查询数据的...
oracle PL/sql语言复习资料,很全的oracle函数,sql语句,以及游标,存储过程,触发器等复习资料.
PL/SQL SQL语言复习笔记 PL/SQL 是一种 procedural language,用于处理和操作数据库中的数据。它是 Structured Query Language(SQL)的扩展,提供了更多的编程功能和控制能力。 SQL 语言的发展 SQL 语言的发展...
- **特性**:使用PL/SQL作为其过程化SQL语言,适用于大型企业级应用。 - **平台**:可以在多种操作系统上运行,包括Unix、Linux等。 3. **MySQL** - **特性**:轻量级且易于安装配置,适合小型到中型的应用。 -...
本题涉及到的知识点涵盖了Oracle数据库的基础概念、SQL语法、数据类型、数据库对象以及PL/SQL编程。 1. **Oracle数据库应用**:Oracle数据库的应用主要分为开发和管理两大部分。开发主要涉及编写SQL和PL/SQL代码来...