Вставить в с помощью оператора выбора, где значение не равно нулю - PullRequest
0 голосов
/ 09 июля 2020

Я хочу выполнить операцию вставки на основе оператора select из другой таблицы на SQL сервере.

Я построил это:

INSERT INTO Table1
SELECT  table2.var1, table2.var2, 1, GETDATE(), 1, GETDATE(),0
FROM    table2

Все значения в Table1 NOT NULL, и есть пара записей table2.var2, где есть нулевое значение, я хочу пропустить NULL и продолжить операцию.

1 Ответ

1 голос
/ 09 июля 2020

Вы можете фильтровать строки, где table2.var2 имеет значение NULL в предложении WHERE.

INSERT INTO table1
            (<list of target columns>)
            SELECT table2.var1,
                   table2.var2,
                   1,
                   getdate(),
                   1,
                   getdate(),
                   0
                   FROM table2
                   WHERE table2.var2 IS NOT NULL;

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

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