From: | Jie Liang <jliang(at)ipinc(dot)com> |
---|---|
To: | Gerald Gutierrez <pozix(at)home(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: |
Date: | 2001-03-05 18:28:55 |
Message-ID: | Pine.BSF.4.10.10103051025050.10868-100000@tidal.ipinc.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Unfortunately, in plsql
you only can do DML(select/update/insert) instead of DDL(create/grant..).
i.e. you cannot create a table in plsql.
Jie LIANG
St. Bernard Software
10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873
jliang(at)ipinc(dot)com
www.stbernard.com
www.ipinc.com
On Sat, 3 Mar 2001, Gerald Gutierrez wrote:
>
> I don't seem to be able to create tables (persistent or temporary) from
> within a PL/PGSQL function. With the following script, I can create the
> function fine:
>
> CREATE FUNCTION tst()
> RETURNS INTEGER
> AS '
> BEGIN
> CREATE TABLE ttt(a int);
> RETURN 0;
> END;
> '
> LANGUAGE 'plpgsql';
>
> .... but when I execute it , I get the following error. The error happens
> regardless of whether I use CREATE TABLE or CREATE TEMPORARY TABLE:
>
> t1=> \i tst.sql
> DROP
> CREATE
> t1=> select tst();
> ERROR: copyObject: don't know how to copy 611
>
> Is it somehow wrong to create tables from within a PL/PGSQL function?
>
>
> Incidently, is it possible to generate a guaranteed unique table name while
> creating tables, much like some UNICES' ability to generate guaranteed
> unique file names for tempoary files?
>
> Thanks.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff S. | 2001-03-05 18:56:00 | How do I use text script containing SQL? |
Previous Message | Jie Liang | 2001-03-05 18:23:59 | Re: Passing table names to PL/PGSQL for SELECT/UPDATE/INSERT |