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

[EMAIL PROTECTED]
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 [EMAIL PROTECTED])
> 


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to