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

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

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

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


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