Fórum Problema ao cria indice #389839

03/11/2010

0

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:

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

Alan Miranda

Responder

Posts

03/11/2010

Wilson Junior

Mas toda "Primary Key" já cria um índice.
Não entendi do porque criar um índice para um índice já existente.
Responder

Gostei + 0

03/11/2010

Alan Miranda

é 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
Responder

Gostei + 0

03/11/2010

Anderson

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:.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar