Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 2 мастера -> 1 слейв?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3462
Есть мастер таблица, у нее слейв.
Делаю вторую мастер, и цепляю к ней тот же слейв, чтобы не копировать - такое возможно в принципе?
30 авг 17, 12:45    [20758433]     Ответить | Цитировать Сообщить модератору
 Re: 2 мастера -> 1 слейв?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
На одно поле два форинкея не повесишь. На разные -- можно.
30 авг 17, 12:58    [20758463]     Ответить | Цитировать Сообщить модератору
 Re: 2 мастера -> 1 слейв?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3462
Гавриленко Сергей Алексеевич
На одно поле два форинкея не повесишь. На разные -- можно.


ага, ясно, т.е. добавить еще одно поле и к нему можно прицепиться вторым мастером
30 авг 17, 13:03    [20758473]     Ответить | Цитировать Сообщить модератору
 Re: 2 мастера -> 1 слейв?  [new]
invm
Member

Откуда: Москва
Сообщений: 9123
Ролг Хупин
такое возможно в принципе?
Да.
use tempdb;
go

create table dbo.t1 (id int primary key);
create table dbo.t2 (id int primary key);
create table dbo.t3 (id int);
go

alter table dbo.t3 add foreign key (id) references dbo.t1 (id);
alter table dbo.t3 add foreign key (id) references dbo.t2 (id);
go

insert into dbo.t1 values (1), (3);
insert into dbo.t2 values (2), (3);

insert into dbo.t3 values (1);
insert into dbo.t3 values (2);
insert into dbo.t3 values (3);

select * from dbo.t3;
go

drop table dbo.t3, dbo.t2, dbo.t1;
go
30 авг 17, 13:36    [20758624]     Ответить | Цитировать Сообщить модератору
 Re: 2 мастера -> 1 слейв?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3462
Как-то да

use tempdb;
go

create table dbo.t1 (id int primary key);
create table dbo.t2 (id int primary key);
create table dbo.t3 (id int);
go

alter table dbo.t3 add foreign key (id) references dbo.t1 (id);
alter table dbo.t3 add foreign key (id) references dbo.t2 (id);
go

insert into dbo.t1 values (1), (3);
insert into dbo.t2 values (2), (3);

insert into dbo.t3 values (1);
[color=red]Msg 547, Level 16, State 0, Line 16
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__t3__id__3E52440B". The conflict occurred in database "tempdb", table "dbo.t2", column 'id'.
[/color]
insert into dbo.t3 values (2);
[color=red]The INSERT statement conflicted with the FOREIGN KEY constraint "FK__t3__id__3D5E1FD2". The conflict occurred in database "tempdb", table "dbo.t1", column 'id'.

[/color]insert into dbo.t3 values (3);

select * from dbo.t3;
go

drop table dbo.t3, dbo.t2, dbo.t1;
go
30 авг 17, 15:12    [20759078]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить