Oracle 课程一 写执行语句

PL/SQL循序渐进-课程一写执行语句
===========================================================
 课程一 写执行语句
  
  本课重点:
  1、了解PLSQL执行区间的重要性
  2、写执行语句
  3、描述嵌套块的规则
  4、执行且测试PLSQL块
  5、使用代码惯例

 课程一 写执行语句
    
  一、PLSQL 块的语法规则:
  1、语句可以跨跃几行。
  2、词汇单元可以包括:分隔符、标识符、文字、和注释内容。
  3、分隔符:
  +-*/=<>||....
  4、标识符:
  最多30个字符,不能有保留字除非用双引号引起。
  字母开头,不与列同名。
  5、文字串:如 V_ENAME:='FANCY';要用单引号括起来。
  数值型可以用简单记数和科学记数法。
  6、注释内容:单行时用--  多行用/*  */
  与C很相似
  二、SQL函数在PL/SQL的使用:
  1、可用的:
  单行数值型、字符型和转换型,日期型。
  2、不可用的:
  最大、最小、DECODE、分组函数。
  实例:
  BEGIN
  SELECT TO_CHAR(HIREDATE,'MON,DD,YYYY') FROM EMP;
  END;
  V_comment:=user||':'||sysdate; -- 会编译出错
  V_comment:=user||':'||to_char(sysdate); --正确
  如果有可能,PLSQL都会进行数据一致性的转换,但ORACLE推荐你应该进行显示的转换,因为这样会提高性能。
  三、嵌套块和变量作用区域
  1、执行语句允许嵌套时嵌套。
  2、嵌套块可以看作正常的语句块。
  3、错误处理模块可以包括一个嵌套块
  4、exponential指数 逻辑、算数、连接、小括号
  5、看正面实例:
  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;
  ttt vtotal%type;
  begin
  --select sysdate into vtotal from dual;--体会有无此句与结果的影响
  dbms_output.put_line (vtotal);
  end;
  /
  注意:在执行块之前,要在SQL PLUS中执行:SET SERVEROUTPUT ON
  三、以实例来说明函数的参数声明作用域
  declare
  v_weight number(3):=600;
  v_message varchar2(255):='product10000';
  begin
  declare
  --sub-block
  v_weight number(3):=1;
  v_message varchar2(255):='pro300';
  begin
  v_weight:=v_weight +1;
  end;
  v_weight:=v_weight +1;
  v_message:=v_message || 'my name';
  end;
  /
  子块中的V_WEIGHT值为 2
  我们可以在子块中加入:dbms_output.put_line('subblock value is '||v_weight);
  在主体中加入:dbms_output.put_line('main value is '||v_weight);
  我们发现MAINBLOCK中V_WEIGHT为 601
  改动:
  1、在主块的声明中加 v_date date default sysdate;
  在子块中加入:dbms_output.put_line('subblock date value is '||v_date);
  执行结果:subblock date value is 22-11月-01
  ****说明:主块中的变量,如果子块中没有同名变量声明,则继承主块中的声明和初始化值;
  2、在子块中加入:v_sub char(9);
  dbms_output.put_line('subblock char value is '||v_sub);
  此时正常输出。
  在主块中加入:dbms_output.put_line('main char value is '||v_sub);
  输出:ORA-06550: 第 21 行, 第 45 列:
  PLS-00201: 必须说明标识符 'V_SUB'
  说明:
  子块中声明的变量主块中并不知晓,因此出错。
  了解了此实例,一切情况的变量的值的走向就都明了了。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值