У меня с t-sql опыт не большой, в основном, запросы, но пару раз проскакивали простенькие триггеры, хранимки и функции (как правило, элементарный уровень). По этому даже не представляю как решить следующую задачу:
Есть три таблицы Пользователь, Группа и таблица связка. Необходимо скопировать всех пользователей удовлетворяющих определённому критерию (например, возраст > 25 лет) и изменить у скопированных несколько полей на одинаковое значение (например, IsActive = false), а также нужно скопировать всю информацию по ним из таблицы связки. Подскажите, пожалуйста, какие есть решения?
Здравствуйте, H.P. Baxxter, Вы писали:
HPB>У меня с t-sql опыт не большой, в основном, запросы, но пару раз проскакивали простенькие триггеры, хранимки и функции (как правило, элементарный уровень). По этому даже не представляю как решить следующую задачу: HPB>Есть три таблицы Пользователь, Группа и таблица связка. Необходимо скопировать всех пользователей удовлетворяющих определённому критерию (например, возраст > 25 лет) и изменить у скопированных несколько полей на одинаковое значение (например, IsActive = false), а также нужно скопировать всю информацию по ним из таблицы связки. Подскажите, пожалуйста, какие есть решения?
Т.е. мы сами должны придумать DDL на таблицы, тестовые данные и что должно получиться в результате?
Здравствуйте, 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 как минимум, но главное скопировать для каждого юзера информацию из таблицы связки.