Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar tabelas que contenham o campo FILIAL = 02


Guto França

Pergunta

Pessoal, saudações.

É meu primeiro post neste fórum, então vou tentar explicar direito o que preciso.

VEJAM A QUERY ABAIXO

SELECT  DISTINCT LEFT(obj.name,3) TABELA,col.name CAMPO FROM sysobjects obj , syscolumns col
WHERE obj.xtype = 'U' and obj.id = col.id AND col.name NOT IN ('D_E_L_E_T_','R_E_C_N_O_','R_E_C_D_E_L_') and (
           Rtrim(Ltrim(substring(col.name,5,Len(col.name)))) = 'FILIAL' OR Rtrim(Ltrim(substring(col.name,4,Len(col.name)))) = 'FILIAL')

ORDER BY TABELA

Essa query acima, me retorna todas as tabelas que contém o campo FILIAL. Mas preciso ir um pouco além.

Preciso que ela me retorne todas as tabelas que tenham o campo FILIAL tenha o conteúdo IGUAL a 02.

É que trabalhamos aqui com o Microsiga, e esse ERP permite trabalhar com mais de uma filial no mesmo banco (TABELA), só que essa filial 02 não existe mais, então preciso retira-la do banco, ou seja, deletar todos os registros que sejam da filial 02.

Acontece que o sistema tem mais de 1000 tabelas...daí imagine o trabalhão em ter que acessar uma a uma para fazer isso.

Ajudem por favor.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

qual o campo que indentifica o numero da filial?

basta adicionar ao fim da query a opção "=2"

SELECT DISTINCT LEFT(obj.name,3) TABELA,col.name CAMPO FROM sysobjects obj , syscolumns col
WHERE obj.xtype = 'U' 
and  Campo_tabela = 2 and  /* adicionar essa linha, alterando o campo_tabela */
and obj.id = col.id
AND col.name NOT IN ('D_E_L_E_T_','R_E_C_N_O_','R_E_C_D_E_L_')
and (
Rtrim(Ltrim(substring(col.name,5,Len(col.name)))) = 'FILIAL'
OR
Rtrim(Ltrim(substring(col.name,4,Len(col.name)))) = 'FILIAL')

ORDER BY TABELA

Link para o comentário
Compartilhar em outros sites

  • 0

Raphael

Aí é que tá...o Microsiga difere as tabelas dele da seguinte forma:

TABELA CAMPO

------ ---------------

AA1 AA1_FILIAL

AA2 AA2_FILIAL

AA3 AA3_FILIAL

AA4 AA4_FILIAL

AA5 AA5_FILIAL

AA6 AA6_FILIAL

AA7 AA7_FILIAL

AA8 AA8_FILIAL

AA9 AA9_FILIAL

AAA AAA_FILIAL

AAB AAB_FILIAL

AAC AAC_FILIAL

AAF AAF_FILIAL

AAG AAG_FILIAL

Logo, o campo filial vai variar a nomeclatura de acordo com a tabela...tipo na tabela AA1 tenho o campo AA1_FILIAL, então ele vai mudar de acordo com a tabela.

Testei a sua opção, mas ele me retorna sempre vazio.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...