数据库上机实验题(七、八、九)Word格式.docx

上传人:b****2 文档编号:14645472 上传时间:2022-10-23 格式:DOCX 页数:6 大小:20.96KB
下载 相关 举报
数据库上机实验题(七、八、九)Word格式.docx_第1页
第1页 / 共6页
数据库上机实验题(七、八、九)Word格式.docx_第2页
第2页 / 共6页
数据库上机实验题(七、八、九)Word格式.docx_第3页
第3页 / 共6页
数据库上机实验题(七、八、九)Word格式.docx_第4页
第4页 / 共6页
数据库上机实验题(七、八、九)Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

数据库上机实验题(七、八、九)Word格式.docx

《数据库上机实验题(七、八、九)Word格式.docx》由会员分享,可在线阅读,更多相关《数据库上机实验题(七、八、九)Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

数据库上机实验题(七、八、九)Word格式.docx

IFEXISTS(SELECT*FROMsysobjects

WHEREname='

Sum'

ANDtype='

FN'

)--如果存在这样的函数则删除之

DROPFUNCTIONSum

CREATEFUNCTIONSum(@nint)--输入参数

RETURNSint

AS

BEGIN

DECLARE@sint,@iint

SET@s=0

SET@i=1

WHILE@i<

=@n

BEGIN

SET@s=@s+@i

SET@i=@i+1

END

RETURN(@s)

END

PRINT'

1+2+...+60='

+CAST(dbo.Sum(60)ASchar(10))

(2)对应的参考程序如下:

IFEXISTS(SELECT*FROMsysobjects--如果存在这样的函数则删除之

WHEREname='

nbook'

AND(type='

IF'

ORtype='

TF'

))

DROPFUNCTIONnbook

CREATEFUNCTIONnbook(@dnamechar(16))--建立函数nbook

RETURNSTABLE --返回表,没有指定表结构,这是内联表值函数的特征

RETURN

SELECTs.学号,s.姓名,s.班号,b.图书名,bor.借书日期

FROMstudents,departsc,borrowbor,bookb

WHEREs.班号=sc.班号ANDs.学号=bor.学号ANDb.图书编号=bor.图书编号ANDsc.系名=@dname

SELECT*

FROMnbook('

计算机系'

ORDERBY学号

(3)对应的参考程序如下:

pbook'

DROPFUNCTIONpbook

CREATEFUNCTIONpbook() --建立函数pbook

RETURNS@stTABLE

系名char(16),

平均价格decimal(4,1)

BEGIN

INSERT@st --向@st中插入满足条件的记录

SELECTsc.系名AS'

系名'

AVG(b.定价)AS'

平均价格'

FROMdepartsc,students,bookb,borrowbor

WHEREs.班号=sc.班号ANDs.学号=bor.学号ANDb.图书编号=bor.图书编号

GROUPBYsc.系名

RETURN

END

SELECT*FROMpbook()

(4)对应的参考程序如下:

--若存在存储过程proc1,则删除之

IFEXISTS(SELECT*FROMsysobjectsWHEREname='

proc1'

ANDtype='

P'

DROPPROCEDUREproc1

--创建存储过程proc1

CREATEPROCEDUREproc1

SELECT图书名AS'

书名'

COUNT(*)AS'

数目'

FROMbook

GROUPBY图书名

EXECproc1

(5)对应的参考程序如下:

--若存在存储过程proc2,则删除之

proc2'

DROPPROCEDUREproc2

--创建存储过程proc2

CREATEPROCEDUREproc2(@bnchar(16))

DECLARE@ptchar(16)

SET@pt='

%'

+RTRIM(@bn)+'

SELECTs.学号,s.姓名,s.班号,b.图书名

FROMstudents,bookb,borrowbor

WHEREs.学号=bor.学号ANDb.图书编号=bor.图书编号

ANDb.图书名LIKE@pt

ORDERBYs.班号

EXECproc2'

数'

上机实验题8

第15章。

通过本实验,掌握触发器的设计和使用方法。

(1)在borrow上建立一个触发器,完成如下功能:

如果读者借阅的书名是“网络工程”,就将该借书记录保存在borrow1表中(borrow1表结构同borrow相同)。

(2)在borrow上建立一个触发器,完成如下功能:

当删除borrow表中任何记录时,将该记录保存保存在borrow1表中(borrow1表结构同borrow相同)。

(3)删除前面创建的触发器。

--若不存在borrow1表,则通过复制创建表borrow1

IFNOTEXISTS(SELECTnameFROMsysobjects

WHEREname='

borrow1'

U'

SELECT*INTOborrow1FROMborrow

DELETEborrow1

CREATETRIGGERtrig1ONborrow

FORINSERT,UPDATE

IF@@ROWCOUNT>

INSERTborrow1SELECTi.*

FROMinsertedi,bookb

WHEREi.图书编号=b.图书编号ANDb.图书名='

网络工程'

INSERTINTOborrowVALUES('

11'

'

20090'

2014-4-15'

SELECT*FROMborrow1

说明:

在本实验完成后,请将borrow表中新插入的记录删除,仍保持数据不变。

CREATETRIGGERtrig2ONborrow

FORDELETE

INSERTborrow1SELECT*FROMdeleted

DROPTRIGGERtrig1

DROPTRIGGERtrig2

上机实验题9

第16章。

通过本实验,掌握使用T-SQL语句进行SQLServer安全管理的方法。

(1)创建一个登录账号liblog,其密码为“123456”。

(2)为liblog登录账号在Library数据库中创建一个数据库用户账号liblog。

(3)将Library数据库中建表的权限授予libuser数据库用户账号,然后收回该权限。

(4)将Library数据库中表student上的INSERT、UPDATE和DELETE权限授予libuser数据库用户账号,然后收回该权限。

(5)删除前面创建的登录账号liblog和数据库用户账号libuser。

CREATELOGINliblogWITHPASSWORD='

123456'

CREATEUSERlibuserFORLOGINliblog

GRANTCREATETABLETOlibuser

REVOKECREATETABLEFROMlibuser

GRANTINSERT,UPDATE,DELETEONstudentTOlibuser

REVOKEINSERT,UPDATE,DELETEONstudentFROMlibuser

DROPLOGINliblog

DROPUSERlibuser

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1