У меня есть отношения, в которых медик — это человек, а у медика есть 3 атрибута: ID
, paycheck
и speciality
, а у человека есть name
,age
,gender
,address
, и поскольку медик - это person
, я хочу, чтобы
Таким образом, когда медик создается с указанным ID
, он получит info( name,age etc )
от person
с этим id
.
Есть ли способ сделать это без использования update
, но вместо этого сделать это при создании таблицы, например сказать, что table Medic
имеет атрибуты Name where Medic.name = Person.Name
, если person.id = medic.id
.
1 ответ
Вы должны определить medics
, используя ссылку внешнего ключа:
create table medics (
medic_id int identity(1, 1) primary key,
payment ?, -- whatever the type is
specialty nvarchar(255),
person_id int,
foreign key (person_id) references persons(person_id)
);
create tabel persons (
person_id int identity(1, 1) primary key,
name nvarchar(255), -- or whatever
. . . -- and so on
);
Затем для insert
:
insert into medics (payment, specialty, person_id)
select @payment, @specialty, p.person_id
from persons p
where p.name = @name;
insert
в представлении.
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.