(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
 

PL/SQL编程-块编程的更多相关文章

  1. 同样的一句SQL语句在pl/sql 代码块中count 没有数据,但是直接用SQl 执行却可以count 得到结果

    pl/sql 代码块: SELECT count(distinct t2.so_nbr) INTO v_count2 FROM KFGL_YW_STEP_qd t2 WHERE t2.partitio ...

  2. SQLPLUS执行PL/SQL语句块

    1.首先登录Oracle HR schema: 2.对于PL/SQL程序,分号表示语句的结束:而使用 "."  号表示整个语句块的结束,也可以省略.按回车键后,该语句块不会执行,即 ...

  3. oracle 中使用 pl/sql代码块

    1.写匿名块,输入三角形三个表的长度.在控制台打印三角形的面积. declare -- (p=(a+b+c)/2) --声明三角形的面积 三条边 的 v_a number (10,2):=&n ...

  4. Oracle笔记 十二、PL/SQL 面向对象oop编程

    ------------------------抽象数据类型----------- --创建地址类型,一定要加as object,还可以在类型中加过程或方法 create or replace typ ...

  5. PL/SQL语句块提高1+case语句

    set serveroutput on; declare --默认值的bianliang v_a ; -- v_b integer; --用stud.id 的类型 v_id stud.id%type; ...

  6. pl/sql 语句块循环语句

    ---基本循环declarev1 number(2) :=1;begin loop dbms_output.put_line(v1); v1:=v1+1; exit when v1>10; -- ...

  7. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  8. PL/SQL编程急速上手

    结构化查询语言(SQL)是第四代编程语言的典型,这种命令式的语言更像一种指令,使用它,你只需要告诉计算机“做什么”,而不用告诉计算机“怎么做”.第四代编程语言普遍具有简单.易学.能更快的投入生产等优点 ...

  9. PL/SQL编程基础——PL/SQL简介

    课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1. 了解PL/SQL的主要特点 2. 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库 ...

随机推荐

  1. 判断ActiveX控件是Desgin Mode还是Runtime Mode

    对于MFC COleControl::AmbientUserMode Determines if the Container is in design mode or user mode. BOOL ...

  2. django 模型中的计算字段

    models.py class Person(models.Model): family_name= models.CharField(max_length=20, verbose_name='姓') ...

  3. Hive将txt、csv等文本文件导入hive表

    1.将txt文本文件放置hdfs目录下 2.登录hive并进入到指定数据库 3.创建表 create external table if not exists fun_user_external ( ...

  4. Raw-OS源代码分析之idle任务

    分析的内核版本号截止到2014-04-15,基于1.05正式版,blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样.则是未深究理解部分. Raw-OS官方 ...

  5. shell脚本学习总结01--文件描述符和重定向

    文件描述符是与文件输入和输出的相关联的整数,它们用来追踪已打开的文件,文件描述符0,1,2是系统预留的. 0 --> stdin (标准输入) 1 --> stdout (标准输出) 2 ...

  6. excel 使用技巧

    计算两个日期的差值 1.计算当前日期与目标日期相差天数,下面例子中当前日期未2017/3/19 2.列增加数据条

  7. C#/java 执行oracle package

    使用pl/sql创建package CREATE OR REPLACE PACKAGE FirstPage is type outlist is ref cursor; Procedure p_get ...

  8. Design and Architectural Goals

    w动态实例化-轻量级,组件间依赖程度.专一性-复用性.灵活性. https://www.codeigniter.com/userguide3/overview/goals.html http://co ...

  9. remote tomcat monitor---jmc--jvisualvm

    http://mspring.org/article/1229----------jmc http://doorgods.blog.163.com/blog/static/78547857201481 ...

  10. 并发编程 - IO模型 - 1.io模型/2.阻塞io/3.非阻塞io/4.多路复用io

    1.io模型提交任务得方式: 同步:提交完任务,等结果,执行下一个任务 异步:提交完,接着执行,异步 + 回调 异步不等结果,提交完任务,任务执行完后,会自动触发回调函数同步不等于阻塞: 阻塞:遇到i ...