Bạn cần chọn một trường cụ thể để đưa vào kết quả nếu bạn định sử dụng nó như vậy.
declare or replace procedure select_row
(
bookingid in integer,
result out varchar2
) as
begin
select booking_name into result from booking where booking.id = bookingid;
end;
Nếu không, bạn sẽ cần tạo một loại đối tượng trước tiên, và chọn nhiều trường vào loại đối tượng và trả về. Bạn phải TẠO ĐỐI TƯỢNG hoặc TẠO BẢN GHI.
CREATE OBJECT BOOKING_OBJ AS (
bookingid INTEGER
,booking_name VARCHAR2(128)
);
declare or replace procedure select_row
(
bookingid in integer,
result out BOOKING_OBJ
) as
begin
select booking_obj(bookingid, booking_name) into result from booking where booking.id = bookingid;
end;
Hoặc ...
CREATE TYPE BOOKING_REC as record(
bookingid integer,
booking_name varchar2(100)
);
declare or replace procedure select_row
(
bookingid in integer,
result out BOOKING_REC
) as
begin
select bookingid, booking_name into result from booking where booking.id = bookingid;
end;
Ngoài ra, bạn có thể trả về con trỏ giới thiệu.