É possível consultar nomes de tabelas que contenham colunas sendo
LIKE '%myName%'
?
sql
sql-server
tsql
system-tables
gruber
fonte
fonte
Respostas:
Tabelas de Pesquisa:
Tabelas e exibições de pesquisa:
fonte
INFORMATION_SCHEMA
exibições anteriores incluídas no SQL Server estão em conformidade com a definição padrão ISO para o arquivo Information_SCHEMA . ,sys.columns
,sys.tables
É específico do Microsoft SQL Server.TABLE_SCHEMA
na sua lista de seleção pode ser útil. Ainda +1 porque é uma boa resposta.Também podemos usar a seguinte sintaxe: -
fonte
INFORMATION_SCHEMA
faz parte do padrão ANSIServidor SQL:
Oráculo:
Uso TODO o tempo para encontrar TODAS as instâncias de um nome de coluna em um determinado banco de dados (esquema).
fonte
Isso aqui fornecerá algumas informações extras sobre o esquema, tabelas e colunas nas quais você pode ou não optar por usar condições extras na cláusula where para filtrar. Por exemplo, se você deseja apenas ver os campos que devem ter valores, adicione
Você pode adicionar outros condicionais. Também adicionei as colunas na cláusula select dessa maneira vertical, para que fosse fácil reordenar, remover, renomear ou adicionar outros com base em suas necessidades. Como alternativa, você pode procurar apenas tabelas usando T.Name. É muito personalizável.
Aproveitar.
fonte
Isso deve funcionar:
fonte
sys.tables
em vez desysobjects
(que é obsoleto a partir do SQL Server 2005)Se você gosta mais de ferramentas de terceiros, existem muitas opções, como:
Isso é muito útil se o seu banco de dados contiver objetos criptografados (visualizações, procedimentos, funções), porque você não poderá procurar facilmente por essas tabelas de sistema.
fonte
Não sei por que tantos de vocês sugerindo se unir a
sys.table with sys.columns
você podem simplesmente usar o código abaixo:Select object_name(object_id) as TableName,* from SYS.columns where name LIKE '%MyName%'
ou
Se você quiser o nome do esquema também:
fonte
Se você simplesmente deseja o nome da tabela, pode executar:
Se você quiser o nome do esquema também (o que, em muitos casos, será necessário, pois você terá muitos esquemas diferentes e, a menos que se lembre de todas as tabelas do banco de dados e de onde ele pertence, isso pode ser útil), execute:
e, finalmente, se você quiser em um formato melhor (embora seja aqui que o código (na minha opinião) esteja ficando muito complicado para facilitar a escrita):
note que você também pode criar uma função com base no que eu tenho:
Vale ressaltar que o recurso concat foi adicionado em 2012. Para 2008r2 e versões anteriores, use + para concatenar seqüências de caracteres.
Re-formatei o proc um pouco desde que publiquei isso. É um pouco mais avançado agora, mas parece muito mais confuso (mas está em um processo para que você nunca o veja) e está formatado melhor.
Esta versão permite que você o tenha em um banco de dados administrativo e pesquise em qualquer banco de dados. Altere a decleração de
@db
de'master'
para o que você deseja que seja o banco de dados padrão (NOTA: o uso da função CONCAT () funcionará apenas com 2012+, a menos que você altere a concatenação de cadeias para usar os+
operadores).fonte
É de Pinal Sir Blog
fonte
fonte
Você pode encontrá-lo em Information_SCHEMA.COLUMNS pelo filtro column_name
fonte
fonte
A consulta a seguir fornecerá os nomes exatos da tabela do banco de dados com o nome do campo como '% myName'.
fonte
Para obter informações completas: nome da coluna, nome da tabela e esquema da tabela.
fonte
Eu apenas tentei e isso funciona perfeitamente
Apenas altere YourDatbaseName para o banco de dados e YourcolumnName para o nome da coluna que você procura, mantendo-o como está.
Espero que isso tenha ajudado
fonte
fonte
Eu usei isso para o mesmo propósito e funcionou:
fonte
Espero que não seja uma resposta duplicada, mas o que eu gosto de fazer é gerar uma instrução sql dentro de uma instrução sql que me permita pesquisar os valores que estou procurando (não apenas as tabelas com esses nomes de campo (como geralmente necessário excluir todas as informações relacionadas ao ID do nome da coluna que estou procurando):
Então eu posso copiar e colar e executar minha primeira coluna "SQLToRun" ... então substituo o "Select * from 'por' Delete from 'e isso permite que eu exclua todas as referências a esse ID fornecido! Escreva esses resultados no arquivo para que você tê-los apenas no caso.
NOTA **** Certifique-se de eliminar as tabelas de bakup antes de executar sua instrução de exclusão ...
fonte
fonte
Como o oracle, você pode encontrar tabelas e colunas com isso:
fonte
Eu queria algo para tabelas e visualizações que não fizessem meus olhos sangrarem.
Inquerir
Resultado
fonte
Apenas para melhorar as respostas acima, incluí visualizações e concatenamos o esquema e a tabela / exibição juntos, tornando os resultados mais aparentes.
fonte
Você pode tentar esta consulta:
fonte
Aqui está a resposta para sua pergunta
fonte
fonte
Aqui está uma solução funcional para um banco de dados Sybase
fonte
Podemos usar
sp_columns
para esse fim.fonte
Consulta SQL para mostrar todas as tabelas que especificaram o nome da coluna:
fonte