¿Es posible consultar los nombres de tablas que contienen columnas siendo
LIKE '%myName%'
?
sql
sql-server
tsql
system-tables
gruber
fuente
fuente
Respuestas:
Tablas de búsqueda:
Buscar tablas y vistas:
fuente
INFORMATION_SCHEMA
vistas @Revious incluidas en SQL Server cumplen con la definición estándar ISO para el INFORMATION_SCHEMA. ,sys.columns
,sys.tables
Que es específico de Microsoft SQL Server.TABLE_SCHEMA
en su lista de selección puede ser útil. Todavía +1 porque es una buena respuesta.También podemos usar la siguiente sintaxis: -
fuente
INFORMATION_SCHEMA
es parte del Estándar ANSIServidor SQL:
Oráculo:
Lo uso TODO el tiempo para encontrar TODAS las instancias de un nombre de columna en una base de datos (esquema) dada.
fuente
Esto aquí le dará un poco de información adicional sobre el esquema, las tablas y las columnas que puede elegir o no usar condiciones adicionales en su cláusula where para filtrar. Por ejemplo, si solo desea ver los campos que deben tener valores, agregue
Puede agregar otros condicionales, también agregué las columnas en la cláusula select de esta manera vertical, por lo que fue fácil reordenar, eliminar, renombrar o agregar otros según sus necesidades. Alternativamente, puede buscar solo tablas usando T.Name. Es muy personalizable.
Disfrutar.
fuente
Esto debería funcionar:
fuente
sys.tables
lugar desysobjects
(que está en desuso a partir de SQL Server 2005)Si le gustan más las herramientas de terceros, hay muchas opciones, como:
Estos son muy útiles si su base de datos contiene objetos cifrados (vistas, procedimientos, funciones) porque no puede buscarlos fácilmente usando tablas del sistema.
fuente
No sé por qué tantos de ustedes sugiriendo unirse a
sys.table with sys.columns
ustedes simplemente pueden usar el siguiente código:Select object_name(object_id) as TableName,* from SYS.columns where name LIKE '%MyName%'
o
Si también quieres el nombre del esquema:
fuente
Si simplemente desea el nombre de la tabla, puede ejecutar:
Si también desea el Nombre del esquema (que en muchos casos lo hará, ya que tendrá muchos esquemas diferentes, y a menos que pueda recordar cada tabla de la base de datos y a dónde pertenece, esto puede ser útil) ejecute:
y finalmente si lo quieres en un formato más agradable (aunque aquí es donde el código (en mi opinión) se está volviendo demasiado complicado para una escritura fácil):
Tenga en cuenta que también puede crear una función basada en lo que tengo:
Vale la pena señalar que la función concat se agregó en 2012. Para 2008r2 y versiones anteriores, use + para concatenar cadenas.
He formateado el proceso un poco desde que publiqué esto. Ahora es un poco más avanzado, pero parece mucho más desordenado (pero está en un proceso, por lo que nunca lo verás) y está formateado mejor.
Esta versión le permite tenerla en una base de datos administrativa y luego buscar en cualquier base de datos. Cambie la declinación de
@db
from'master'
a la que desee que sea la base de datos predeterminada (NOTA: usar la función CONCAT () solo funcionará con 2012+ a menos que cambie la concatenación de cadenas para usar los+
operadores).fuente
Es del Blog de Pinal Sir
fuente
fuente
Puede encontrarlo en INFORMATION_SCHEMA.COLUMNS por column_name filter
fuente
fuente
La siguiente consulta le dará los nombres exactos de la tabla de la base de datos con el nombre del campo como '% myName'.
fuente
Para obtener información completa: nombre de la columna, nombre de la tabla, así como el esquema de la tabla.
fuente
lo acabo de probar y esto funciona perfectamente
Solo cambie YourDatbaseName a su base de datos y YourcolumnName a su nombre de columna que está buscando, el resto lo mantiene como está.
Espero que esto haya ayudado
fuente
fuente
Usé esto para el mismo propósito y funcionó:
fuente
Espero que esta no sea una respuesta duplicada, pero lo que me gusta hacer es generar una declaración sql dentro de una declaración sql que me permita buscar los valores que estoy buscando (no solo las tablas con esos nombres de campo (como suele ser necesario para que luego elimine cualquier información relacionada con la identificación del nombre de la columna que estoy buscando):
Luego puedo copiar y pegar ejecutar mi primera columna "SQLToRun" ... luego reemplazo "Seleccionar * de 'con' Eliminar de 'y me permite eliminar cualquier referencia a esa ID dada. ¡Escriba estos resultados en el archivo para que pueda tenerlos por si acaso.
NOTA **** Asegúrese de eliminar las tablas de bakup antes de ejecutar su declaración de eliminación ...
fuente
fuente
Al igual que Oracle, puede encontrar tablas y columnas con esto:
fuente
Quería algo para mesas y vistas que no me hiciera sangrar los ojos.
Consulta
Resultado
fuente
Solo para mejorar las respuestas anteriores, también he incluido Vistas y Concatenado el Esquema y la Tabla / Vista juntos para hacer que los Resultados sean más evidentes.
fuente
Puedes probar esta consulta:
fuente
Aqui esta la respuesta a tu pregunta
fuente
fuente
Aquí hay una solución de trabajo para una base de datos Sybase
fuente
Podemos usar
sp_columns
para el propósito.fuente
Consulta SQL para mostrar todas las tablas que tienen un nombre de columna especificado:
fuente