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

           

  • 相关阅读:
    C# 泛型
    css样式优先级
    c# 可空类型
    JS 两个数组合并
    c# 参数传递问题(形参与实参)
    c# JsonReader读取json字符串
    C# 获取当前ip
    swprintf引发的血案
    Struts2解析FreeMarker模板中变量的顺序
    structs2在action中输出
  • 原文地址:https://www.cnblogs.com/simpledu/p/14399109.html
Copyright © 2011-2022 走看看