我目前正在寫postgresql 9.04中的一個函數,我試圖使用一個將在select語句中使用的變量,然後返回結果。函數返回多個列作爲單列而不是多列
我提出的陳述很簡單,很有效;但是,所有列都輸出到單列而不是多列。
這裏是我的功能:
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
電流輸出是這樣的:
"(6,"test project","inbound","inbound test","processing")"
我怎樣才能使它所以結果並不連接在一起,並seperately返回各列項?
謝謝你提前。
爲什麼你有一個'setof記錄'的返回類型,同時還聲明'OUT'列匹配' SELECT'?你打算返回記錄,還是填充'OUT'參數?你應該選擇一種方法,而不是兩種。 – cdhowie
postgresql對我來說仍然是新手,因爲我習慣於使用微軟sql erver。理想情況下,我想返回select語句的結果。在我的谷歌搜索中,我發現人們會用指定的輸出創建一個類型,或者將輸出放在函數中。目前,我仍處於postgresql的理解階段:) – richh