Tôi hiện đang viết một hàm trong postgresql 9,04 nơi tôi đang cố gắng sử dụng một biến sẽ được sử dụng trong câu lệnh chọn rồi trả về kết quả.trả về nhiều cột dưới dạng một cột thay vì nhiều cột
Tuyên bố tôi đã đưa ra là đơn giản và hoạt động; tuy nhiên, tất cả các cột được xuất ra một cột duy nhất thay vì nhiều cột.
đây là chức năng của tôi:
create or replace function foo(IN pID integer, OUT project_id integer, OUT project_name text, OUT project_type text, OUT project_description text, OUT project_status text)
returns setof record as
$$
select project_id, project_name, project_type, project_description, project_status from t_projects
where project_id = $1;
$$
LANGUAGE SQL;
select foo(6) -- runs function
sản lượng hiện nay trông như thế này:
"(6,"test project","inbound","inbound test","processing")"
làm thế nào tôi có thể làm cho nó nên kết quả không được nối với nhau và gửi lại từng hạng mục cột riêng rẽ?
cảm ơn bạn trước.
Tại sao bạn có kiểu trả về 'setof record' trong khi cũng khai báo các cột' OUT' khớp với ' CHỌN'? Bạn có ý định trả về các bản ghi, hoặc điền các tham số 'OUT'? Bạn nên chọn một cách tiếp cận, không phải cả hai. – cdhowie
postgresql vẫn còn mới đối với tôi như tôi đã từng làm việc trong microsoft sql erver. Lý tưởng nhất, tôi muốn trả lại kết quả từ câu lệnh chọn. Trong tìm kiếm google của tôi, tôi thấy rằng mọi người sẽ tạo ra một loại với đầu ra được chỉ định hoặc sẽ đặt đầu ra trong hàm. Hiện tại, tôi vẫn đang trong giai đoạn hiểu biết về postgresql :) – richh