Plsql 简明教程
PL/SQL - Basic Syntax
在本章中,我们将讨论 PL/SQL 的基本语法,这是一种 block-structured 语言;这意味着 PL/SQL 程序被划分为逻辑代码块并编写在这些逻辑代码块中。每个块包含三个子部分:−
S.No |
Sections & Description |
1 |
Declarations 此部分以关键字 DECLARE 开头。这是一个可选部分,它定义了程序中要使用的所有变量、游标、子程序和其他元素。 |
2 |
Executable Commands 此部分包含在关键字 BEGIN 和 END 之间,并且是一个强制部分。它包含程序的可执行 PL/SQL 语句。它应该至少包含一行可执行代码,这可能只是一个 NULL command ,表示什么都不应该执行。 |
3 |
Exception Handling 此部分以关键字 EXCEPTION 开头。此可选部分包含 exception(s) 来处理程序中的错误。 |
每个 PL/SQL 语句都以分号 (;) 结尾。PL/SQL 块可以使用 BEGIN 和 END 嵌套在其他 PL/SQL 块内。以下是 PL/SQL 块的基本结构:−
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
The 'Hello World' Example
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
end; 行表示 PL/SQL 块的结束。要在 SQL 命令行中运行代码,您可能需要在代码最后一行之后的第一个空白行的开头键入 /。在 SQL 提示符处执行以上代码时,它产生以下结果:−
Hello World
PL/SQL procedure successfully completed.
The PL/SQL Identifiers
PL/SQL 标识符是常量、变量、异常、过程、游标和保留字。标识符由一个字母(后面可以跟更多字母、数字、美元符号、下划线和数字符号)组成,并且不应超过 30 个字符。
默认情况下, identifiers are not case-sensitive 。因此,你可以使用 integer 或者 INTEGER 来表示数值。你不能将保留关键字用作标识符。
The PL/SQL Delimiters
分隔符是具有特殊含义的符号。以下是 PL/SQL 中的分隔符列表:
Delimiter |
Description |
+, -, *, / |
Addition, subtraction/negation, multiplication, division |
% |
Attribute indicator |
' |
Character string delimiter |
. |
Component selector |
(,) |
Expression or list delimiter |
: |
Host variable indicator |
, |
Item separator |
" |
Quoted identifier delimiter |
= |
Relational operator |
@ |
Remote access indicator |
; |
Statement terminator |
:= |
Assignment operator |
⇒ |
Association operator |
* |
|
* |
Concatenation operator |
** |
Exponentiation operator |
<<, >> |
标签分隔符(开始和结束) |
/, / |
多行注释分隔符(开始和结束) |
-- |
Single-line comment indicator |
.. |
Range operator |
<, >, ⇐, >= |
Relational operators |
<>, '=, ~=, ^= |
不同版本的 NOT EQUAL |
The PL/SQL Comments
程序注释是可以包括在你所编写的 PL/SQL 代码中的解释性语句,并且有助于其他人阅读其源代码。所有编程语言都允许某种形式的注释。
PL/SQL 支持单行和多行注释。PL/SQL 编译器会忽略出现在任何注释中的所有字符。PL/SQL 单行注释以分隔符 (双连字符) 开始,多行注释则由 /* 和 */ 括住。
DECLARE
-- variable declaration
message varchar2(20):= 'Hello, World!';
BEGIN
/*
* PL/SQL executable statement(s)
*/
dbms_output.put_line(message);
END;
/
当以上代码在 SQL 提示符下执行时,它会生成以下结果:
Hello World
PL/SQL procedure successfully completed.