Re[2]: Копирование many-to-many (MS SQL 2005)
От: H.P. Baxxter  
Дата: 12.09.07 19:02
Оценка:
Здравствуйте, pkarklin, Вы писали:

P>Здравствуйте, H.P. Baxxter, Вы писали:


HPB>>У меня с t-sql опыт не большой, в основном, запросы, но пару раз проскакивали простенькие триггеры, хранимки и функции (как правило, элементарный уровень). По этому даже не представляю как решить следующую задачу:

HPB>>Есть три таблицы Пользователь, Группа и таблица связка. Необходимо скопировать всех пользователей удовлетворяющих определённому критерию (например, возраст > 25 лет) и изменить у скопированных несколько полей на одинаковое значение (например, IsActive = false), а также нужно скопировать всю информацию по ним из таблицы связки. Подскажите, пожалуйста, какие есть решения?

P>Т.е. мы сами должны придумать DDL на таблицы, тестовые данные и что должно получиться в результате?


Ок, извиняюсь.

create table USER
(
ID int identity primary key,
FirstName nvarchar(50) not null,
LastName nvarchar(50) not null,
Year int not null,
IsActive bit not null
)

create table ROLE
(
ID int identity primary key,
Name nvarchar(50) not null
)

create table USER_ROLE
(
ID int identity primary key,
USER_ID int not null,
ROLE_ID int not null
)

Нужно копировать юзеров в туже таблицу, только изменив соответственно ID как минимум, но главное скопировать для каждого юзера информацию из таблицы связки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.