Responder a este comentário
Existe uma tabela "dummy" igual a tabela DUAL do Oracle?
Apartir da versão 11.10 foi criada a tabela sysmaster:sysdual.
Ela pode ser utilizada para executar procedures e funcoes como:
# SQL select meu_sequence.nextval from sysmaster:sysdual; # SPL - Procedures select meu_sequence.nextval into vVariavel from sysmaster:sysdual; # Linguagem I-4GL: SQL; select meu_sequence.nextval into $vVariavel from sysmaster:sysdual; END SQL;
Mas se você não gostou de ter que reescrever seu SQL, a solução é fácil e funciona em qualquer versão do banco, crie sua tabela DUAL:
CREATE TABLE dual ( dummy char(1) ); INSERT INTO dual VALUES ("X"); # Remove todas as permissões da tabela, para não permitir que alterem a tabela REVOKE ALL ON dual FROM public; GRANT SELECT ON dual TO public; SELECT meu_sequence.nextval FROM dual;
Ou se preferir, crie um SYNONYM:
CREATE PUBLIC SYNONYM dual FOR sysmaster:sysdual;
- 612 leituras
Tags:




