PL/SQL程序(一)
来源:互联网 发布:金属中性笔 知乎 编辑:程序博客网 时间:2024/05/17 03:59
例一:在屏幕上显示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:=# beginif pnum>10 thendbms_output.put_line('变量值大于10');elsif pnum=10 thendbms_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、LoopEXIT [when 条件];……End loop例四:循环语句示例:输出数字1—10方法一:declarenum number := 1;begin while num<=10loop dbms_output.put_line(num); num :=num+1;end loop;end;方法二:for方法declarenum number := 10;begin for num in 1..10loop dbms_output.put_line(num);end loop;end;方法三:declarenum number := 1;beginloop exit when num>10; -----当num>10的时候停止执行 dbms_output.put_line(num); num :=num+1;end loop;end;