2016-06-28 8 views
2

У меня есть следующая инструкция insert около 1000 строк, и теперь я хочу добавить один новый столбец. Новый столбец будет иметь значение версии + ID в concat. Как я могу получить значения из инструкции insert и добавить ее в новый столбец? Должен ли я создать динамический SQL?Получить значение из инструкции insert sql

INSERT INTO dbo.Table (Version,ID,Description) VALUES ('2002','1111','Desc') 
INSERT INTO dbo.Table (Version,ID,Description) VALUES ('2002','1112','Desc') 
+0

от 'dbo', я предполагаю, что это mssql? –

+0

SQL Server tsql – Mcol

+2

Вы спрашиваете, как добавить еще один столбец в эти существующие инструкции 'INSERT'? Как сделать инструкцию 'UPDATE' после их выполнения? Что-то другое? Кроме того, зачем вам дублировать данные, которые уже существуют в строках? – David

ответ

6
  1. Выполните запрос, чтобы вставить данные
  2. Изменить таблицу, добавив новый столбец
  3. выполнить следующий запрос

    UPDATE dbo.Table 
    SET NewColumn = Version + ID 
    
+0

ty @vkp для создания моего кода довольно – Semaphore

2

Я предлагаю вам создать вычисляемый столбец с идентификатором версии +. В зависимости от использования вы можете сделать это постоянным вычисленным столбцом, который замедлит запись, но ускорит чтение.

0

Есть так много способов, чтобы поддерживать скрипты:

enter image description here

Найди то, что: (Description)\)([^\(]+)\('([^']+)',\s*'([^']+)',\s*(.+)\)
Заменить: $1, NewColumn\)$2\('$3', '$4', $5, '$3-$4'\)

Буквально получает значения от вставки заявления и сохраняет в новой колонке%)

+0

Ницца, где я могу найти больше о regex для этого? – Mcol

+0

Я не могу получить значения – Mcol

+0

@Mcol, я не понял о «значениях». Некоторые особенности диалектного диалекта для диалога поиска и замены АЭС можно найти в справке АЭС. –

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