CREATE OR REPLACE FUNCTION 
    public.kolon_aciklama_getir(
            veritabani character varying,
            sema character varying,
            tablo character varying)
RETURNS TABLE(kolon character varying, aciklama text) 
LANGUAGE 'plpgsql'
Creating a function with several I/O parameters
General
PostgreSQL

- Add input parameters
- Use the input parameters in the SQL body
- Set the result as table with output parameters

Description :

Example :
CREATE OR REPLACE FUNCTION public.kolon_aciklama_getir(
        veritabani character varying,
        sema character varying,
        tablo character varying)
    RETURNS TABLE(kolon character varying, aciklama text) 
    LANGUAGE 'plpgsql'
    COST 100
    STABLE 
    ROWS 1000
AS $BODY$
BEGIN
   RETURN QUERY
       SELECT cols.column_name::varchar as kolon
        ,(
                SELECT pg_catalog.col_description(c.oid, cols.ordinal_position::INT)
                FROM pg_catalog.pg_class c
                WHERE c.oid = (
                                SELECT cols.table_name::regclass::oid
                                )
                        AND c.relname = cols.table_name
                )::TEXT AS aciklama
FROM information_schema.columns cols
WHERE cols.table_catalog = $1
        AND cols.table_schema = $2
        AND cols.table_name = $3;
END
$BODY$;
2025 Apr