Oracle10g学习笔记2

PL/SQL基础

实现了将结构与oracleSQL语句进行无缝集成,从而对用户提供了一种功能强大的结构化查询设计语言,同时oracle也集成了面向过程语言的过程结构和强大的数据库操作,为设计复杂的数据库应用提供了可靠的程序设计语言。

以块的方式来完全相关功能。

PL/SQL结构块如下:

DECLARE  变量声明

…………赋予变量适当名称,正确数据类型,定义变量(标准、记录),控制变量范围。

BEGIN

…………

EXCEPTION

…………

END;

/

如:declare

X varchar2(10);

Begin

X:=’this is..’;

DBMS_OUTPUT.PUT_LINE(‘x的值为:’||x);    -- 打印输出

END;

/

显示出:PL/SQL过程已成功完成。

|| 表示 拼接两个字符,同时,不同的数据类型也可由此连接

但是没有显示信息,为了显示信息,如下:

SET SERVEROUTPUT ON SIZE 10000 

再输入上段语句,或者直接L/

显示:x的值为:This is..

-- 表示行注释   /*   */ 块注释

DBMS_OUTPUT是系统提供的包,用于实现和外部交互的工具

实例:

declare

x varchar2(20);

Y string(10):='123456';

begin

x:='This is..   ';

DBMS_OUTPUT.PUT_LINE('x的值为:'||x  ||'Y的值为:'||y);

END;

   /

分支语句:

IF分支

IF… THEN

……

ELSIF…THEN

……

ELSE

……

END IF

CASE分支:

CASE

WHEN ……

……

ELSE

END CASE

 

循环语句:

1 基本循环

  LOOP

  ……

   END LOOP

2 WHILE循环

  WHILE  expression LOOP

  ……

  END LOOP

3         FOR循环    可以不定义变量

BEGIN

FOR i IN  REVERSE 1..5 LOOP    --从大到小循环

DBMS_OUTPUT.PUT_LINE('i='||i);

END LOOP;

DBMS_OUTPUT.PUT_LINE('END OF FOR LOOP');

END;

/

GOTO语句实现循环:

DECLARE

X NUMBER;

BEGIN

X:=0;

<<repeat_loop>>   --加标签

X:=x+1;

DBMS_OUTPUT.PUT_LINE(X);

IF X<3 THEN

GOTO repeat_loop;

END IF;

END;

/

异常处理

   PLSQL中一个警告或者错误都被称为异常。编译时错误和运行时刻错误。

   异常分类:系统异常、自定义异常

 

复合变量:记录  record

  记录是几个相关值构成的复合变量,常用于支持SELECT语句的返回值。使用记得可以将一行数据看成一个单元进行处理,而不必将每一列单独处理。

   声明记录:

   DECLARE

TYPE myrecord IS RECORD(

   Id varchar2(10),

Name varchar2(10));

Real_record myrecord;

BEGIN

SELECT eid,ename INTO real_record FROM emp WHERE emp_id=’001’;

DBMS_OUTPUT.PUT_LINE(real_record.id || ‘.’ || real_record.name);

END;

/

posted @ 2008-07-09 13:52  常ヤ訁笑囧  阅读(234)  评论(0编辑  收藏  举报