Копирование строк в одну таблицу без перечисления столбцов - PullRequest
0 голосов
/ 22 сентября 2019

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

Я пытался insert into [tablename] select * from [tablename] where [condition], очевидно,Я получил ошибку из-за ограничения первичного ключа, упоминание списка столбцов, исключая столбец первичного ключа в select, будет работать, но есть несколько таблиц, и некоторые таблицы имеют около 300 столбцов.Я не хочу давать длинный список в выборе.Поскольку я использую SQL Server, я нашел решение для SO, получив список столбцов из information_schema.columns и подготовив динамический запрос.Тем не менее, я не удовлетворен каким-либо из этих решений, есть ли другой способ, которым я могу это сделать?

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