pl/sql语法

程序结构
 
declare
     说明部分 定义变量
begin
     语句序列DML语句
exception
     处理例外
end;
 
语法
PLSQLOraclesql语言的过程化扩展,指在SQL命令语言中增加了过程处理语句(如分支、循环等),
使SQL语言具有过程处理能力。把SQL语言的数据操纵能力与过程语言的数据处理能力结合起来,
使得PLSQL面向过程但比过程语言简单、高效、灵活和实用。
变量

在程序的声明阶段可以来定义常量和变量。

  • 变量的基本类型就是ORACLE中的建表时字段的变量如char, varchar2, date, number, boolean, long
定义语法:varl  char(15);
            Psal  number(9,2);
说明变量名、数据类型和长度后用分号结束说明语句。
常量定义:married   constant boolean:=true
  • 引用变量
Myname  emp.ename%type;
引用型变量,即my_name的类型与emp表中ename列的类型一样
sql中使用into来赋值

declare emprec emp.ename%type;

begin

  select t.ename into emprec from emp t where t.empno = 7369;

  dbms_output.put_line(emprec);

end;

将查询到的语句赋值给emprec

  • 记录型变量
Emprec  emp%rowtype 代表一行
记录变量分量的引用
 

注意   := 赋值符号等价于java中的=;

         = 逻辑等,判断两个值是否相等,等价于java中的==
循环
LOOP [luːp]循环语句
其中语法2比较常用

语法1

WHILE  条件  LOOP

.. .

total : = total + salary;

END  LOOP;

语法2

Loop

EXIT  when   条件;

……

End loop

语法3

FOR   I   IN   1 . . 3    LOOP

语句序列 ;

END    LOOP ;

 
 1 范例:使用语法1输出1到10的数字
 2  
 3 declare
 4  
 5   step number := 1;
 6  
 7 begin
 8  
 9   while step <= 10 loop
10  
11     dbms_output.put_line(step);
12  
13     step := step + 1;
14  
15   end loop;
16  
17 end;
 
原文地址:https://www.cnblogs.com/anzhi/p/7515928.html