zoukankan      html  css  js  c++  java
  • 和我一起恶补pl/sql(第一讲)

    读完我的这个恶补,你可以对pl/sql的特性有了基本的认识。话不多说,开始。

    在pl/sql中,可以使用sql语句来操作oracle操作,并且使用流程控制语句来处理数据。我们还可以声明常量和变量,定义函数和过程并捕获运行时的错误。

    pl/sql是一种把sql对数据操作的优势和过程化语言数据处理优势结合起来的语言。

    例子1:

    declare qty number(5);--定义变量qty

    begin  --语句块的开始

        select quantity into qty  from invertyory  --从invertyory表中选择quantity字段 并且赋值给qty变量

        where product = 'TENNIE RACKET' for update of quantity;--条件是product等于'TENNIE RACKET' 为了对quantity的更新

        if qty>0 then  --if语句的判断qty>0就执行

            update inventy set quantity = quantity -1--更新inventy表的quantity这个字段

            where product ='TENNIE RACKET';--更新的条件是product ='TENNIE RACKET'

            insert into pur_record values('TENNIE RACKET purchased',SYSDATE);--向pur_record中插入一条成功的记录

        else--if语句为false的执行部分

           insert into pur_record values('out of TENNIE RACKET',SYSDATE);--向pur_record中插入一调相应的记录

        end if;--if语句的结束标记

        commit;--提交数据库,之前都是在内存的操作,并没有在数据库中真实的反应

     end;--结束

    知识点1、 块结构:它的基本组成单元是一些逻辑块,这些块又能嵌套任意数量的子块,块组成包括:声明、处理、异常控制。在其中处理是必须的。

    知识点2、变量、常量

          变量:

          声明: part number(4);

                  instack boolean;

          赋值:方法一用“:=”,  tax :=price*tax;  vaild :=false;

                  方法二:利用数据库的查询结果为变量赋值:select quantity into qty  from invertyory 
                                                                           where product = 'TENNIE RACKET' for update of quantity;

                  方法三:把变量作为一个out和in out模式的参数传递给子程序,然后由子程序为其赋值:

                             declare my real(7,2);

                             procedure adjust_salary(emp int,salary in out real)is .....

                            begin 

                                  select avg(sal) into my from emp;

                            adjust_salary(7788,my);

         常量:要加constant关键字,red constant real:=5000.00;

    下一讲是关于游标的,陆续更近。。。。。

  • 相关阅读:
    Solr查询参数sort(排序)
    使用SolrNet访问Solr-5.5.0
    java impl
    Solr Facet 搜索时,facet.missing = true 的真正含义
    为solr增加用户验证
    每日晨读_20140705
    说说常用的服务器操作
    如何添加自定义脚本到开机自启动
    记录一个mysql连接慢的问题
    javascript时间戳和日期字符串相互转换
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2081192.html
Copyright © 2011-2022 走看看