Соберите все имена столбцов в таблицу

Я работаю над проектом, целью которого является переименование всех имен таблиц и имен столбцов в базе данных sql с одного языка на другой. Я собрал все имена локальных таблиц в таблицу ltbl_TableNames и хочу добавить все столбцы этих таблиц в таблицу с именем ltbl_TableColumns.

Я также хочу, чтобы каждый столбец таблицы имел ссылку на имя своей таблицы. Например, в таблице «Продажи» есть столбец «Сумма». Таблица «Продажи» имеет идентификатор «10000». Я хочу добавить этот идентификатор в столбец с именем TableName_ID для целей связывания. Возможно ли это сделать без особых хлопот?

Отказ от ответственности: я думаю о процессе переименования. Я только хочу собрать имена столбцов со ссылкой на имя их родительской таблицы.

Заранее спасибо за ответы.

Все имена таблиц и все столбцы :) Единственный жизнеспособный способ, который я вижу, это Visual Studio + SSDT -> Рефакторинг -> Переименовать объект. В зависимости от сложности (таблица/представления/хранимая процедура) это может быть несколько изменений в одном столбце, и вы пытаетесь переименовать все - the.agilesql.club/2016/09/…

Lukasz Szozda 28.06.2019 10:45

Процесс переименования вещей не моя сторона бизнеса. Я хочу только собрать столбцы в таблице со ссылкой на имя их родительской таблицы. Все остальное исправляет кто-то другой. )

AleksanderVH 28.06.2019 10:48

Просто запросите таблицы метаданных sys.tables и sys.columns.

Lukasz Szozda 28.06.2019 10:49

Все таблицы и все их столбцы уже перечислены в ИНФОРМАЦИОННОЙ СХЕМЕ docs.microsoft.com/en-us/sql/relational-databases/… Зачем это повторять?

Serg 28.06.2019 10:49

Немного практики ради, а еще я этого не знал, хех. Сообщает ли информационная схема, частью какой таблицы являются разные столбцы?

AleksanderVH 28.06.2019 10:52

да. оно делает. Ознакомьтесь с документом docs.microsoft.com/en-us/sql/relational-databases/…

Squirrel 28.06.2019 10:55

Пожалуйста, предоставьте некоторые входные данные и ожидаемые результаты для вашего случая.

DarkRob 28.06.2019 11:13
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
7
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать sys.tables для получения списка table name в вашей базе данных. Точно так же для column name вы можете использовать information_schema.columns, так как это даст записи с table name. Из приведенных выше 2-х записей вы можете легко сделать нужный вам результат.

            ;WITH CTABLE AS 
        ( SELECT * FROM SYS.TABLES WHERE TYPE_DESC = 'USER_TABLE' )
        , COLUMNNAME AS 
        ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS )
        SELECT * INTO NEWTABLE FROM 
        (SELECT CTABLE.NAME AS TABLENAME , COLUMNNAME.COLUMN_NAME, COLUMNNAME.COLUMN_NAME + '_' + CAST(CTABLE.OBJECT_ID AS VARCHAR(15)) AS NEW_COLUMNNAME   
        FROM CTABLE INNER JOIN COLUMNNAME ON CTABLE.NAME = COLUMNNAME.TABLE_NAME ) AS D 

Вы можете попробовать это для вашего результата.

Другие вопросы по теме