plsql 用户完全手册

plsql 用户完全手册

ID:40762921

大小:2.33 MB

页数:300页

时间:2019-08-07

plsql 用户完全手册_第1页
plsql 用户完全手册_第2页
plsql 用户完全手册_第3页
plsql 用户完全手册_第4页
plsql 用户完全手册_第5页
资源描述:

《plsql 用户完全手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一章PL/SQL一览一、理解PL/SQL的主要特性了解PL/SQL最好的方法就是从简单的实例入手。下面的程序是用于处理一个网球拍订单的。首先声明一个NUMBER类型的变量来存放现有的球拍数量。然后从数据表inventory中把球拍的数量检索出来。如果数量大于零,程序就会更新inventory表,并向purchase_record表插入一条购买记录,如果数量不大于零,程序会向purchase_record表插入一条脱销(out-of-stock)记录。DECLARE  qty_on_hand   NUMBER(5)

2、;BEGIN  SELECT        quantity           INTO qty_on_hand           FROM inventory          WHERE product = 'TENNIS RACKET'  FOR UPDATE OF quantity;  IF qty_on_hand > 0 THEN   -- check quantity    UPDATE inventory       SET quantity = quantity - 1     WHERE pr

3、oduct = 'TENNIS RACKET';    INSERT INTO purchase_record         VALUES ('Tennis racket purchased', SYSDATE);  ELSE    INSERT INTO purchase_record         VALUES ('Out of tennis rackets', SYSDATE);  END IF;  COMMIT;END;在PL/SQL中,可以使用SQL语句来操作Oracle中的数据,并使用流程控制语句来

4、处理数据。我们还可以声明常量和变量,定义函数和过程并捕获运行时错误。因此,PL/SQL是一种把SQL对数据操作的优势和过程化语言数据处理优势结合起来的语言。1、块结构PL/SQL是一种块结构的语言,它的基本组成单元是一些逻辑块,而这些块又能嵌套任意数量子块。通常,每一个逻辑块都承担一部分工作任务,PL/SQL这种将问题分而治之(divide-and-conquer)的方法称为逐步求精(stepwiserefinement)。块能够让我们把逻辑相关的声明和语句组织起来,声明的内容对于块来说是本地的,在块结构退出时它们

5、会自动销毁。如下图所示,一个块分为三个部分:声明,处理,异常控制。其中,只有处理部分是必需的。首先程序处理声明部分,然后被声明的内容就可以在执行部分使用,当异常发生时,就可以在异常控制部分中对抛出的异常进行捕捉、处理。我们还可以在处理部分和异常控制部分嵌套子块,但声明部分中不可以嵌套子块。不过我们仍可以在声明部分定义本地的子程序,但这样的子程序只能由定义它们的块来调用。2、变量与常量PL/SQL允许我们声明常量和变量,但是常量和变量必须是在声明后才可以使用,向前引用(forwardreference)是不允许的。·

6、变量声明变量可以是任何SQL类型,如CHAR,DATE或NUMBER等,也可以是PL/SQL类型,BOOLEAN或BINARY_INTEGER等。声明方法如下:part_no NUMBER(4);in_stock BOOLEAN;我们还可以用TABLE、VARRAY和RECORD这些复合类型来声明嵌套表、变长数组(缩写为varray)和记录。·变量赋值我们可以用三种方式为变量赋值,第一种,直接使用赋值操作符":=":tax         := price * tax_rate;valid_id    := FAL

7、SE;bonus       := current_salary * 0.10;wages       := gross_pay(emp_id,                         st_hrs,                         ot_hrs                        ) - deductions;第二种,利用数据库中查询的结果为变量赋值:SELECT sal * 0.10  INTO bonus  FROM emp WHERE empno = emp_id;第三种,

8、把变量作为一个OUT或INOUT模式的参数传递给子程序,然后由子程序为其赋值。如下例所示,INOUT参数可以为被调用的子程序传递初始值然后子程序将更新后的新值返回给调用程序:DECLARE  my_sal REAL(7,2);  PROCEDURE adjust_salary (emp_id INT, salary IN OUT REAL) IS ...BE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。