WEB开发网
开发学院数据库Oracle 从零开始学Oracle—PL/SQL(七) 阅读

从零开始学Oracle—PL/SQL(七)

 2009-04-09 13:13:35 来源:WEB开发网   
核心提示: 语言特征:<1>,大小写不敏感<2>,复合符号的含义 := 赋值操作符 ||连接操作符 ..范围操作符 **求幂操作符 《,》标签分隔符 --单行注释 /*,从零开始学Oracle—PL/SQL(七)(2),*/多行注释<3>声明变量 --变量名 数据类

语言特征:

<1>,大小写不敏感

<2>,复合符号的含义

:=   赋值操作符   ||连接操作符  ..范围操作符  **求幂操作符 《,》标签分隔符    --单行注释  /*,*/多行注释

<3>声明变量   --变量名  数据类型 :=值  例: varA  varchar2(10):='声明变量';

<4>声明常量   --变量名 constant 数据类型 := 值  

---------------- 技巧:初始化变量和常量时,保留字default可替换:=赋值操作符--------------

<5>属性类型

   %type   --引用某个变量或数据库列的数据类型来声明变量
   %rowType  --提供表示表中一行的记录类型

<6>控制结构

   a,条件控制  if  then  或     if  then  else   或    if  then  elsif   或     case
   b,循环控制 loop
                  while              exit或exit when退出
                  for
   c,顺序控制  Goto             Null语句

语法示例:

  1--PL/SQL 简单语法
  2
  3Begin
  4  null; 
  5End;
  6/
  7
  8Declare
  9  varA number(4);
 10Begin
 11  varA := 1234;
 12  DBMS_output.put_line(varA);
 13End;
 14/
 15
 16Declare
 17  varA number(4);
 18Begin
 19  varA := 1234;
 20  DBMS_output.put_line(varA);
 21  Declare
 22    varB number(4):=2234;
 23  Begin
 24    DBMS_output.put_line(varA);
 25    DBMS_output.put_line(varB);
 26  End;
 27  DBMS_output.put_line(varB);
 28End;
 29/
 30
 31Declare
 32  varA number(4);
 33  varB number(4):=2234;
 34Begin
 35  varA := 1234;
 36  DBMS_output.put_line(varA||'  '||varB);
 37End;
 38/
 39Begin块 注意事项:
 40-- 数据定义语言不能直接执行
 41Begin
 42  drop table depta;
 43End;
 44/
 45
 46-- select不能直接执行
 47select  --必须使用select into 形式,只能且必须返回一行
 48Declare
 49  varE empa%rowType;  --与表的一行类型一样
 50  vno empa.empno%type;  -- 与表的某列类型一样
 51Begin
 52  vno := 7902;
 53  select * into varE from empa where empno = vno;
 54  DBMS_output.put_line( varE.ename||'  '||varE.job);
 55End;
 56/
 57
 58inset  --可以直接执行
 59Declare
 60  vno empa.empno%type;
 61  vna empa.ename%type;
 62  vjob empa.job%type;
 63Begin
 64  vno := 1236;
 65  vna := 'Wing';
 66  vjob := 'MANAGER';
 67  insert into empa (empno,ename,job) values(vno,vna,vjob);
 68End;
 69/
 70
 71delete --可以直接执行
 72Declare
 73  vno empa.empno%type;
 74Begin
 75  vno := 5555;
 76  delete from empa where empno = vno;
 77End;
 78/
 79
 80
 81update --可以直接执行
 82Declare
 83  vno empa.empno%type;
 84  rsal empa.sal%type;
 85Begin
 86  vno := 1236;
 87  rsal := 100;
 88  update empa set sal = nvl(sal,0) + rsal where empno = vno;
 89End;
 90/
 91
 92 --事物控制语言可以直接执行
 93Declare
 94  vno empa.empno%type;
 95  rsal empa.sal%type;
 96Begin
 97  vno := 1236;
 98  rsal := 100;
 99  update empa set sal = nvl(sal,0) + rsal where empno = vno;
100  commit;
101End;
102/
103
104 -- 数据安全语言(DCL)不能直接执行
105Begin
106  grant connect to scott;
107End;
108/

Tags:开始 Oracle PL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接