一. 变量声明
1)声明变量
<变量名> <类型>[(宽度):=<初始值>];
eg:
BookName varchar2;
BookName varchar2(50) := 'Programming PL/SQL';
2)声明常量
<变量名> constant <类型> :=<值>;
eg:
maxNum constant Number := 100;
二. 赋值语句
PL/SQL中的赋值 有点像我们以前用的pascal中的赋值,是符号":="。
eg:
var_Num : = 10;
三. 程序控制语句
1)条件语句 (有点像VB)
if <条件1> then
......
elsif <条件2> then
......
else
......
end if;
eg:
if
Num
<
0
then
dbms_output.put_line( ' 负数 ' );
elsif Num > 0 then
dbms_output.put_line( ' 正数 ' );
else
dbms_output.put_line( ' 零 ' );
end if ;
dbms_output.put_line( ' 负数 ' );
elsif Num > 0 then
dbms_output.put_line( ' 正数 ' );
else
dbms_output.put_line( ' 零 ' );
end if ;
2)分支语句
case <变量>
when <表达式1> then 值1
when <表达式2> then 值2
......
else 值n
end;
eg:
/*
分支语句
*/
declare
varDay integer : = 3 ;
Result varchar2 ( 20 );
begin
Result : = case varDay
when 1 then ' 星期一 '
when 2 then ' 星期二 '
when 3 then ' 星期三 '
when 4 then ' 星期四 '
when 5 then ' 星期五 '
when 6 then ' 星期六 '
when 7 then ' 星期日 '
else ' 数据越界 '
end ;
dbms_output.put_line(Result);
end ;
分支语句
*/
declare
varDay integer : = 3 ;
Result varchar2 ( 20 );
begin
Result : = case varDay
when 1 then ' 星期一 '
when 2 then ' 星期二 '
when 3 then ' 星期三 '
when 4 then ' 星期四 '
when 5 then ' 星期五 '
when 6 then ' 星期六 '
when 7 then ' 星期日 '
else ' 数据越界 '
end ;
dbms_output.put_line(Result);
end ;
3) loop - end循环
loop - end循环可以通过exit when设置条件来退出循环。
eg:
/*
loop - end循环:计算阶乘
*/
declare
v_Num integer : = 1 ;
v_Sum integer : = 1 ;
begin
loop
v_Sum : = v_Sum * v_Num;
dbms_output.put(v_Num);
exit when v_Num = 5 ;
dbms_output.put( ' * ' );
v_Num : = v_Num + 1 ;
end loop;
dbms_output.put( ' = ' );
dbms_output.put_line(v_Sum);
end ;
loop - end循环:计算阶乘
*/
declare
v_Num integer : = 1 ;
v_Sum integer : = 1 ;
begin
loop
v_Sum : = v_Sum * v_Num;
dbms_output.put(v_Num);
exit when v_Num = 5 ;
dbms_output.put( ' * ' );
v_Num : = v_Num + 1 ;
end loop;
dbms_output.put( ' = ' );
dbms_output.put_line(v_Sum);
end ;