Fórum Limite de quot;orquot;s ou limite no quot;inquot; #58104

02/04/2007

0

Olá Pessoal,

Tenho um banco de dados local e outro na internet. Semanalmente tenho que pegar o conteúdo daqui e atualizar na internet: atualizar, inserir os novos ou excluir da internet os antigos.

Estou com o seguinte problema: eu passo um parâmetro para a select, sendo um widestring. Ela tenta fazer, por exemplo, o seguinte:

delete from academias where codigo in ( :pcods )


Só que a base é muito grande e tem mais de 1500 códigos nesse ´in´.

Estava pensando em trocar esse ´in´ por ´or´, só que não sei se tem limite também...

Obrigada desde já !

:!:


Tathianam

Tathianam

Responder

Posts

08/04/2007

Rodolpho123

Tathiana,

O limite estabelecido da cláusula IN na maioria dos bancos é de 1000 registros. Já usando o operador OR, eu não tenho certeza destes limites, mas, não existe outra maneira de vc executar o seu SELECT? Como ´por exemplo, usando um NOT EXSTIS, ou algo parecido? Se vc usar deste jeito que vc está querendo (usando OR) a sua performance do banco vai cair drásticamente. Não sei como está montada a sua estrutura mas não minha opinião, eu evitaria de usar as 2 condições...


Responder

Gostei + 0

08/04/2007

Tathianam

Você pode me dar um exemplo de select com EXISTS ? Realmente não conhecia essa sintaxe ...


Responder

Gostei + 0

08/04/2007

Rodolpho123

Segue o exemplo:
Ao invés de fazer:
select
  a.campo
from
  tabela a
where
  a.idtabela in (select b.idtabela
                     from tabela b)

usar o EXISTS
select
  a.campo
from
  tabela a
where exists
(select 
   b.idcampo
from
   tabela b
where
  b.idcampo = a.idcampo)




Responder

Gostei + 0

09/04/2007

Tathianam

Ah, então eu acho que não vai resolver mesmo.... Pois o conteúdo do [b:eaf399cc88]IN[/b:eaf399cc88] vem de outra base de dados.

Ex: os professores novos estão no firebird, no sistema desktop

O que eu quero atualizar são os dados do site, uma base SQL Server, no provedor...

Dá pra fazer assim?


Responder

Gostei + 0

09/04/2007

Rodolpho123

Então aí não tem jeito....vai ser demorado mesmo a sua consulta...


Responder

Gostei + 0

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

Aceitar