happysundar
10/19/2014 - 6:42 PM

Get all the column names of a table...

Get all the column names of a table...

DROP FUNCTION IF EXISTS get_column_names_csv( TEXT, TEXT ) CASCADE;
CREATE OR REPLACE FUNCTION
    get_column_names_csv(input_schema_name TEXT, input_table_name TEXT)
    RETURNS SETOF TEXT IMMUTABLE
AS $$
BEGIN
    RETURN QUERY
    WITH T1 AS (
        SELECT column_name
        FROM rovi.information_schema.columns
        WHERE
            table_name = lower(input_table_name) AND table_schema = lower(input_schema_name)
            AND NOT (ordinal_position = 1 AND column_default NOTNULL)
    )
    SELECT string_agg(column_name, ',')
    FROM T1;
END
$$ LANGUAGE plpgsql;