zoukankan      html  css  js  c++  java
  • pl/sql程序语法,存储过程, orcle服务

    1.程序语法:

               declare

                       说明部分  (变量说明,游标申请,例外说明)

                begin

                        语句序列   (DML语句)

                 exception

                         例外处理语句

                  End

    2.常量和变量定义

            在程序的声明阶段可以来定义常量和变量

             变量的基本类型就是orcle中的建表时字段的变量如char,varchar2,date,number,boolean,long

    例子

    --declare

    begin

          dbms_output.put_line('hello world');

    end;

    输出结果

    hello world

    2.常量和变量定义

        在程序的声明阶段可以来定义常量和变量。

        变量的基本类型就是 oracle中的建表时字段的变量如 char, varchar2,date

         number, boolean, long),

         定义语法: varl char15;

                      Psal number(9, 2);

          说明变量名、数据类型和长度后用分号结束说明语句。

    常量定义: married  boolean:=true

    引用变量例子

    declare

          pname    varchar2(10)    #声明变量

           page    number(3)   := 20;    #声明常量

    begin

          pname  :=  'zhangsan';     #给变量赋值

           dbms_output.put_line(pname);   #输出变量

           dbms_output.put_line(page);    #输出常量值

    end;

    引用变量

           Myname   emp.ename%type;

           引用型变量,即my  name 的类型与emp表中ename列的类型一样

            在sql中使用into来赋值

    declare

            pname   myemp.ename%type

    begin

            select  t.ename into pname from myemp t where t.empno = 7369;

             dbms_output.put_line(pname);

    LOOP循环语句栗子

    declare

           total   number(4)  :=  0;

    begin

           while   total  <= 100   loop

           total  :=  total  + 1;

           dbms_output.put_line(total);

           end  loop;

    end;

    语法2:

           Loop

           EXIT(when   条件)       #跳出循环的条件

           ...

           End  loop

    栗子:

    declare

         total   number(4)  :=  0;

    begin

          loop

                exit   when  total  =  100;

                total  :=  total  +  1;

                dbms_output.put_line(total);

           end  loop;

    end;

    5.游标 Cursor

             在写java程序中有集合的概念,那么在pl/sql中也会用到多条记录,

             这时候我们就要用到游标,游标可以存储查返回的多条数据。

             语法:

             CURSOR游标名(参数名    数据类型,参数名, 数据类型,)  IS  SELECT语句;

             例如: cursor c1 is select ename from emp;

    游标的使用步聚:

              打开游标:open c1;(打开游标执行查询)

              取一行游标的值: fetch c1 into piob(取一行到变量中)

              关闭游标:close c1(关闭游标释放资源)

             游标的结束方式    exit  when  c1%notfound

            注意:上面的 pjob 必须与enp 表中的job列类型一致

    游标

    declare

          prec  emp%rowtype;     --定义记录型的变量

          cursor  c1   is          ---定义游标c1

                 select   *   from   emp;   --定义游标

    begin

          open   c1;        --打开游标

          loop              --开始循环

               fetch  c1

                      into   prec;    --从游标中取值,取值后游标自动向下移 

                 exit   when  c1%notfound;      --退出游标的条件

                 dbms_output.put_line(prec.empno  ||  '   '   || prec.ename);     --这里双||表示字符串的连接

            end   loop;

            close  c1;   --关闭游标

    end;

    存储过程

               procedure_name:存储过程的名字,在前面加#为局部临时存储过程,加##为全局存储过程

              number:是可选的整数,用来对同名的过程分组,以便用一条drop procedure

             语句即可将同组的过程一起除去,例如,名为orders的应用程序的过程可以命名为orderpro;1`orderpro;2等

              orcle很占内存,所以在开关机时服务也会关闭,重新启动要手动的开启两个服务

              oracleServiceORCL和Oracle-OraDb10g_home1TNSListencer

           

  • 相关阅读:
    Path Sum II
    Convert Sorted Array to Binary Search Tree
    Construct Binary Tree from Inorder and Postorder Traversal
    Construct Binary Tree from Preorder and Inorder Traversal
    Maximum Depth of Binary Tree
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Same Tree
    Validate Binary Search Tree
    Binary Tree Inorder Traversal
  • 原文地址:https://www.cnblogs.com/simpledu/p/14399109.html
Copyright © 2011-2022 走看看