powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Изменение одного поля в INSERT
7 сообщений из 7, страница 1 из 1
Изменение одного поля в INSERT
    #32007347
Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно добавить несколько записей в таблицу из неё же самой и при этом изменить одно поле, типа этого
\nINSERT INTO MyTable ( ID, Field2, ..., FieldN )
SELECT @NewID, Field2, ..., FieldN
FROM MyTable
WHERE ID = @OldID

Можно ли сделать тоже самое, но не перечисляя все поля Field2, ..., FieldN?

Happy coding,
Igor
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007353
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно избавиться от перечисления полей в Insert:

INSERT INTO MyTable
SELECT @NewID, Field2, ..., FieldN
FROM MyTable
WHERE ID = @OldID
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007354
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
This is repetitive
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007443
Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4Павел:
Это ещё хуже, т.к. изменение порядка полей в таблице (мало ли что кому придёт в голову) приведёт к полной неразберихе.
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007447
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Igor:
Ну тогда позвольте несколько перефразировать Ваш вопрос, чтобы другим понятней было:
А можно сделать так, чтобы кто угодно лез в базу и что угодно в ней делал со структурой и данными, но все должно работало как я хочу, и чтобы не перечислять поля в запросах.
Наверное более четкой формулировки не существует
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007452
Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4Павел:
Не надо обижаться, я не сказал ничего оскорбительного.
А проблема эта действительно существует. БД разрабатываются не на один день и сопровождение БД (в том числе корректировка структуры) обычное дело, сегодня одни требования, завтра другие. Количество процедур в них может измеряться сотнями, за всеми не уследишь. При этом в моём коде есть один недостаток - добавление нового поля в таблицу потребует ревизии всех связанных с ней процедур. Ваш код имеет ещё одну проблему, которая может проявится при изменении порядка полей.
Я не силён в T-SQL'е, поэтому и спрашиваю. На C++ я бы эту проблему решил, как сделать это на T-SQL я не знаю.
Maintenance - вещь серьёзная и пренебрегать ей не стоит никогда.
...
Рейтинг: 0 / 0
Изменение одного поля в INSERT
    #32007465
rrr5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно через временную таблицу:
1. select into
2. update
3. insert select
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Изменение одного поля в INSERT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]