create database 学生选课
create table 学生表
(学号 char(8) ,姓名 char(8),性别 char(2),出生日期 datetime,所在系 char(8))
create table 课程表
(课程号 char(8),课程名 char(8), 学分 char(8))
create table 选课表
(学号 char(8) ,课程号 char(8),成绩 float (8))
use 学生选课
insert 学生表
(学号,姓名 ,性别,出生日期,所在系 )
values ('101','袁敏','女','1982-2-3','机电')
insert 学生表
(学号,姓名 ,性别,出生日期,所在系 )
values ('102','李志强','男','1983-4-5','计算机')
insert 学生表
(学号,姓名 ,性别,出生日期,所在系 )
values ('103','张亮','男','1984-10-9','建筑')
insert 课程表
(课程号,课程名, 学分)
values ('1011','C语言','6')
insert 课程表
(课程号,课程名, 学分)
values ('1012','数据结构','4')
insert 课程表
(课程号,课程名, 学分)
values ('1014','微机原理','6')
insert 选课表
(学号,课程号,成绩)
values ('101','1011','82.5')
insert 选课表
(学号,课程号,成绩)
values ('101','1012','79')
insert 选课表
(学号,课程号,成绩)
values ('102','1012','92.5')
create view v_xs
as select 姓名,成绩 from 学生表 ,选课表 where 所在系='计算机'
alter table 选课表 alter column 成绩 numeric (30)
update 选课表
set 成绩 =成绩+成绩*0.1
where 学号 in(select 学号 from 学生表 where 性别='女')
select * from 选课表
select 姓名, 成绩,课程名 from 选课表,课程表,学生表
select 学生表.姓名 ,count(课程号)
from 学生表, 选课表
where 选课表.学号=学生表.学号
group by 姓名
having count(课程号)>3
create procedure jingang
@jin varchar(10)
as
select 姓名,成绩,学分 from 选课表,课程表,学生表
where 课程表.课程号=选课表.课程号 and 姓名= @jin
execute jingang ''
create trigger jing
on 学生表
for insert,update
as 学号 like'10%'
create table 学生表现1
(学号 char(8) ,姓名 char(8),性别 char(2),出生日期 datetime,所在系 char(8))
create trigger jin
on 学生表现1
for delete
as if (select 学生表 from delete)='学号'
begin
prinf '你将删除该生信息'
roolback
end
b.gif