Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите вставить записи / 3 сообщений из 3, страница 1 из 1
09.06.2001, 13:08
    #32007277
Николай
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите вставить записи
Приветствую!
Есть 2 таблицы:
- что вставлять: cont(id int NOT NULL, art_id int NOT NULL, name varchar(50), CONT_ID int)
- куда вставлять: contents (cont_id int IDENTITY (1, 1) NOT NULL, name varchar(50), CONSTRAINT [PK_contents] PRIMARY KEY CLUSTERED(cont_id) ON PRIMARY) ON [PRIMARY]

Нужно вставить 1-ю во вторую так, чтобы потом можно было изменить все cont.CONT_ID на полученные при вставке значения ключа в contents для дальнейшего их использования (потом с их помощью надо будет составлять др. таблицы).

Заранее признателен.
...
Рейтинг: 0 / 0
09.06.2001, 13:48
    #32007279
Николай
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите вставить записи
А самого у меня такие мысли:
1. Открыть транзакцию, получить IDENT_CURRENT('contents');
2. Создать глобальную врем. таблицу, в которой, помимо полей 2-й таблицы, были бы ключевые поля 2-й, установив ей нужный IDENT;
3. Создать для нее триггер на добавление записей, который бы записывал новые идентификаторы cont_id;
4. Добавить в нее записи из 1-й таблицы;
5. Добавить все записи из временной таблицы во 2-ю, установив identity_insert contents on;
6. Изменить CONT_ID в 1-й таблице на вновь полученные из временной таблицы.

Скажите, ход моей мысли совпадает с ходом ваших?
...
Рейтинг: 0 / 0
09.06.2001, 14:31
    #32007280
Николай
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите вставить записи
гы!
Только триггер тут уже не нужен
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите вставить записи / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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