• Oracle之PLSQL


        PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)它是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上添加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑推断、循环等操作实现复杂的功能或者计算,使SQL语言具有过程处理能力。PL/SQL 仅仅有 Oracle 数据库有。

       一个PL/SQL程序结构

           declare

                说明部分   (变量说明。光标申明。例外说明)

           begin

                语句序列    (DML语句)……

           exception

                例外处理语句

           end;

      这里说一下变量的问题:

           var1        char(15);--说明变量名、数据类型和长度后用分号结束说明语句。

           married     boolean:=true;--用“:=”表示等号“=”,用“=”表示“==”。

           my_name     emp.ename%type;--引用型变量,即my_name的类型与emp表中ename列的类型一样

           emp_rec     emp%rowtype;--记录型变量

       记录型变量分量的引用:emp_rec.ename:='adams';

       一个样例演示下PLSQL:按员工的工种涨工资,总裁1000元,经理800元,其它人涨400元。

       

    declare
      cursor cemp is select empno,empjob from emp;
      pempno emp.empno%type;
      pjob   emp.empjob%type;
    begin
      rollback;
      open cemp;
      loop
        --取一条记录
        fetch cemp into pempno,pjob;
        exit when cemp%notfound;
        
        --推断职位
        if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno;
          elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;
          else update emp set sal=sal+400 where empno=pempno;
        end if;
    
      end loop;
      close cemp;  
      
      commit;
      
      dbms_output.put_line('完毕');
    end;
    /
    
      没涨之前:

      涨之后:


        把SQL语言的数据操纵能力与过程语言的数据处理能力结合起来,使得PLSQL面向过程但比过程语言简单、高效、灵活有用。


  • 相关阅读:
    表达式树
    二叉查找树
    二叉树的先中后序遍历
    利用树的先序和后序遍历打印 os 中的目录树
    栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
    C语言的运算符的优先级与结合性+ASCII表
    算法运行时间中的对数
    c++ primer 第三章 标准库类型
    C++ premier 中文版 学习笔记(第五章 表达式)
    使用applescript脚本方式以管理员权限运行
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7093503.html
Copyright © 2020-2023  润新知