发布时间 : 星期日 文章数据库sql复习题库4更新完毕开始阅读875b648ed0d233d4b14e69d3
2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。 CREATE ________ CLASS
(CLASSNO ______ (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL,
CLASSNAME CHAR (____) NOT NULL
)
3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。 USE XK
DECLARE @COUNO VARCHAR(3),@COUNAME VARCHAR(20) _________________________
FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO _________________________
FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME WHILE @@FETCH_STATUS=0 BEGIN
PRINT ’课程号:’+ @COUNO +’课程名称:’+ @CouName FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME END
_________________________ DEALLOCATE CRSCOURSSE
4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。 USE XK
CREATE ____________ V_STUDENT AS
SELECT *
FROM ____________
WHERE CLASSNO=’20000001’
5、删除stu_score表中的外键约束con_num TABLE stu_score
CONSTRAINT con_num
6、为student_info表添加“总学分”列,并为该列建立默认对象df_credit,使其默认值为0 Create df_credit as 0
Alter table student_info add 总学分 real
Exec ‘df_credit’,’student_info.总学分’ 7、创建和执行带有输入和输出参数的存储过程proc_avg,查sc表中输入课程编号的最高分,最低分和平均分。 Create proc proc_avg
@cid char(4),@max_scr int ,@min_scr int output,@avg_scr int output As
Select @max_scr=max(grade),@min_scr=min(grade),@avg_scr= From grade
Where cno=@cid Group by cno 执行:
Declare @maxs int,@mins int,@avgs int
Exec proc_avg ‘3’,@maxs output, ,@avgs output Select @maxs,@mins,@avgs
8. 建立表的命令如下,请补全约束定义。
create table employee
( eno char(5) , --主键
ename varchar(8) ______ --可以为空,但不重名 esex char(2) , --默认值为’女’ eage smallint , --18到60岁之间 item varchar(10) , --非空 dno char(3) foreign key references )
--外键,参照DEPARTMENT表的主码(no)
9.创建SQL SERVER身份认证的登陆账户“stulogin”并进行授权,添加到tech数据库,使其成为数据库用户“stuuser”,然后将其添加到数据库的db_accessadmin角色中,完成下列代码。
EXEC sp_addlogin ‘stulogin’,’12345’,’tech’ USE tech GO
EXEC ‘stulogin’,’stuuser’ EXEC ‘db_accessadmin’, ’stuuser’
10、credit表包括学号sno、课程编号cno、分数、学分列。建立INSERT触发器ins_cr,当为表credit插入记录时,检查分数是否大于等于60,是则从course表取得该分数对应课程的学分,插入表中,否则不插入。 Create trigger ins_cr On credit For insert As Begin
Declare @score int , @credit int
Select @score=分数 from inserted
Select @credit=course.学分 from course, Where course.cno=inserted.cno If Begin
Update credit set 学分=@credit from credit,inserted Where and credit.cno=inserted.cno End End