2016-09-27 2 views
0

Я ищу сценарий или запрос SQL Server, который преобразует значения Null в значения, определенные пользователем по умолчанию для всех столбцов в таблице.Сценарий для изменения значений Null для всех столбцов в таблице

Я знаю, что мы можем делать столбцы за столбцом, но моя таблица содержит 300 столбцов.

Заранее спасибо ..

+0

Возможный дубликат [Как Alter Mulitple Столбцы типа данных в SQL Server] (HTTP: //stackoverflow.com/questions/3465560/how-to-alter-mulitple-columns-datatype-in-sql-server) – EoinS

+0

Я бы посмотрел, почему в вашей таблице 300 столбцов. Это почти всегда является признаком очень плохой архитектуры, которая, как правило, является результатом неправильной нормализации. Я думаю, вам нужно внимательно изучить структуру таблиц, прежде чем тратить усилия на добавление значений по умолчанию. –

+1

Он может застрять в одной из тех систем предприятия, которые генерируют огромные таблицы. Проблема здесь в том, что он пытается заставить нас написать для него огромный сценарий, который, я боюсь, не подходит для сайта Q & A, подобного этому. По крайней мере, я бы этого не сделал. – ajeh

ответ

0

Я переписал мой запрос, чтобы установить значения 0.

SELECT 'UPDATE [Your Table] SET ' 
     + c.name + ' = COALESCE(' 
     + c.name + ',''0'')' FROM sys.columns AS c 
JOIN sys.tables AS t ON t.object_id = c.object_id 
WHERE t.name = '[Your table]' 
+0

Спасибо за быстрый ответ. Сценарий, который вы дали, сделает значение по умолчанию для столбца равным NULL. Но я хочу, чтобы все нулевые значения в столбце были «0» – neoo

+0

@neoo Я переписал запрос. Это то, что ты искал? –

+0

Эй, спасибо за сценарий, именно это я и ищу. Я могу сгенерировать требуемый запрос. – neoo

Смежные вопросы