(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. git chekout分支遇到问题:need merge

    解决步骤: 在master上, 1.git add . 2.git commit 3.新建分支,并且checkout到此分支,重新提交

  2. zara

    [1]ZARA是西班牙Inditex集团旗下的一个子公司,它既是服装品牌,也是专营ZARA品牌服装的连锁零售品牌.1975年设立于西班牙的ZARA,隶属于Inditex集团,为全球排名第三.西班牙排名 ...

  3. matlab获取图片的size属性,长宽

    width=size(imread(‘文件名'),2): %获取图像宽length=size(imread(‘文件名'),1): %获取图像长 g=imread(['D:\文件及下载相关\桌面\代码 ...

  4. 关于Bootstrap的理解

    Web开发领域存在大量的反复劳动.以创建一个菜单为例,不同的人或是同一个人在不同的时期去构建一个菜单.他创建出来的菜单格式都会存在差异:随着构件的菜单越来越多,我们会发现假设将构建菜单这件事形成一个框 ...

  5. 第十五篇:使用 FP-growth 算法高效挖掘海量数据中的频繁项集

    前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本 ...

  6. MCU相关知识

    一个处理器达到 200 DMIPS的性能,这是个什么概念? DMIPS全称叫Dhrystone MIPS 这项测试是用来计算同一秒内系统的处理能力,它的单位以百万来计算,也就是(MIPS) 上面的意思 ...

  7. XE10 塔建 Android 开发环境 (已测试通过)

    XE10 塔建 Android 开发环境 1. E:\DevCSS\Android\adt-bundle-windows-x86-20131030\adt-bundle-windows-x86-201 ...

  8. 给vmware虚拟机设置Ip,使用xshell远程连接Centos

    参考下面两位的分享才弄好,发表之前先对原作者表示感谢! 给Centos配置网络以及使用xshell远程连接Centos http://www.cnblogs.com/fuly550871915/p/4 ...

  9. Jquery 中的 event、event.target 和原生JS的 event、event.target 对比

    先看下原生的 event,如图: 再看下 Jquery 中的 event,如图: 明显不一样,也符合常理,比较结果: 那么如何把 Jquery 中的 event 转成原生的呢?  event.orig ...

  10. Linux中配置主机之间的免密ssh登陆

    假如 A 要登陆 B在A上操作:1.首先生成密钥对 ssh-keygen (提示时,直接回车即可) 2.再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中 ssh-copy- ...