は、このプロセスは、データ型がchar
が含まれているすべてのテーブルのすべての列でカーソルを開き、この
DECLARE cur CURSOR FOR
SELECT 'SELECT DISTINCT ' + QUOTENAME(c.COLUMN_NAME) + 'AS ' + QUOTENAME(TABLE_CATALOG + '.' + TABLE_SCHEMA + '.' + TABLE_NAME) + ' FROM ' + QUOTENAME(TABLE_CATALOG) + '.' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
FROM INFORMATION_SCHEMA.COLUMNS AS c
WHERE c.DATA_TYPE LIKE '%char%'
DECLARE @cmd VARCHAR(MAX);
OPEN cur;
FETCH NEXT FROM cur INTO @cmd;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @cmd
EXEC(@cmd);
FETCH NEXT FROM cur INTO @cmd;
END
CLOSE cur;
DEALLOCATE cur;
ようにそれを試してみてください。すべての異なる値を選択するためのステートメントを作成し、これを実行します。
シナリオをよりよく理解し、問題の最適な解決方法を提供するために、データと必要な出力を追加します。 –