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;

原创粉丝点击