PLSQL

PL/SQL块
PL/SQl是一种块结构的语言,每个逻辑块份为三个部分,语法是:
declare
–declaration statements

begin
–executable statements(2)
exception
–exeception statements

end;
语法解释:
(1)声明部分:声明部分包含了变量和常量的定义。这个部分由关键字declare开始,如果不声明变量或者常量,可以省略这部分。
(2)执行部分:执行部分是PL/SQL块的指令部分,由关键字begin开始,关键字end结尾。所有的开执行PL/SQL语句都是放在这一部分,该部分执行命令并操作变量。其他的PL/SQL块可以作为子块嵌套在该部分。PL/SQL块的执行部分是必选的。注意end关键字后面用分号结尾。
(3)异常处理部分:该部分是可选的,该部分用exception关键字把可执行的部分分为两个小部分,之前的程序是正常运行的程序,一旦出现异常就跳转到异常执行部分执行。
注意
若要在SQL*Plus环境中看到DBMS_OUTPUT.PUT_LINE方法的输出结果,必须将环境变量SERVEROUTPUT设置为ON。
SET SERVEROUTPUT ON
输出:DBMS_OUTPUT.PUT_LINE()

–控制结构
选择结构
循环结构
跳转结构
–选择结构
IF语句
CASE语句
–IF语句
IF condition1 THEN statements1;
[ELSIF condition2 THEN statements2;]
……
[ELSE else_statements];
END IF;
注意
条件是一个布尔型变量或表达式,取值只能是TRUE,FALSE,NULL。
–CASE语句
–基本语法
CASE
WHEN condition1 THEN statements1;
WHEN condition2 THEN statements2;
……
WHEN conditionn THEN statementsn;
[ELSE else_statements;]
END CASE;
注意
在CASE语句中,当第一个WHEN条件为真时,执行其后的操作,操作完后结束CASE语句。其他的WHEN条件不再判断,其后的操作也不执行。
–循环结构
简单循环
WHILE循环
FOR循环
–简单循环
–语法
LOOP
sequence_of_statement;
EXIT [WHEN condition] ;
END LOOP;
注意
在循环体中一定要包含EXIT语句,否则程序进入死循环
–WHILE循环
–基本语法
WHILE condition LOOP
sequence_of_statement;
END LOOP;
–FOR循环
–基本语法
FOR loop_counter IN [REVERSE]
low_bound…high_bound
LOOP
sequence_of_statement;
END LOOP;
注意:
循环变量不需要显式定义,系统隐含地将它声明为BINARY_INTEGER变量;
系统默认时,循环变量从下界往上界递增计数,如果使用REVERSE关键字,则表示循环变量从上界向下界递减计数;
循环变量只能在循环体中使用,不能在循环体外使用。
–跳转结构
语法格式:
《标号》

GOTO 标号;
说明:
块内可以跳转,内层块可以跳到外层块,但外层块不能跳到内层。
IF语句不能跳入。不能从循环体外跳入循环体内。不能从子程序外部跳到子程序中。
由于goto语句的缺点,建议尽量少用甚至不用goto语句。

符号说明:
** 求幂操作 3**2=9
—>declare
i integer;
begin
for i in 1…3 loop
dbms_output.put_line(i);
end loop;
end;
–变量声明
支持number,varchar2,date等数据类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值