Olá, Emerson CREATE TEMP TABLE tab_temp(codigo int PRIMARY KEY) WITH OIDS;
INSERT INTO tab_temp VALUES (1); SELECT oid FROM pg_class WHERE relname='tab_temp'; SELECT tableoid FROM tab_temp LIMIT 1; Ao você fazer o SELECT na pg_class você sempre terá o oid da tabela, seja ela temporária ou permanente. Se você fizer: DROP TABLE tab_temp e novamente fizer: CREATE TEMP TABLE tab_temp(codigo int PRIMARY KEY) WITH OIDS; INSERT INTO tab_temp VALUES (1); SELECT oid FROM pg_class WHERE relname='tab_temp'; SELECT tableoid FROM tab_temp LIMIT 1; Você verá que será criado outro oid para a tabela temporária. 2009/6/10 emerson hermann <[email protected]> > Ola Pessoal, > Estou desenvolvendo uma store procedure que usa algumas tabelas > temporarias criadas por outra store procedure, porem queria ter > certeza de pegar a tabela temporaria correta. > > Como obter o OID da tabela temporaria no instante da criacao da mesma? > Exemplo: > > CREATE TEMPORARY TABLE tb_temp01 ( > id integer, > config varchar(200), > diretorio varchar(200) > ) ON COMMIT PRESERVE ROWS; > > Tenho ciencia de que existe dessa forma porem funciona com linhas e > nao com tabelas: > CREATE TEMPORARY TABLE tb_temp01 ( > id integer, > config varchar(200), > diretorio varchar(200) > ) WITH OIDS > ON COMMIT PRESERVE ROWS; > > Usando o catalogo do postgres tenho essa informacao > SELECT oid, * FROM pg_class WHERE relname = 'tb_temp01'; > > Porem preciso do OID no momento da criacao da tabela, como fazer ? > > > Desde ja agradeco. > > Cordialmente, > > Emerson Hermann > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > []s -- JotaComm http://jotacomm.wordpress.com http://www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
