gì bạn đã có kỹ thuật không phải là một thủ tục , nhưng một chức năng - sự khác biệt là một thủ tục không có giá trị trả về và không thể được sử dụng như bên phải của một câu lệnh gán.
Về cơ bản, bạn có hai tùy chọn:
(1) Sử dụng thông số OUT. Trong trường hợp này, tôi sẽ làm cho nó một thủ tục với hai tham số OUT. Nói chung mọi người không thích các hàm cũng có các tham số OUT, vì nó vi phạm các kỳ vọng thông thường. @ Benoit của câu trả lời cho thấy phương pháp này.
(2) Xác định loại có chứa nhiều giá trị và sử dụng loại này làm kiểu trả về của hàm. Ví dụ:
CREATE TYPE two_values AS object (
A NUMBER,
b number
);
/
CREATE FUNCTION get_two_values RETURN two_values AS
BEGIN
RETURN two_values(2,4);
END;
/
Nguồn
2012-02-28 15:02:20
"Hơn một" _horizontally_ (ví dụ: nhiều lĩnh vực) hoặc _vertically_ (nhiều hàng)? Các hàm –
chỉ có thể trả về một đối tượng. Nhưng nó có thể là kiểu phức tạp ('TABLE OF some_type'). Nhưng có lẽ bạn muốn sử dụng các thủ tục? – Benoit
SP của tôi sẽ trả về hai giá trị. Đó là lý do tại sao tôi không biết làm thế nào để có được hai giá trị trả về từ SP của tôi. – ppshein