Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

trả về một hàng trong thủ tục được lưu trữ trên oracle

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có gì sai với việc cài đặt php oracle client oci8

  2. Lệnh gọi getColumnName (0) đơn giản ném Chỉ mục cột không hợp lệ:getValidColumnIndex

  3. oci_bind_by_name và to_date PHP / OCI / Oracle

  4. Tình huống khởi đầu với oracle (nội dung truy vấn phụ)

  5. Cách thích hợp để đặt ORACLE_HOME?