zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    poj3436(ACM Computer Factory)
    一位ACMer过来人的心得
    poj1459(Power Network)
    (转)网络流—最大流(Edmond-Karp算法)
    poj1611(The Suspects)
    构建之法阅读笔记01
    第三周总结
    全国疫情可视化地图
    第二周总结
    作业--数组(大数)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2018847.html
Copyright © 2011-2022 走看看