2016-11-05 4 views
1

저는 Firebird를 사용하여 무료 파스칼 응용 프로그램을 보유하고 있습니다. 어떻게하면이 파이어 버드 저장 프로 시저에서 출력 변수를 검색 할 수 있습니다 코드에서Firebird에서 출력 변수를 검색하는 방법

input parameters: ID (integer) 
output parameters: G (integer) 

begin 
if(select town.count from town where town.id=:id) then 
    G = 100 
else 
    G = 200; 
    suspend; 
end 

in designer->SQL 
EXECUTE PROCEDURE ID_DEV :ID RETURNING_VALUES :G 

: 나는 시도

Token unknown line (where :G located)

:

SQLQueryProc.Prepare; //here i got an error 
SQLQueryProc.ParamByName('ID').Value:=res; 
SQLQueryProc.ExecSQL(); 
SQLTransaction.CommitRetaining; 
ID:=SQLQueryProc.FieldByName('G').AsInteger; 

내 응용 프로그램을 실행할 때 오류가 발생하는 이유 많은 조합. 그 이유는 무엇입니까?

답변

1

RETURNING_VALUES :G 절은 PSQL의 유효한 Firebird 구문이므로 (저장 프로 시저 내부). 당신이 저장 프로 시저를 실행하려는 경우에만 사용해야합니다

EXECUTE PROCEDURE ID_DEV :ID 

당신이 실행 저장 프로 시저를 갖고 싶어, 당신은 또한 내부의 일시 중단이 문을 가진 것으로, 저장 프로 시저에서 SUSPEND를 제거해야합니다 당신의 저장 프로시 저는 선택 가능한 저장 프로 시저로 만듭니다.

관련 문제