重構PL/pgSQL函數以返回各種SELECT查詢的輸出我編寫了一個輸出PostgreSQL的函數SELECT查詢格式良好的文本形式?,F在我不想輸出文本了,但實際上運行生成的SELECT語句并返回結果-就像查詢本身一樣。到目前為止我所擁有的是:CREATE OR REPLACE FUNCTION data_of(integer)
RETURNS text AS$BODY$DECLARE
sensors varchar(100); -- holds list of column names
type varchar(100); -- holds name of table
result text; -- holds SQL query
-- declare more variablesBEGIN
-- do some crazy stuff
result := 'SELECT\r\nDatahora,' || sensors ||
'\r\n\r\nFROM\r\n' || type ||
'\r\n\r\nWHERE\r\id=' || $1 ||'\r\n\r\nORDER BY Datahora;';
RETURN result;END;$BODY$LANGUAGE 'plpgsql' VOLATILE;ALTER FUNCTION data_of(integer) OWNER TO postgres;sensors保存表的列名列表。type..這些都是在職能過程中申報和填寫的。最終,他們持有的價值觀如下:sensors: 'column1, column2, column3'除了Datahora (timestamp)所有列都是類型的double precision.type :'myTable'可以是四個表之一的名稱。每個列都有不同的列,但公共列除外。Datahora.底層表的定義.變量sensors將舉行全中相應表的列顯示在此處。type..例如:如果type是pcdmet然后sensors將是'datahora,dirvento,precipitacao,pressaoatm,radsolacum,tempar,umidrel,velvento'變量用于構建SELECT中存儲的語句。result..比如:SELECT Datahora, column1, column2, column3FROM myTableWHERE id=20ORDER BY Datahora;現在,我的函數返回以下語句text..我復制粘貼并在pgAdmin或psql中執行。我想自動化這一點,自動運行查詢并返回結果。我怎么能這么做?
重構PL/pgSQL函數以返回各種SELECT查詢的輸出
喵喔喔
2019-06-13 14:52:08