Добавить один общий столбец во всей базе данных - PullRequest
0 голосов
/ 28 июня 2018

Мне нужно добавить один общий столбец во всей таблице базы данных. Любые ярлыки или запросы или сценарии, чтобы добавить один столбец во всей базе данных. потому что в этой базе данных около 100 таблиц. Пожалуйста, предложите мне любые идеи по добавлению столбцов во все таблицы

Ответы [ 3 ]

0 голосов
/ 28 июня 2018

Вы можете сгенерировать все запросы и затем выполнить их:

SELECT concat('ALTER TABLE ',TABLE_NAME,' add column mycolumnname mytype;')
 FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'yourschema';
0 голосов
/ 28 июня 2018

Здесь очень похожий вопрос:

Добавить столбец, если он существует не для всех таблиц?

И да, вы также можете сгенерировать скрипт из запроса, как предложено @Kobi.

SELECT 
'IF NOT EXISTS(SELECT * FROM sys.columns c WHERE c.[name] = ''COLUMN_NAME'' AND c.[object_id] = OBJECT_ID(N''[' + SCHEMA_NAME(t.schema_id) + '].[' + t.[name] + ']'', N''U''))
    ALTER TABLE [' + SCHEMA_NAME(t.schema_id) + '].[' + t.[name] + ']
    ADD COLUMN_NAME INT NULL
'
FROM sys.tables t
0 голосов
/ 28 июня 2018

Вы можете использовать подготовленное утверждение, используя? оператор вместо имени таблицы.

вот код:

ALTER TABLE? ADD column_name определение столбца;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...