Problema ao cria indice
Ola a todos.
Bom estou com a seguinte situação:
Possuimos um software principal que funciona multi banco (interbase/Oracle), e um software menor que roda usando firebird (no qual eu sou o responsavel). Com isso estou criando uma ferramenta para rodar os scripts sem precisar da interferência do usuario ou do suporte da empresa. Mas encontrei esse problema aqui:
Ou seja quando eu executo o comando CREATE UNIQUE INDEX XPKFATRODAPEPEDIDO ele me da erro de duplicidade já que o firebird me gera automaticamente o indice com o mesmo nome, só que eu não gostaria de apagar esse trecho do meu script. Resumindo minha pergunta é alguem conhece algum comando no firebird que permita que eu use esse comando? algo como o USING INDEX no Oracle?
Bom estou com a seguinte situação:
Possuimos um software principal que funciona multi banco (interbase/Oracle), e um software menor que roda usando firebird (no qual eu sou o responsavel). Com isso estou criando uma ferramenta para rodar os scripts sem precisar da interferência do usuario ou do suporte da empresa. Mas encontrei esse problema aqui:
CREATE TABLE FATRODAPEPEDIDO ( LJA_CODIGO INTEGER NOT NULL, CPE_CODIGO INTEGER NOT NULL, RPE_FRETEEXPORTACAO VARCHAR(60), RPE_VOLUME VARCHAR(20), RPE_MARCA VARCHAR(40), RPE_INCOTERMS VARCHAR(40), RPE_EMBALAGEM VARCHAR(40), RPE_PESOBRUTO VARCHAR(20), RPE_PESOLIQUIDO VARCHAR(20), RPE_VALORFRETE VALOR, RPE_VALORSEGURO VALOR, RPE_EMBARQUE_CID INTEGER, RPE_DESEMBARQUE_CID INTEGER, RPE_CODIGOIBAN VARCHAR(20), RPE_INSTRUCOESPGTO VARCHAR(800), RPE_EMBARCACAO VARCHAR(100), CONSTRAINT XPKFATRODAPEPEDIDO PRIMARY KEY (LJA_CODIGO, CPE_CODIGO) ); CREATE UNIQUE INDEX XPKFATRODAPEPEDIDO ON FATRODAPEPEDIDO ( LJA_CODIGO, CPE_CODIGO );
Ou seja quando eu executo o comando CREATE UNIQUE INDEX XPKFATRODAPEPEDIDO ele me da erro de duplicidade já que o firebird me gera automaticamente o indice com o mesmo nome, só que eu não gostaria de apagar esse trecho do meu script. Resumindo minha pergunta é alguem conhece algum comando no firebird que permita que eu use esse comando? algo como o USING INDEX no Oracle?
Alan Miranda
Curtidas 0
Respostas
Wilson Junior
03/11/2010
Mas toda "Primary Key" já cria um índice.
Não entendi do porque criar um índice para um índice já existente.
Não entendi do porque criar um índice para um índice já existente.
GOSTEI 0
Alan Miranda
03/11/2010
é que em alguns caso o Interbase não cria automaticamente esse indice ai temos que criar na unha (o proprio erWin te devolve isso pronto) como nos deixamos os scripts em uma pasta comum e depois saimos alterando com o oracle achamos o USING INDEX que te deixa criar o indice com o mesmo nome (ou seja ignorando a criação automatica) eu queria sabe se o firebird tem algo igual
GOSTEI 0
Anderson
03/11/2010
Consulta o documento Firebird-2.1-LangRef-Update.pdf na página 39.
Algumas funcionalidades para Interbase/Firebird só encontrará nas versões mais novas, portanto, terá que checar a documentação correspondente a versão do banco de dados.
Abraços,
Anderson:.
Algumas funcionalidades para Interbase/Firebird só encontrará nas versões mais novas, portanto, terá que checar a documentação correspondente a versão do banco de dados.
Abraços,
Anderson:.
GOSTEI 0