zoukankan      html  css  js  c++  java
  • 存储过程的调用

    一、SQL中调用存储过程语句:call procedure_name();

    注:调用时”()”是不可少的,无论是有参数还是无参数.

                

    定义对数据库存储过程的调用时
    1、无参数存储过程:{call procedure_name}
    2、仅有输入参数的存储过程:{call procedure_name(?,?...)}。
    这里?表示输入参数,创建存储过程时用in表示输入参数
    3、仅有输出参数的存储过程:{call procedure_name(?,?...)}。
    这里的?表示输出参数,创建存储过程时用out表示输出参数
    4、既有输入参数又有输出参数的存储过程{call procedure_name(?,?...)}。
    这里的?有表示输出参数的,也有表示输入参数的

    二、oracle函数中调用存储过程

    1、无参数存储过程的调用

    复制代码
    --创建无参存储过程
    CREATE OR REPLACE FUNCTION stu_proc RETURN VARCHAR2 IS
    --声明语句段
    v_name varchar2(20);
    BEGIN
    --执行语句段
    SELECT o.sname INTO v_name FROM student o where o.id=1;
    RETURN v_name;
    END;

    --调用无参存储过程
    DECLARE
    BEGIN
    DBMS_OUTPUT.put_line('在PL/SQL中打印的结果:'||stu_proc);
    END;
    复制代码

               

    2、入参存储过程的调用

    复制代码
    --创建入参存储过程
    CREATE OR REPLACE FUNCTION stu_proc(v_id IN NUMBER) RETURN VARCHAR2 IS
    --声明语句段
    v_name varchar2(20);
    BEGIN
    --执行语句段
    SELECT o.sname INTO v_name FROM student o where o.id=v_id;
    RETURN v_name;
    END;

    --调用入参存储过程
    DECLARE
    BEGIN
    DBMS_OUTPUT.put_line('在PL/SQL中打印的结果:'||stu_proc(1));
    END;
    复制代码

                 

    3、出参存储过程的调用

    复制代码
    --创建出参存储过程
    CREATE OR REPLACE FUNCTION stu_proc(v_name OUT VARCHAR2) RETURN VARCHAR2 IS
    BEGIN
    --执行语句段
    SELECT o.sname INTO v_name FROM student o where o.id=2;
    RETURN v_name;
    END;

    --调用出参存储过程
    DECLARE
    v_name student.sname%type;
    BEGIN
    DBMS_OUTPUT.put_line('在PL/SQL中打印的结果:'||stu_proc(v_name));
    END;
    复制代码

                  

    4、出入参存储过程的调用

    复制代码
    --创建出入参存储过程
    CREATE OR REPLACE FUNCTION stu_proc(v_id IN NUMBER, v_name OUT VARCHAR2) RETURN VARCHAR2 IS
    BEGIN
    --执行语句段
    SELECT o.sname INTO v_name FROM student o where o.id=v_id;
    RETURN v_name;
    END;

    --调用出入参存储过程
    DECLARE
    v_name VARCHAR2(20);
    BEGIN
    DBMS_OUTPUT.put_line('在PL/SQL中打印的结果:'||stu_proc(1, v_name));
    END;
    复制代码
     
    参见:http://www.cnblogs.com/linjiqin/archive/2011/04/17/2018847.html
  • 相关阅读:
    频偏(转载)
    /proc/interrupts 和 /proc/stat 查看中断的情况 (转载)
    Linux2.6 内核中结构体初始化(转载)
    用grep在子目录中指定的文件类型中查找(转载)
    用C++调用C的库函数(转载)
    H.264(MPEG-4 AVC)级别(Level)、DPB 与 MaxDpbMbs 详解(转载)
    emacs在org-mode时输出pdf时,只输出为链接
    maven 学习---使用Maven构建项目
    maven 学习---Maven构建生命周期
    maven 学习---使用Maven模板创建项目
  • 原文地址:https://www.cnblogs.com/GtShare/p/7520639.html
Copyright © 2011-2022 走看看