0

このコードを SQL で実行しようとしています。それはidentifier not declared patient_t.i already created patient_t type/object.and また、私はpatient_t%rowtypeを試しました

CREATE OR REPLACE PACKAGE PATIENT_DATA_SERVICES AS

function get_patient_id
( p_first_name in varchar2
, p_last_name  in varchar2
) return number
;

function get_patient_record
( p_patient_id in number
) return  patient_t
;

END PATIENT_DATA_SERVICES;
4

2 に答える 2

1

%rowtype を削除します。%rowtype は、TABLE または CURSOR 用です。作成したように、patient_t は TYPE です。

function get_patient_record
( p_patient_id in number
) return  patient_t
;
于 2012-08-05T21:31:23.747 に答える
0

patient_tPL/SQLパッケージでタイプを宣言する必要があります。

CREATE OR REPLACE PACKAGE PATIENT_DATA_SERVICES AS

TYPE patient_t IS RECORD (id NUMBER(15), ...);

function get_patient_id
( p_first_name in varchar2
, p_last_name  in varchar2
) return number
;

function get_patient_record
( p_patient_id in number
) return  patient_t
;

END PATIENT_DATA_SERVICES;

データベース内のテーブルである必要patient_tがあり、関数は次のように宣言できます。

function get_patient_record (p_patient_id in number) return patient_t%ROWTYPE;
于 2012-08-05T20:29:35.907 に答える