zoukankan      html  css  js  c++  java
  • Oracle中存储过程中赋值和传参及程序调用返回DS

    create or replace procedure EMPLOYEEMOVE_PROCE
    (
        QUERYYEAR   in varchar2,
        QUERYMONTH in varchar2,
        CUSTOMERID in varchar2,
        CUSTOMERSERVICE in varchar2,
        p_GetData  out GetDataSet.GETCUR
    )
    AS
      STRSQL  varchar2(10000);
      STRWHERE varchar2(200);
    begin
    
     IF (CUSTOMERID IS NOT NULL)  THEN
         STRWHERE := ' AND 客户编码='|| CUSTOMERID;
     END IF;   
     IF (CUSTOMERSERVICE IS NOT NULL) THEN 
         STRWHERE := STRWHERE || ' AND 客服专员='|| CUSTOMERSERVICE;
      END IF;     
        
            
      STRSQL :=
        'SELECT 客服专员,客户编码,客户名称,所属员工总数,所属员工累计离职数,所属员工在职数,当月新进员工数,当月离职员工数,差数
        FROM  t6
        WHERE  1=1 ';
        open p_GetData for (STRSQL || STRWHERE);
    end;
    
    --包体
    
    CREATE OR REPLACE PACKAGE GetDataSet IS
        TYPE GETCUR IS REF CURSOR;
    END GetDataSet;
    CREATE OR REPLACE PACKAGE GetDataSet IS
        TYPE GETCUR IS REF CURSOR;
    END GetDataSet;
    
    	   DataSet ds = new DataSet();
    
                OracleParameter[] param = new OracleParameter[] 
                        { 
                            new OracleParameter("QUERYYEAR", OracleType.VarChar),
                            new OracleParameter("QUERYMONTH", OracleType.VarChar), 
                            new OracleParameter("CUSTOMERID", OracleType.VarChar), 
                            new OracleParameter("CUSTOMERSERVICE", OracleType.VarChar), 
                            new OracleParameter("p_GetData", OracleType.Cursor) 
                        };
                param[0].Value = QueryYear;
                param[1].Value = QueryMonth;
                param[2].Value = EmCompanyValue;
                param[3].Value = EmployID;
    
                param[0].Direction = ParameterDirection.Input;
                param[1].Direction = ParameterDirection.Input;
                param[2].Direction = ParameterDirection.Input;
                param[3].Direction = ParameterDirection.Input;
                param[4].Direction = ParameterDirection.Output;
    
                ds = Maticsoft.DBUtility.DbHelperOra.RunProcedure("EMPLOYEEMOVE_PROCE", param, "queryTable");

  • 相关阅读:
    LeetCode Array Easy 414. Third Maximum Number
    LeetCode Linked List Medium 2. Add Two Numbers
    LeetCode Array Easy 283. Move Zeroes
    LeetCode Array Easy 268. Missing Number
    LeetCode Array Easy 219. Contains Duplicate II
    LeetCode Array Easy 217. Contains Duplicate
    LeetCode Array Easy 189. Rotate Array
    LeetCode Array Easy169. Majority Element
    LeetCode Array Medium 11. Container With Most Water
    LeetCode Array Easy 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234455.html
Copyright © 2011-2022 走看看