0
我有兩種形式的postgres中的相同函數(見下文),它們都返回相同類型的「表」結果集。它們的定義方式不是DRY(不要重複自己),有沒有辦法只聲明一次結果集?如何在postgres中的函數之外聲明函數結果類型
CREATE OR REPLACE FUNCTION validation_report(_accession text)
RETURNS TABLE (
accession VARCHAR,
peptide VARCHAR,
modified_sequence VARCHAR,
var_mod text,
spectrum_title VARCHAR,
confidence real,
precursor_mz_error real,
sample_name text,
transcript text,
gene_symbol VARCHAR,
prot_seq text
) AS
$func$
BEGIN
RETURN query select * from validation_report(array[_accession]);
END
$func$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION validation_report(_accession text[])
RETURNS TABLE (
accession VARCHAR,
peptide VARCHAR,
modified_sequence VARCHAR,
var_mod text,
spectrum_title VARCHAR,
confidence real,
precursor_mz_error real,
sample_name text,
transcript text,
gene_symbol VARCHAR,
prot_seq text
) AS
$func$
BEGIN
RETURN QUERY ..the query..
END
$func$ LANGUAGE plpgsql;