PL/SQL编程-块编程_sql语句

PL/SQL编程-块编程_sql_02

(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编程-块编程_块_03

变量 语句函数类架构

 

pl/sql 语句由三部分构成:定义部分、执行部分、例外处理部分(异常)

declear 

/*定义部分--定义常量、变量、游标、例外、复杂数据类型、*/

begin

/*执行部分--要执行pl/sql语句和sql语句

exception

/*例外处理部分--处理运行的各种错误*/

end;

PL/SQL编程-块编程_Oracle_04

PL/SQL编程-块编程_sql_05

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

PL/SQL编程-块编程_sql_06

代码:

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

注意declare的写法不要写错,另外在数据库中尽量都改用单引号,双引号报错很难找;

 

PL/SQL编程-块编程_Oracle_07

如上面的查询中如果输入的查询结果随便输一个的话就会报错,不会正常的执行下面的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

 

 

 

PL/SQL编程-块编程_块_08

作者:​​翎野君​

如果喜欢或希望看到更多我的文章,可扫描二维码关注我的微信公众号《翎野君》。

转载文章请务必保留出处和署名,否则保留追究法律责任的权利。