zoukankan      html  css  js  c++  java
  • Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作

     https://www.jb51.net/article/125160.htm?utm_medium=referral  Python使用cx_Oracle调用Oracle存储过程的方法示例

    https://www.jb51.net/article/139627.htm  Python使用cx_Oracle模块操作Oracle数据库

    https://www.jb51.net/article/116017.htm  Oracle存储过程及调用

    1、创建存储

    带输入、输出参数的存储过程语法:

    create procedure 存储过程名称(随便取) (变量1 in(或out) 数据类型,变量2 in(或out) 数据类型,...,变量n in(或out) 数据类型)
    is
        在这里可以定义常量、变量、游标、复杂数据类型这里可以定义变量、常量
    begin
        执行部分
    end;
    create procedure procedure_3(v_i in number,v_j in number ,v_m out number)
    is
    begin
        dbms_output.put_line('procedure_3.......');
        v_m:=v_i - v_j;
        dbms_output.put_line(v_i||' - '||v_j||' = '||v_m);
    end;

    2、调用存储

    declare
        v_param1 number(5):=2;
        v_param2 number(5):=8;
        v_result number(5);
    begin
        --调用上面案例一的存储过程
        procedure_1(); 
        --调用上面案例二的存储过程
        procedure_2(v_param1,v_param2); 
        --调用上面案例三的存储过程
        procedure_3(v_param1,v_param2,v_result);
        dbms_output.put_line(v_result);
    end;

     3、python去调用存储:

    import cx_Oracle
    
    conn =cx_Oracle.connect('MDM_TEST/mdm#123@172.17.0.128:1521/CSSY')
    cur = conn.cursor()
    
    
    # 声明变量
    # user = 'Nick'  # plsql入参
    org_code='01'
    sysm1_code='HIS0311'
    sysm2_code='HIS0120'
    sysm3_code='HIP0104'
    sysm4_code='HIP0105'
    
    # 调用存储过程
    try:
        cur.callproc('P_DEMO', [org_code, sysm1_code,sysm2_code,sysm3_code,sysm4_code])  # ['Nick', 'Nick, Good Morning!']
    except Exception as e:
        raise e
    
    
    # 资源关闭
    cur.close()
    conn.close()
  • 相关阅读:
    判断一个数是否为素数的方法
    什么是算法?
    table 表格
    状态模式
    设计模式
    观察者模式
    async函数
    JS单线程和异步
    ES6 --- Promise
    浅析flex 布局
  • 原文地址:https://www.cnblogs.com/xyao1/p/10899272.html
Copyright © 2011-2022 走看看