2009-08-27 8 views
0

모든 직원 세부 사항을 임시 테이블 TempEmployeeDetails 테이블에 저장하는 Oracle 함수 GetEmployeeDetails가 있습니다.C#에서 오라클 함수 호출하기

함수를 호출하고 임시 테이블에서 select 쿼리를 호출해야합니다. 함수 호출이 성공했지만 select 쿼리가 다음 오류를 발생시킵니다.

"BEGIN : 출력 : = MyPackage.GetEmployeeDetails (" + ": EmployeeId,"); SELECT * FROM TempEmployeeDetails; END; "위의 쿼리는 나에게이 오류주고있다

:

ORA-06550 : 줄 1, 열 98 :

PLS-00428 : INTO 절은이 SELECT 문에 기대된다

답변

1
을 tempEmployeeDetail에서 데이터를 얻기 위해 지금

OracleCommand cmd = new OracleCommand("GetEmployeeDetails", conn); 
cmd.CommandType = CommandType.StoredProcedure; 


par = new OracleParameter("EmployeeId", OracleType.int32); 
par.Value = EmployeeId; 
par.Direction = ParameterDirection.Input; 
cmd.Parameters.Add(par); 

cmd.ExecuteNonQuery(); 

:

난 당신에 의해 아마 코드 있도록 OracleClient를 사용하는 경우, 함수 호출에서 쿼리를 분리해야한다고 생각 다음과 같은 또 다른 쿼리를 작성하십시오.

OracleCommand cmd = new OracleCommand("SELECT * FROM TempEmployeeDetails", conn); 
OracleDataReader dr = cmd.ExecuteReader(); 
while (dr.Read()) 
{ 
    //do what you want... 
} 
관련 문제