📅  最后修改于: 2023-12-03 15:33:43.299000             🧑  作者: Mango
PL/SQL 是 Oracle 数据库中的一种编程语言,用于开发存储过程、触发器、函数、包等对象。在 Oracle 数据库中,PL/SQL 执行引擎被称为“PL/SQL 引擎”,其架构包括了以下几个部分:
解释器是 PL/SQL 引擎的核心部分,它实际上就是 PL/SQL 语言的编译器。当我们定义一个 PL/SQL 对象时,其实就是创建了一个 字符串,然后交给解释器进行编译,最终将生成一个存储过程、函数或者包等可执行的 PL/SQL 对象。
PL/SQL 引擎有一个运行时环境,它负责管理和运行 PL/SQL 对象。运行时环境包括:
PL/SQL 引擎的存储器包含两部分:
PL/SQL 引擎与 SQL 引擎之间通过通信接口进行沟通。当 PL/SQL 对象需要访问数据库时,它会调用通信接口与 SQL 引擎进行交互。
-- 创建一个存储过程,其中定义了一个变量和异常处理器
CREATE OR REPLACE PROCEDURE p1 AS
v_number NUMBER := 10;
BEGIN
-- 如果 v_number 大于 5,则抛出一个异常并输出错误信息
IF v_number > 5 THEN
RAISE_APPLICATION_ERROR(-20001, 'v_number is too big!');
END IF;
-- 如果没有异常,输出一个信息
DBMS_OUTPUT.PUT_LINE('p1 ran successfully!');
END;
/