您的位置:首页 > 数据库

PL/SQL程序(一)

2012-03-21 18:27 113 查看
例一:在屏幕上显示hello World字样
Java程序
Public static void main(String[] args){
System.out.println(“hello World”);
}
PL/SQL程序
SQL> declare
2  begin
3  dbms_output.put_line('hello  World');
4  end;
5  /
注意:如果要在屏幕上输出信息,需要将serveroutput开关打开
SQL>   set serveroutput on;

什么是PL/SQL?
1、PL/SQL(Procedure Language/SQL)
2、PLSQL是Oracle对sql语言的过程化扩展
3、指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。

Sql优点:
1、	交互式非过程化
2、	数据操纵功能强
3、	自动导航语句简单
4、	调试容易使用方便

例二:为职工长工资,每人长10%的工资
Update emp set sal=sal*1.1;
注:把sql语言的数据操纵能力与过程语言的数据处理能力结合起来,使得PLSQL面向过程但比工程语言简单、高效、灵活和实用。

PL/SQL程序结构
Declare
说明部分(变量说明,光标申明,例外说明)
Begin
语句序列(DML语句)
Exception
例外处理语句
End;/

变量和常量说明
Var1 char(15); 说明变量名、数据类型和长度后用分号结束说明语句
My_name emp.ename%type; 引用型变量,既my_name的类型与emp表中ename列的类型一样
Emp_rec emp%rowtype;  记录型变量

If语句
1.      IF   条件  THEN 语句1;
语句2;
end if;
2. IF  条件  THEN  语句序列1;
ESLE   语句序列 2;
END   IF;
3. IF   条件  THEN 语句;
ELSIF  语句  THEN  语句;
ELSE    语句;
END  IF;

例三:If语句示例:
要求:从键盘输入,并判断用户输入的数字
declare
pnum number:=#
begin
if pnum>10 then
dbms_output.put_line('变量值大于10');
elsif pnum=10 then
dbms_output.put_line('变量值等于10');
else
dbms_output.put_line('变量小于10');
end if ;
end;
提示:从键盘输入:
accept num prompt '请输入一个数字';
得到键盘输入的值:
pnum number := #

循环语句:
1、WHILE  total  <= 25000  LOOP
.. .
total : = total + salary;
END  LOOP;
2、FOR   I   IN   1 . . 3    LOOP
语句序列 ;
END    LOOP ;
3、Loop
EXIT [when   条件];
……
End loop

例四:循环语句示例:
输出数字1—10
方法一:
declare
num number := 1;
begin
while num<=10
loop
dbms_output.put_line(num);
num :=num+1;
end loop;
end;

方法二:for方法
declare
num number := 10;
begin
for num in 1..10
loop
dbms_output.put_line(num);
end loop;
end;

方法三:
declare
num number := 1;
begin
loop
exit when num>10;   -----当num>10的时候停止执行
dbms_output.put_line(num);
num :=num+1;
end loop;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: