Stored procedure - Mailing list pgsql-general

From Thorsten Kraus
Subject Stored procedure
Date
Msg-id 4639F8EF.70300@gmx.de
Whole thread Raw
In response to Re: psql access of user's environmental variables  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Stored procedure
List pgsql-general
Hi NG,

I want to write a stored procedure which creates a table in my PostgreSQL database. The procedure has one input parameter: the table name.
Here is my first try, but that does not work:
--------------------------------------------------------------------------------------------------

CREATE OR REPLACE FUNCTION create_geom_table(text) RETURNS void AS $$
DECLARE
    --table_name TEXT;
BEGIN
---------------------------------------
CREATE TABLE table_name
(
  id integer,
  "time" timestamp without time zone,
  geom geometry,
  CONSTRAINT enforce_dims_geom CHECK (ndims(geom) = 2),
  CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'MULTIPOLYGON'::text OR geom IS NULL),
  CONSTRAINT enforce_srid_geom CHECK (srid(geom) = -1)
)
WITHOUT OIDS;
ALTER TABLE table_name OWNER TO "admin";

CREATE INDEX geo_index ON table_name USING gist(geom);

---------------------------------------
ALTER FUNCTION create_geom_table(table_name) OWNER TO "admin";
END;
$$ LANGUAGE plpgsql; --------------------------------------------------------------------------------------------------

Can someone tell me what's wrong with this and what I have to change?

Regards,
Thorsten

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: psql access of user's environmental variables
Next
From: Alban Hertroys
Date:
Subject: Re: Update violating constraint