• 存储过程


    --创建存储过程
    CREATE OR REPLACE PROCEDURE sp_test1
    IS
    --变量定义
    Begin
    --sql语句
    commit;
    End;

    --游标
    CREATE OR REPLACE PROCEDURE sp_test1
    as
    cursor c is select * from test;--游标赋值

    Begin
    for sc in c--遍历游标
    loop
    dbms_output.put_line(sc.t_name);--对游标当前指向的值进行依次处理。这里是显示t_name
    end loop;
    End;

    --case的使用
    case sc.num2

    when '1' then 
    dbms_output.put_line(sc.name2||sc.num2||'case1'); 
    when '2' then 
    dbms_output.put_line(sc.name2||sc.num2||'case2'); 
    when '3' then 
    dbms_output.put_line(sc.name2||sc.num2||'case3'); 
    when '4' then 
    dbms_output.put_line(sc.name2||sc.num2||'case4'); 
    else 
    dbms_output.put_line('大于4'); 

    end case;

    循环:
    --loop的使用
    loop

    exit 循环结束条件;

    end loop;


    --where loop的使用
    while 条件 loop 
    end loop;

    --带输入参数的存储过程,结果直接打印

    create or replace procedure pro_test(e_id in number) --输入id, 输出name

    is

    spname varchar2(10); --定义一个varchar2的变量 也可以 spname test.name%type 直接使用test.name的数据类型

    begin

    select name into spname from test where id = e_id; --把输入的e_id用来作为查询条件,把结果赋值给用于输出的spname

    dbms_output.put_line(spname );

    END;

    --带输入和输出参数的存储过程,结果用e_name返回。

    create or replace procedure pro_test(e_id in number, e_name out carchar2) --输入id, 输出name

    is

    begin

    select name into e_name from test where id = e_id; --把输入的e_id用来作为查询条件,把结果赋值给用于输出的e_name 

    dbms_output.put_line(e_name );

    END;


    --plsql存储过程调用 ()

    DECLARE --声明变量
    sp_id number;
    sp_name varchar2(10);
    BEGIN

    sp_id:= 1; --给sp_id 直接赋值
    sp_pro10 (sp_id, sp_name); --也可以sp_pro10 (1, sp_name);
    dbms_output.put_line(sp_name);
    END;

  • 相关阅读:
    Linux--shell三剑客<sed>--07
    Linux--shell交互输入与循环语句--06
    Linux--shel分支语句--05
    Linux--shell grep与正则表达式--04
    Linux--shell编程原理--03
    Linux--shell重定向与文件处理命令--02
    Linux--shell的基本特性--01
    Docker数据卷
    Docker容器
    Docker的安装
  • 原文地址:https://www.cnblogs.com/clamp7724/p/11081640.html
Copyright © 2020-2023  润新知