zoukankan      html  css  js  c++  java
  • PL/SQL基础语法入门

    先前安装了PL/SQL软件


    PL/SQL全称为Procedural Language/SQL。


    PL/SQL也是一种程序语言,叫做过程化SQL语言,是Oracle数据库对SQL语句的扩展


    打PL/SQL软件后


    新建Command Window


    输入ed便会打开一个编辑框。ed全称估计为Editr的缩写


    PL/SQL程序结构分为3部分,共四个关键字:declare,begin,exception和end


    四个关键词正好将程序结构分成三部分。


    declare:声明部分,程序中所需要的变量或者常量都在此声明,类似于Java类中的成员变量与常量
    begin:程序入口,程序开始执行的地方,相当于C语言中main()函数位置
    exception:异常处理部分,相当于Java异常处理中的try...catch.  PL/SQL中使用的是when...then...异常处理部分也可嵌套
    end:程序结束部分
    程序框架如下:


    declare
    --变量声明部分
    begin
    --程序开始入口
    exception
    --异常处理部分
    end;
    --程序结束


    --为注释符  相当于java中的行注释 //
    首先开始一门语言的学习,第一个简单程序当然就是helloworld。


    步骤如下:


    1.在PL/SQL软件中新建了Command Window后 输入ed 然后回车,打开e编辑器


    2.在编辑器中输入如下代码:


    begin
        dbms_output.put_line('helloword!');
    end;


    3.点击ok后输入 / 然后回车,若没有错误则会在屏幕中打印出helloworld! 字符串


    需要注意的是:
    由于本程序只是单纯的输出一条语句,所以不需要变量的声明declare部分可以省去
    由于不会出现异常,所以exception部分必须省去,不然会报错
    注意end最后的那个分号,严格遵守语法规则。
    可见输入语句为dbms_output.put_line();相当于Java中的System.out.println();
    理解就行


    接下来将使用PL/SQL语言操作数据库
    这里我使用时系统自带的一个数据库
    EMP
    含有如下几个字段
    EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
    首先使用SQL查询员工编号为7369的工资 语法如下
    select SAL from EMP where EMPNO = 7369;
    执行结果如下
     
          SAL
    ---------
       800.00


    接下来使用PL/SQL语言查询步骤如下:
    输入ed回车,打开edit然后输入如下代码:


    declare
      v_sal varchar2(10);
    begin
      select SAL into v_sal from EMP where EMPNO = 7369;
      dbms_output.put_line(v_sal);
    end;


    分析如下:
    在declare部分声明一个变量v_sal类型为varchar并使其长度为20
    这里值得说明的是PL/SQL中与SQL查询语句中不同的是select语句
    SQL语句中select语句为 select 列名 from表名 where 条件
    PL/SQL语句中select语句为 select 列名 into 变量名 from 表名 where 条件
    举例说明:查询员工编号为7369的工资 两种语法如下
    SQL: select SAL  from EMP where EMPNO = 7369;
    PL/SQL: select SAL into v_sal from EMP where EMPNO = 7369;


    运行结果一样


    需要说明的是declare部分中定义的变量大小必须比数据库中数据类型的大小 大,不然定义的变量装不下数据库中数据,就会报错。


    还有一种简单做法就是 :
    v_sal EMP.SAL%type;
     即将数据类型动态的定义成与数据库中的数据类型一致,这样数据库中数据变动也不会影响到程序中变量的修改
    即 v_sal这个变量的数据类型与EMP表下的SAL字段的数据类型一致。


    若有多个变量需要操作:查询员工编号为7369的ENAME JOB,SAL
    代码如下:
    declare
      v_ename EMP.ENAME%type;
      v_job EMP.JOB%type;
      v_sal EMP.SAL%type;
    begin
      select ENAME,JOB,SAL into v_ename,v_job,v_sal from EMP where EMPNO = 7369;
      dbms_output.put_line(v_ename||','||v_job||','||v_Sal);
    end;


    运行便可查询出所需信息
    由代码可见 输出语句中输出多个变量时 || 相当于Java中的 + 

    转载至:http://blog.csdn.net/chance2015/article/details/50409557

  • 相关阅读:
    欧拉函数(线性筛)(超好Dong)
    欧拉函数(线性筛)(超好Dong)
    线性素数筛(欧拉筛)(超级好的MuBan)
    线性素数筛(欧拉筛)(超级好的MuBan)
    Fire Game (FZU 2150)(BFS)
    Fire Game (FZU 2150)(BFS)
    Fantasy of a Summation (LightOJ
    Java——接口
    Java——异常处理
    Java——数组
  • 原文地址:https://www.cnblogs.com/liuhuimh/p/7279580.html
Copyright © 2011-2022 走看看