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

    1、测试用例

    #!/bin/sh
    #日期变量可设成传入参数
    #exec_date=`date +"%Y%m%d"`

    # -S 设置无提示模式, 该模式隐藏命令的 SQL*Plus 标帜, 提示和回显的显示
    sqlplus -S "scott/oracle" <<! >/dev/null
    declare
    --声明变量
    i_current_date date;
    v_output varchar2(20):='OK';
    v_descmg  varchar2(20):='OK';
    begin
    --日期赋值
    i_current_date :=to_date('2014-05-18','yyyy-mm-dd');
    --执行过程
        pkg_sql_proc.remove_data(i_acctdt=> i_current_date,
                                                          o_output => v_output,
                                                         o_descmg => v_descmg);
    end;
    /
    exit;
    !

    2、将变量进程参数化

    #!/bin/sh
    #日期变量可设成传入参数或者使用如下方式
    exec_date=`date +"%Y%m%d"`
    #数据库用户变量也可以传入
    dbuser=scott
    dbpasswd=oracle
    #过程名称初始化
    proc_name="pkg_sql_proc.remove_data"
    #sqlplus声明
    sql_stmt=`sqlplus -S "$dbuser/$dbpasswd" <<!
    --修改session日期格式
    alter session set nls_date_format='yyyy-mm-dd';
    declare
        v_output varchar2(20):='OK';
        v_descmg  varchar2(20):='OK';
    begin
        --日期转换
        i_current_date :=to_date($exec_date,'yyyymmdd');
        $proc_name(i_current_date, v_output, v_descmg);
    end;
    /
    !`

  • 相关阅读:
    170821-关于SpringMVC的知识点
    170820-关于JSP页面的知识点
    170819-关于JSTL的知识点
    170819-关于EL表达式的知识点
    170817关于文件下载的知识点
    170814关于Cookie的知识点
    170817关于文件上传的知识点
    170817关于JSON知识点
    170817关于AJAX的知识点
    爬虫框架Scrapy之详解
  • 原文地址:https://www.cnblogs.com/oracle-dba/p/3735069.html
Copyright © 2011-2022 走看看