• PL/SQL编程-块编程


    (1). 简单分类 
                              |————过程(存储过程) 
                              | 
                              |————函数 
           块(编程)———| 
                              |————触发器 
                              | 
                              |————包

    (2). 编写规范 
          a. 单行注释 -- 
              select * from emp where empno=7788;  --取得员工信息 
          b. 多行注释 /*...*/ 来划分 
    (3). 标志符号的命名规范 
          1).当定义变量时,建议用v_作为前缀v_sal 
          2).当定义常量时,建议用c_作为前缀c_rate 
          3).当定义游标时,建议用_cursor作为后缀emp_cursor 
          4).当定义例外时,建议用e_作为前缀e_error 

    变量 语句函数类架构
     
    pl/sql 语句由三部分构成:定义部分、执行部分、例外处理部分(异常)
    declear 
    /*定义部分--定义常量、变量、游标、例外、复杂数据类型、*/
    begin
    /*执行部分--要执行pl/sql语句和sql语句
    exception
    /*例外处理部分--处理运行的各种错误*/
    end;

    就相当与java里面一个类下面的方法,但是Oracle中观这个叫做包,也就是dbms_output是一个包他下面的put_line实际上是个储过程,他有一个入参A也就是准备打印的字符串,相当于java中的system.out.println()。

    代码:
    SQL> select * from mytest
      2  l
      3  ;
     
    NAME                           PASSWD                         ID
    ------------------------------ ------------------------------ --
    翎野君                         123456                         1
    李超                           2222                           2
    小王                           1222                           3
     
    SQL>
    SQL> declare
      2  v_name varchar2(20);
      3  v_passwd varchar2(20);
      4  begin
      5  select name,passwd into v_name,v_passwd from mytest where id=&inpt;
      6  dbms_output.put_line('户名:'||v_name||' 密码:'||v_passwd);
      7  end;
      8  /
     
    户名:翎野君 密码:123456
     
    PL/SQL procedure successfully completed
    注意declare的写法不要写错,另外在数据库中尽量都改用单引号,双引号报错很难找;

     

    如上面的查询中如果输入的查询结果随便输一个的话就会报错,不会正常的执行下面的Pl/sql语句
    我们新加一个异常处理就可以了。
    SQL> declare
      2  v_name varchar2(20);
      3  v_passwd varchar2(20);
      4  begin
      5  select name,passwd into v_name,v_passwd from mytest where id=&inpt;
      6  dbms_output.put_line('户名:'||v_name||' 密码:'||v_passwd);
      7  exception
      8  when no_data_found then
      9  dbms_output.put_line('请检查输入');
     10  end;
     11  /
     
    请检查输入
     
    PL/SQL procedure successfully completed
     
  • 相关阅读:
    Linux dnsmasq.conf
    Linux 关闭网络管理服务
    Python Mysql_db对数据查询进行处理
    Python windows安装MYSQL_db
    Python 递归
    Nginx 系统维护配置
    ls 查看时间排序
    Nginx Linux yum安装
    Nginx 前后端分离配置 分发
    Spring boot 执行jar文件 方式
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7095647.html
Copyright © 2020-2023  润新知