Как я могу получить все имена таблиц, где столбец, как «column_name». Уловка в том, что я хочу только таблицу, которая имеет определенное значение в столбце

Я обнаружил, что иногда я получаю ошибку NoClassDefFound, когда код компилируется с несовместимой версией класса, найденного во время выполнения. Конкретный экземпляр, о котором я помню, связан с библиотекой осей apache. Фактически на моем пути к классам среды исполнения было 2 версии, и она собирала устаревшую и несовместимую версию, а не правильную, вызывая ошибку NoClassDefFound. Это было в приложении командной строки, где я использовал команду, подобную этой.

set classpath=%classpath%;axis.jar

Мне удалось получить правильную версию, используя:

set classpath=axis.jar;%classpath%;
-1
задан kooshy 16 January 2019 в 17:41
поделиться

1 ответ

Вот немного, чтобы вы начали в правильном направлении.

WITH cteColumns AS (
    SELECT c.name AS ColName, t.name AS TableName, s.name AS SchemaName
    FROM sys.columns c
    JOIN sys.tables t ON c.object_id = t.object_id
    JOIN sys.schemas s on t.schema_id = s.schema_id
    WHERE c.name LIKE '%columnnID%'
)
SELECT 'SELECT * FROM ' 
       + QUOTENAME(c.SchemaName) + '.' + QUOTENAME(c.TableName)
       + ' WHERE ' + QUOTENAME(c.ColName) + ' = 11074'
    FROM cteColumns c;

Затем вы можете динамически выполнять эти результаты или копировать / вставлять в SSMS, в зависимости от ваших потребностей.

0
ответ дан Joe Stefanelli 16 January 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: