Re: Stored Procedure table/column args - Mailing list pgsql-general

From Sameer Thakur
Subject Re: Stored Procedure table/column args
Date
Msg-id CABzZFEsaFPWwbNr=VZKPZPkPFaydrCCqeFXqykcG0xsH3VVc2w@mail.gmail.com
Whole thread Raw
In response to Stored Procedure table/column args  (Bret Stern <bret_stern@machinemanagement.com>)
List pgsql-general

Hello,

Create a view as described @ 

http://www.postgresql.org/message-id/flat/3C055B7E.BB52F0F1@but.auc.dk#3C055B7E.BB52F0F1@but.auc.dk

 

create view my_tbldescription as

select

u.usename, t.typname AS tblname,

a.attname, a.atttypid, n.typname AS atttypname,

int4larger(a.attlen, a.atttypmod - 4) AS atttyplen,

a.attnotnull, a.attnum

from pg_user u, pg_type t, pg_attribute a, pg_type n

where u.usesysid = t.typowner

and t.typrelid = a.attrelid and t.typtype = 'c' and not (t.typname ~* 'pg_')

and n.typelem = a.atttypid

and substr(n.typname, 1, 1) = '_'

and a.attnum > 0 ;

 

And then create functions using that view.

 create or replace function  table_exists (tbl varchar) returns boolean AS $$

DECLARE

  x integer;

BEGIN

               Execute 'select count(*) from my_tbldescription where tblname=$1' into x using tbl;

               if (x>0)

               then

                RETURN TRUE;

               else

                RETURN FALSE;

               end if;

END;

$$ LANGUAGE plpgsql;

 create or replace function  column_exists (col varchar) returns boolean AS $$

DECLARE

  x integer;

BEGIN

               Execute 'select count(*) from my_tbldescription where attname=$1' into x using col;

               if (x>0)

               then

                RETURN TRUE;

               else

                RETURN FALSE;

               end if;

END;

 Regards

Sameer

 

 

pgsql-general by date:

Previous
From: Marc Mamin
Date:
Subject: Re: Hash Support Function
Next
From: Andreas 'ads' Scherbaum
Date:
Subject: Re: Call for design: PostgreSQL mugs