您的位置:首页 > 数据库 > Oracle

Oracle 学习:PL/SQL循序渐进全面学习教程--课程九 声明变量

2009-11-08 00:32 751 查看
课程九 声明变量
  
  本课重点:
  1、了解基本的PLSQL块和区域
  2、描述变量在PLSQL中的重要性
  3、区别PLSQL与非PLSQL变量
  4、声明变量
  5、执行PLSQL块
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  1、PLSQL 块结构:
  DECLARE --- 可选
  变量声明定义
  BEGIN ---- 必选
  SQL 和PLSQL 语句
  EXCEPTION ---- 可选
  错误处理
  END;---- 必选
  二、实例:
  declare
  vjob varchar(9);
  v_count number:=0;
  vtotal date:=sysdate +7;
  c_tax constant number(3,2):=8.25;
  v_valid boolean not null:=true;
  begin
  select sysdate into vtotal from dual;
  end;
  /
  上例中,如果没有这个SELECT语句,会如何?
  出错,说明必须有STATEMENTS
  如果: select sysdate from dual into vtotal ;
  同样,也不行。而且变量与赋值的类型要匹配。
  三、%TYPE的属性
  声明一个变量使之与数据库某个列的定义相同或与另一个已经定义过的变量相同
  所以%TYPE要作为列名的后缀:如:
  v_last_name s_emp.last_name%TYPE;
  v_first_name s_emp.first_name%TYPE; --这样做的好处是我们不必去知晓此列的类型与定义
  或:v_balance NUMBER(7,2);
  v_minimum_balance v_balance%TYPE := 10;
  四、声明一个布尔类型的变量
  1 只有TRUE、FALSE、NULL可以赋值给BOOLEAN变量
  2 此变量可以接逻辑运算符NOT、AND、OR。
  3、变量只能产生TRUE、FALSE、NULL。
  实例:
  VSAL1:=50000;
  VSQL2:=60000;
  VCOMMSAL BOOLEAN:=(VSAL1<VSQL2);
  --其实是把TRUE赋值给此变量。
  五、LOB 类型的变量
  共有CLOB、BLOB、BFILE、NCLOB几种,这里不做为重点。
  六:使用HOST VARIABLES
  SQL> variable n number
  SQL> print n
  :n=v_sal /12;
  :n这个加了:前缀的变量不是PLSQL变量,而是HOST。
  七、以下几个PLSQL声明变量,哪个不合法?
  A 、DECLARE
  V_ID NUMBER(4);
  B、DECLARE
  V_X,V_Y,V_Z VARCHAR2(9);
  C、DECLARE
  V_BIRTH DATE NOT NULL;
  D、DECLARE
  V_IN_STOCK BOOLEAN:=1;
  E、DECLARE
  TYPE NAME_TAB IS TABLE OF VARCHAR2(20)
  INDEX BY BINARY_INTEGER;
  DEPT_NAME NAME_TAB;
  上面的习题我会在下章给出答案,这也正是声明变量的规则和难点。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐