大家好,又见面了,我是你们的朋友全栈君
目录
PL/SQL(Procedure Language/SQL)程序语言是 Oracle 对 SQL 语言的过程化扩展,指在 SQL 命令语言中增加了过程处理语句(如:分支、循环等),使 SQL 命令语言具有过程处理能力。把 SQL 语言的数据操纵能力与过程语言的数据处理能力结合起来,使得 PL/SQL 面向过程但比过程语言简单、高效、灵活和实用。其基本语法结构为PL/SQL块。
在 PL/SQL 中,最小的有意义的代码分组被称为块。块代码为变量声明和异常处理提供执行和作用域边界。PL/SQL 允许您创建匿名块和命名块。命名块可以是包、过程、函数、触发器或对象类型。PL/SQL 是 SQL 的过程语言扩展,它具有块结构。每一段代码都在块中执行。
PL/SQL有四个关键字:
这是为游标、数据类型定义、变量、嵌入函数和过程分配内存的位置。
它以关键字BEGIN开头。BEGIN标志着你把程序逻辑放在哪里的开始。并且每个PL/SQL程序必须至少有一行可执行代码,即使它是关键字NULL,这意味着没有操作。
它以关键字EXCEPTION开头。这是您将捕获任何数据库或PL/SQL错误的地方。
[ DECLARE ... declaration statements ... ]
BEGIN ... one or more executable statements ...
[ EXCEPTION
... exception handler statements ... ]
END;
其中, 方括号表示语法的可选部分。您必须具有BEGIN和END语句,并且必须至少有一个可执行语句。
-- This is an anonymous procedure, so it has no name
declare
/*
declare local cursors, variables, and methods here.
We don't need to have a declaration section.
*/
begin
-- You write your logic here
null; -- at least one command!
exception
when NO_DATA_FOUND then
raise_application_error(-20000, 'No Data Found!');
end;
/ -- the forward slash says execute this procedure
-- 告诉SQL * Plus在PL / SQL过程完成后,将您的会话的数据库输出回显到屏幕。注意,这是一个SQL * Plus命令,不是匿名块的一部分。
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
DBMS_OUTPUT.PUT_LINE(SYSDATE);
END;
/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182739.html原文链接:https://javaforall.cn