내 코드의 잘못된 이름/번호 : 변수의 잘못된 이름/번호 :오라클 쿼리의 매개 변수입니다. 변수
oracleCom.CommandText = @"declare P_ID tbl_objects.i_id%TYPE;
BEGIN
UPDATE tbl_objects
SET i_status_id = 234
WHERE s_code = '" + objectsChanged[j] +
@"' RETURNING i_id INTO P_ID;
:param_id := P_ID;
END;";
oracleCom.Parameters.Add("param_id", OracleType.Number).Direction = ParameterDirection.Output;
try
{
oracleCom.ExecuteNonQuery();
}
catch
{----------}
컴파일러는 오류를 생성합니다. 하지만이 SQL을 pl/sql 개발자가 사용할 때 제대로 작동합니다. 제대로
이 코드가 작동 :
OracleCommand oracleCom = new OracleCommand
{
Connection = oraConnect,
CommandText = @"declare P_ID tbl_objects.i_id%TYPE;
BEGIN insert into tbl_objects
(s_code, i_status_id)
values
(:s_code, 234)
RETURNING I_ID INTO :p_id;
END;"
};
런타임 오류와 달리 컴파일러 오류 인 경우 PL/SQL 문자열에 문제가있는 것과 달리 Java 코드에 문제가 있음을 의미합니다. 컴파일러가 나타내는 줄에 오류가 있습니까? –
PL/DEVELOPER에서 올바르게 작동합니다. – user1848942