我有一個叫做「gps_coord」的程序。它需要兩個參數並且必須返回記錄。但我不知道我該怎麼做。在此先感謝;)程序中的PL/SQL返回記錄
CREATE OR REPLACE PROCEDURE gps_coord(v_x IN FLOAT,
v_y IN FLOAT, v_result out result_type)
IS
TYPE result_type IS RECORD(
v_km VARCHAR2(50),
v_objID VARCHAR2(50)
);
v_out result_type;
BEGIN
select P.KM , P.OBJECTID INTO v_out from SDE.POINTS p where sde.st_intersects(P.SHAPE,sde.st_buffer(sde.st_transform(sde.st_point(v_y,v_x,4326),32639) ,5000))=1;
dbms_output.put_line('km: ' || v_out.v_km || 'objid: ' || v_out.v_objID);
END;
記錄類型必須在程序之外聲明... –
@ammoQ是正確的,你的情況,你有一個獨立的程序,使用記錄類型作爲參數,它必須在架構級別聲明。 – Seyran
請看[this](http://stackoverflow.com/questions/13225532/is-it-possible-to-use-return-in-stored-procedure)問題與解答。 –