1.
create database [医院数据库]
use [医院数据库]
go
create table 医生表
([编号] char(6) primary key,
[姓名] nchar(4) not null,
[性别] nchar(1) check([性别] in ('男', '女')),
[出生日期]datetime ,
[职称] char(18) not null
)
create table病人表
([课号] char(6) primary key,
[姓名] nchar(4) not null,
[性别] nchar(1) check([性别] in ('男', '女')),
[民族] nchar(10),
[身份证号] char(18) not null
)
create table病历表
(ID IDENTITY(1, 1),
[病人编号] char(6) references 病人表(学号),
[医生编号] char(6) references 医生表(编号),
[病历描述] varchar(1000)
)
2.
insert 医生表 values('100001', '杜医生', '男', '1963-5-18', '副主任医师')
insert 医生表 values('100002', '郭医生', '女', '1950-7-26', '副主任医师')
insert 医生表 values('100003', '刘医生', '男', '1973-9-18', '医师')
update医生表 set 职称='主任医师' where 编号='100002'
delete医生表 where 编号='100003'
3.
create view [医疗表视图] as
select br.姓名,ys.姓名,yl.病历 from 病人表 as br join 医疗表 as yl
on br.编号yl.病人编号
join 医生表 as ys
on yl.医生编号=ys.编号
4.
Select br.编号, br.姓名, br.病历, yl.医生编号
from 病人表 br left join 医疗表 yl
on br.编号 = yl.病人编号
5.
create procedure [某医生看病人数]
@医生编号 nchar(16), @人数 int output
as
select @人数=count(病人编号)
from 病人表
where 医生编号 = @医生编号
go
declare @TOTAL int
execute [某医生看病人数] '100001', @TOTAL
6
select * from 医生表 where 出生日期<'1970-01-01'
7.
select 编号, 姓名, 性别, 出生日期, 职称 from 医生表
where 编号 in (select 医生编号 from 医疗表)
8.
create default zhicheng AS '医师'
go
exec sp_bindefault 'zhicheng', '医生表.职称'
分值太少。。 至少要过200