zoukankan      html  css  js  c++  java
  • Oracle查询类存储过程调用示例

    存储过程:


    CREATE OR REPLACE PROCEDURE SP_TEST
    (
     inDTHM 
    in VARCHAR,
     outFZR out 
    VARCHAR,
     outSJHM out 
    VARCHAR
    )
    IS

    BEGIN
         
    /*返回结果取第一行记录*/
         
    SELECT fzr,sjhm into outFZR,outSJHM FROM POLICE WHERE dthm = inDTHM and rownum=1;
    end;

    过程调用方法:

    一、SQL*Plus方式:

    SQL> var a varchar2(20);
    SQL
    > var b varchar2(20);
    SQL
    > exec sp_test('w2412001876',:a,:b);

    PL
    /SQL procedure successfully completed
    a
    ---------
    张三
    b
    ---------
    013688888888

     二、PL/SQL方式:

    SQL窗口
    declare fzr varchar2(20);
    sjhm 
    varchar2(20);
    begin 
          sp_test(
    'w2412001876',fzr,sjhm );
          dbms_output.put_line(fzr);
          dbms_output.put_line(sjhm);
    end;

    命令窗口
    SQL
    > var a varchar2(20);
    SQL
    > var b varchar2(20);
    SQL
    > exec sp_test('w2412001876',:a,:b);

    PL
    /SQL procedure successfully completed
    a
    ---------
    张三
    b
    ---------
    013688888888


    三、VB的ADO方式:

        gDBName = Trim(txtDBName.Text)
        gDBUser 
    = Trim(txtUserID.Text)
        gDBPass 
    = Trim(txtPassID.Text)
        
    Set adoConn = New ADODB.Connection
        adoConn.
    Open "Provider=OraOLEDB.Oracle;Password=+ gDBPass + ";User ID=+ gDBUser + ";Data Source=+ gDBName
        
        
    If adoConn.State <> adStateOpen Then
            MsgBox "数据库连接失败,请重新设置参数!", vbExclamation, "系统提示"
            
    Exit Sub
        
    End If
        
        
    Set adoCommand = New ADODB.Command
        
    Set adoCommand.ActiveConnection = adoConn
        adoCommand.CommandText 
    = "SP_TEST"
        adoCommand.CommandType 
    = adCmdStoredProc
        
        adoCommand.Parameters.Append adoCommand.CreateParameter("inDTHM", adVarChar, adParamInput, 
    20, Trim(txtDTHM.Text))
        adoCommand.Parameters.Append adoCommand.CreateParameter("outFZR", adVarChar, adParamOutput, 
    20)
        adoCommand.Parameters.Append adoCommand.CreateParameter("outSJHM", adVarChar, adParamOutput, 
    20)

        adoCommand.
    Execute
        txtFZR.
    Text = CStr(adoCommand("outFZR"))
        txtSJHM.
    Text = CStr(adoCommand("outSJHM"))
  • 相关阅读:
    【模仿】一个充满BUG的小程序
    JAVA中的内部类
    oracle删除实例的方法
    牢记每个死循环都要有跳出语句【这个要看】
    删除无效服务的命令
    Oracle触发器和new、old特殊变量
    Python模块之os 系统操作
    Python模块之pyautogui 模拟按下键盘
    Python模块之platform 获取平台信息
    Python官方内置函数V3.10详解
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1491671.html
Copyright © 2011-2022 走看看