大三 sql 課后習(xí)題答案_第1頁(yè)
大三 sql 課后習(xí)題答案_第2頁(yè)
大三 sql 課后習(xí)題答案_第3頁(yè)
大三 sql 課后習(xí)題答案_第4頁(yè)
大三 sql 課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁(yè)大三sql課后習(xí)題答案大三sql課后習(xí)題答案

第二章

3.上機(jī)練習(xí)題

02程序代碼如下:

CREATEDATABASESTUDENT1

ONPRIMARY

(NAME=STUDENT1_data,

FILENAME='E:\DATA\STUDENT1.mdf',

SIZE=3,

MA*SIZE=unlimited,

FILEGROWTH=15%)

LOGON

(NAME=STUDENT1_log,

FILENAME='E:\DATA\STUDENT1.ldf',

SIZE=2,

MA*SIZE=30,

FILEGROWTH=2)

03程序代碼如下:

createdatabasestudents

onprimary

(name=students1,

filename='E:\DATA\students1.mdf',

size=5,

ma*size=75,

filegrowth=10%),

(name=students12,

filename='E:\DATA\students2.ndf',

size=10,

ma*size=75,

filegrowth=1)

logon

(name=studentslog1,

filename='E:\DATA\studentslog1.ldf',

size=5,

ma*size=30,

filegrowth=1),

(name=studentslog2,

filename='E:\DATA\studentslog2.ldf',

size=5,

大三sql課后習(xí)題答案

ma*size=30,

filegrowth=1)

第三章:

3上機(jī)練習(xí)題

01程序代碼如下:

--創(chuàng)建表book的Transact-SQL語(yǔ)句:

USEtest01

GO

CREATETABLEbook(

book_idnchar(6)NOTNULL,book_namenchar(30)NULL,pricenumeric(10,2)NULL,

CONSTRAINTPK_bookPRIMARYKEYCLUSTERED

(

book_idASC)

)ONPRIMARY

--創(chuàng)建表uthor的Transact-SQL語(yǔ)句:

CREATETABLEdbo.author(

anthor_namenchar(4)NOTNULL,book_idnchar(6)NOTNULL,addressnchar(30)NOTNULL

)ON[PRIMARY]

--設(shè)置book中的book_id為主鍵,author表中的book_id為外鍵

ALTERTABLEdbo.authorWITHCHECK

ADDCONSTRAINTFK_book_authorFOREIGNKEY(book_id)

REFERENCESdbo.book(book_id)

02程序代碼如下:

--利用Transact-SQL語(yǔ)句創(chuàng)建表booksales的代碼。

USEtest01

GO

CREATETABLEbooksales(

book_idnchar(6)NOTNULL,sellnumintNOTNULL,selldatedatetimeNOTNULL

)ONPRIMARY

--利用insert語(yǔ)句為表booksales添加數(shù)據(jù):

大三sql課后習(xí)題答案

INSERTINTObooksalesVALUES('m00011',7,20/12/2022)

INSERTINTObooksales(book_id,sellnum,selldate)VALUES

('m00017',3,17/11/2022)

--利用update語(yǔ)句為表booksales更新數(shù)據(jù):

UPDATEbooksalesSETsellnum=11

WHEREbook_id='m00011'

--利用delete語(yǔ)句刪除表booksales的數(shù)據(jù):

DELETEFROMbooksales

WHEREbook_id='m00011'

03程序代碼如下:

USEtest01

GO

CREATERULEsellnum_rule

AS@sellnum=0

E*ECsp_bindrule'sellnum_rule','booksales.sellnum'

04程序代碼如下:

--刪除年以前的數(shù)據(jù)

DELETEFROMbooksales

WHEREselldate'1/1/2022'

--刪除全部數(shù)據(jù)

TruncateTablebooksales

第四章

3上機(jī)練習(xí)題

01程序代碼如下:

DECLARE@booknamenchar(16)

set@bookname='SQLServer數(shù)據(jù)庫(kù)編程'

02程序代碼如下:

USEtest01

大三sql課后習(xí)題答案

GO

SETNOCOUNTON

DECLARE@startdatedatetime,@enddatedatetime

SET@startdate='1/7/202212:12AM'

SET@enddate='11/10/202212:00AM'

SELECTDATEDIFF(year,@startdate,@enddate)

SELECTDATEDIFF(month,@startdate,@enddate)

SELECTDATEDIFF(day,@startdate,@enddate)

SELECTDATEDIFF(minute,@startdate,'1/8/202212:17AM')

SELECTDATEDIFF(minute,@startdate,GETDATE())

SETNOCOUNTOFF

GO

03程序代碼如下:

DECLARE@countINT,@SUMINT

SET@count=51

SET@SUM=0

WHILE@count=100

BEGIN

IF(CEILING(@count/3.0)=FLOOR(@count/3.0))

BEGIN

SET@SUM=@SUM+@count

END

SET@count=@count+2

END

PRINT'50到之間的全部能被整除的奇數(shù)之和'+CAST(@SUMASNCHAR(4))

第五章

3上機(jī)練習(xí)題

01程序代碼如下:

--查詢(xún)course表中的全部記錄。

useteaching

go

select*fromcourse

go

大三sql課后習(xí)題答案

02程序代碼如下:

--查詢(xún)student表中的女生的人數(shù)。

useteaching

go

select*fromstudent

wherese*='女'

go

03程序代碼如下:

--查詢(xún)teacher表中每一位教授的老師號(hào)、姓名和專(zhuān)業(yè)名稱(chēng)。

useteaching

go

selectteacherno,tname,majorfromteacher

whereprof='教授'

go

04程序代碼如下:

--按性別分組,求出student表中的每組同學(xué)的平均年齡。

useteaching

go

selectse*as'同學(xué)性別',avg(DATEDIFF(year,birthday,getdate()))as'平均年齡'

fromstudent

groupbyse*

go

05程序代碼如下:

--利用現(xiàn)有的表生成新表,新表中包括學(xué)號(hào)、同學(xué)姓名、課程號(hào)和總評(píng)成果。

--其中:總評(píng)成果=final*0.8+usually*0.2

useteaching

go

select

student.studentno,student.sname,score.courseno,final*0.8+usually*0.2as'總評(píng)'

intostu_sorse

fromstudent,score

大三sql課后習(xí)題答案

wherestudent.studentno=score.studentno

go

select*fromstu_sorse

go

06程序代碼如下:

--統(tǒng)計(jì)每個(gè)同學(xué)的期末成果平均分。

useteaching

go

selectstudentno,sname,avg(總評(píng))

fromstu_sorse

groupbystudentno,sname

go

07程序代碼如下:

--輸出student表中年齡最大的男生的全部信息。

useteaching

go

select*fromstudent

wherebirthday=

(selectmin(birthday)

fromstudent)

go

08程序代碼如下:

--查詢(xún)teacher表中沒(méi)有職稱(chēng)的職工的老師號(hào)、姓名、專(zhuān)業(yè)和部門(mén)。

useteaching

go

selectteacherno,tname,major,department

fromteacher

whereprofisNULL

go

第六章

3上機(jī)練習(xí)題

大三sql課后習(xí)題答案

01程序代碼如下:

--查詢(xún)每一位教授的老師號(hào)、姓名和講授的課程名稱(chēng)。

useteaching

go

selectteacher.teacherno,tname,major,ame

fromteacher,course,teach_class

whereprof='教授'andteacher.teacherno=teach_class.teacherno

andteach_class.courseno=course.courseno

go

02程序代碼如下:

--利用現(xiàn)有的表生成新表,新表中包括學(xué)號(hào)、同學(xué)姓名、課程名稱(chēng)和總評(píng)成果。

--其中:總評(píng)成果=final*0.9+usually*0.1

useteaching

go

selectDISTINCT

student.studentno,student.sname,ame,score.final*0.9+ually*0.1as'總評(píng)'

intostu_course

fromstudent,course,teach_class,score

wherestudent.studentno=score.studentno

andcourse.courseno=score.courseno

go

03程序代碼如下:

--統(tǒng)計(jì)每個(gè)同學(xué)的期末成果高于分的課程門(mén)數(shù)。

useteaching

go

selectstudent.studentno,student.sname,count(*)as'課程門(mén)數(shù)'

fromstudent,score

wherescore.final75

andstudent.studentno=score.studentno

groupbystudent.studentno,student.sname

go

04程序代碼如下:

大三sql課后習(xí)題答案

--輸出student表中年齡大于女生平均年齡的男生的全部信息。

useteaching

go

select*fromstudent

wherese*='男'

andDATEDIFF(year,birthday,getdate())(

selectavg(DATEDIFF(year,birthday,getdate()))

fromstudent

wherese*='女')

go

05程序代碼如下:

--計(jì)算每個(gè)同學(xué)獲得的學(xué)分。

useteaching

go

selectstudent.studentno,student.sname,sum(credit)

fromstudentINNERJOINscore

ONstudent.studentno=score.studentno

INNERJOINcourse

ONcourse.courseno=score.courseno

wherescore.final60

groupbystudent.studentno,student.sname

go

06程序代碼如下:

--獵取入學(xué)時(shí)間在年到年的全部同學(xué)中入學(xué)年齡小于歲的學(xué)號(hào)、姓名及所修課程的課程名稱(chēng)。

useteaching

go

selectstudent.studentno,student.sname,stu_ame

fromstudentinnerjoinstu_course

onstudent.studentno=stu_course.studentno

where(substring(student.studentno,1,2)='08'and

(datediff(year,birthday,'2022-01-01')19))

or(substring(student.studentno,1,2)='09'and

(datediff(year,birthday,'2022-01-01')19))

go

大三sql課后習(xí)題答案

07程序代碼如下:

--查詢(xún)級(jí)同學(xué)的學(xué)號(hào)、姓名、課程名及學(xué)分。

useteaching

go

selectstudent.studentno,student.sname,stu_ame

fromstudentinnerjoinstu_course

onstudent.studentno=stu_course.studentno

wheresubstring(student.studentno,1,2)='09'

go

08程序代碼如下:

--查詢(xún)選修課程的少于門(mén)、或期末成果含有分以下課程的同學(xué)的學(xué)號(hào)、姓名、電話和Email。

useteaching

go

selectstudentno,count(*)as'countNUM'

intocount1

fromscore

groupbystudentno

GO

selectstudent.studentno,sname,phone,Email

fromstudentinnerjoinscore

onstudent.studentno=score.studentno

innerjoincount1

onstudent.studentno=count1.studentno

wherescore.final60andcountNUM3

go

第七章

3上機(jī)題練習(xí)

01程序代碼如下:

--在course表的cname列上創(chuàng)建非聚集索引ID*_cname。

USEteaching

GO

CREATENONCLUSTEREDINDE*ID*_cnameONcourse(cname)

大三sql課后習(xí)題答案

02程序代碼如下:

USEteaching

GO

IFE*ISTS(SELECTnameFROMsysinde*esWHEREname='UQ_stu')

DROPINDE*student.UQ_stu

GO

CREATENONCLUSTEREDINDE*UQ_stuONstudent(studentno,classno)

GO

SELECT*FROMstudent

03程序代碼如下:

USEteaching

GO

ALTERINDE*UQ_stuONstudentREBUILD

WITH(PAD_INDE*=ON,FILLFACTOR=80)

GO

04程序代碼如下:

--創(chuàng)建一個(gè)視圖v_teacher,查詢(xún)?nèi)俊坝?jì)算機(jī)學(xué)院”老師的信息。

USEteaching

GO

CREATEVIEWv_teacher

AS

SELECT*

FROMteacher

WHEREdepartment='計(jì)算機(jī)學(xué)院'

GO

SELECT*FROMv_teacher

05程序代碼如下:

--創(chuàng)建一個(gè)視圖v_avgstu,查詢(xún)每個(gè)同學(xué)的學(xué)號(hào)、姓名及平均分,并且根據(jù)平均分降序排序。USEteaching

GO

CREATEVIEWv_avgstu

大三sql課后習(xí)題答案

SELECTTOP(100)PERCENTstudent.studentno,student.sname,

AVG(score.final)AS'average'

FROMstudent,score

WHEREstudent.studentno=score.studentnoANDscore.finalISNOTNULLGROUPBYstudent.studentno,student.sname

ORDERBYAVG(score.final)DESC

GO

SELECT*FROMv_avgstu

06程序代碼如下:

--修改v_teacher的視圖定義,添加WITHCHECKOPTION選項(xiàng)。

USEteaching

GO

ALTERVIEWv_teacher

AS

SELECT*

FROMteacher

WHEREdepartment='計(jì)算機(jī)學(xué)院'

WITHCHECKOPTION

GO

07程序代碼如下:

--通過(guò)視圖v_teacher向基本表teacher中分別插入數(shù)據(jù)('05039','張馨月','計(jì)算機(jī)應(yīng)用','講師','計(jì)算機(jī)學(xué)院')和('06018','李誠(chéng)','機(jī)械制造','副教授','機(jī)械學(xué)院'),并查看插入數(shù)據(jù)狀況。

USEteaching

GO

INSERTINTOv_teacherVALUES('05039','張馨月','計(jì)算機(jī)應(yīng)用','講師','計(jì)算機(jī)學(xué)院')

INSERTINTOv_teacherVALUES('06018','李誠(chéng)','機(jī)械制造','副教授','機(jī)械學(xué)院')

GO

SELECT*FROMv_teacher

SELECT*FROMteacher

08程序代碼如下:

--通過(guò)視圖v_teacher將基本表teacher中老師編號(hào)為'05039'的老師職稱(chēng)修改為'副教授

大三sql課后習(xí)題答案

'。

USEteaching

GO

UPDATEv_teacher

SETprof='副教授'

WHEREteacherno='05039'

GO

SELECT*FROMteacher

第八章

3上機(jī)練習(xí)題

01程序代碼如下:

--創(chuàng)建一個(gè)名稱(chēng)為StuInfo的存儲(chǔ)過(guò)程,要求完成以下功能:

--在student表中查詢(xún)級(jí)同學(xué)的學(xué)號(hào)、姓名、性別、誕生日期和電話個(gè)字段的內(nèi)容

USEteaching

--查詢(xún)是否已存在此存儲(chǔ)過(guò)程,假如存在,就刪除它

IFE*ISTS(SELECTnameFROMsysobjects

WHEREname='StuInfo'ANDtype='P')

DROPPROCEDUREStuInfo

GO

--創(chuàng)建存儲(chǔ)過(guò)程

CREATEPROCEDUREStuInfo

AS

Selectstudentno,sname,se*,birthday,phone

FROMstudent

WHEREsubstring(studentno,1,2)='08'

GO

02程序代碼如下:

--創(chuàng)建一個(gè)存儲(chǔ)過(guò)程ScoreInfo,

--完成的功能是在表student、表course和表score中查詢(xún)以下字段:學(xué)號(hào)、姓名、性別、課程名稱(chēng)、期末分?jǐn)?shù)。

USEteaching

--查詢(xún)是否已存在此存儲(chǔ)過(guò)程,假如存在,就刪除它

IFE*ISTS(SELECTnameFROMsysobjects

WHEREname='ScoreInfo'ANDtype='P')

大三sql課后習(xí)題答案

DROPPROCEDUREScoreInfo

GO

--創(chuàng)建存儲(chǔ)過(guò)程

CREATEPROCEDUREScoreInfo

AS

Select

student.studentno,student.sname,student.se*,ame,Score.finalFROMstudent,course,score

WHEREstudent.studentno=score.studentno

andscore.courseno=course.courseno

GO

03程序代碼如下:

--創(chuàng)建一個(gè)帶有參數(shù)的存儲(chǔ)過(guò)程Stu_Age,

--該存儲(chǔ)過(guò)程依據(jù)輸入的學(xué)號(hào),在student表中計(jì)算此同學(xué)的年齡,

--并依據(jù)程序的執(zhí)行結(jié)果返回不同的值,程序執(zhí)行勝利,返回整數(shù),假如執(zhí)行出錯(cuò),那么返回錯(cuò)誤號(hào)。

--刪除已存在的存儲(chǔ)過(guò)程

USEteaching

IFE*ISTS(SELECTnameFROMsysobjects

WHEREname='Stu_Age'ANDtype='P')

DROPPROCEDUREStu_Age

GO

--創(chuàng)建存儲(chǔ)過(guò)程

USEteaching

GO

CREATEPROCEDUREStu_Age

@studentNOnvarchar(10),@AgeintOUTPUT

AS

--定義并初始化局部變量,用于保存返回值

DECLARE@ErrorValueint

SET@ErrorValue=0

--求此同學(xué)的年齡

SELECT@Age=YEAR(GETDATE())-YEAR(birthday)

FROMstudent

WHEREstudentno=@studentNO

--依據(jù)程序的執(zhí)行結(jié)果返回不同的值

IF(@@ERROR0)

SET@ErrorValue=@@ERROR

RETURN@ErrorValue

GO

大三sql課后習(xí)題答案

04程序代碼如下:

--================================================

--TemplategeneratedfromTemplateE*plorerusing:

--CreateTrigger(NewMenu).SQL

--

--UsetheSpecifyValuesforTemplateParameters

--command(Ctrl-Shift-M)tofillintheparameter

--valuesbelow.

--

--SeeadditionalCreateTriggertemplatesformore

--e*amplesofdifferentTriggerstatements.

--

--Thisblockofcommentswillnotbeincludedin

--thedefinitionofthefunction.

--================================================

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

--=============================================

--Author:Name

--Createdate:

--Description:

--=============================================

CREATETRIGGERdbo.TR_Stu_Insert

ONdbo.student

AFTERINSERT

AS

BEGIN

DECLARE@msgnchar(30)

SET@msg='你插入了一條新記錄!'

PRINT@msg

END

GO

05程序代碼如下:

--創(chuàng)建一個(gè)AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:

--在score表上創(chuàng)建一個(gè)插入、更新類(lèi)型的觸發(fā)器TR_ScoreCheck,

--當(dāng)在score字段中插入或修改考試分?jǐn)?shù)后,觸發(fā)該觸發(fā)器,檢查分?jǐn)?shù)是否在-100之間。

USEteaching

大三sql課后習(xí)題答案

GO

CREATETRIGGERTR_ScoreCheck

ONscore

FORINSERT,UPDATE

AS

IFUPDATE(final)

PRINT'AFTER觸發(fā)器開(kāi)始執(zhí)行……'

BEGIN

DECLARE@ScoreValuereal

SELECT@ScoreValue=(SELECTfinalFROMinserted)

IF@ScoreValue100OR@ScoreValue0

PRINT'輸入的分?jǐn)?shù)有誤,請(qǐng)確認(rèn)輸入的考試分?jǐn)?shù)!'

END

GO

06程序代碼如下:

--創(chuàng)建一個(gè)INSTEADOF觸發(fā)器,要求實(shí)現(xiàn)以下功能:

--在course表上創(chuàng)建一個(gè)刪除類(lèi)型的觸發(fā)器TR_NotAllowDelete,

--當(dāng)在course表中刪除記錄時(shí),觸發(fā)該觸發(fā)器,顯示不允許刪除表中數(shù)據(jù)的提示信息。

USEteaching

GO

IFE*ISTS(SELECTnameFROMsysobjects

WHEREname='TR_NotAllowDelete'ANDtype='TR')

DROPTRIGGERTR_NotAllowDelete

GO

CREATETRIGGERTR_NotAllowDelete

ONcourse

INSTEADOFDELETE

AS

PRINT'INSTEADOF觸發(fā)器開(kāi)始執(zhí)行……'

PRINT'本表中的數(shù)據(jù)不允許被刪除!不能執(zhí)行刪除操作!'

GO

第九章

3上機(jī)練習(xí)題

01程序代碼如下:

--創(chuàng)建在score表上執(zhí)行UPDATE語(yǔ)句的事務(wù)UP_score,并執(zhí)行。

大三sql課后習(xí)題答案

USEteaching

GO

BEGINTRAN

UPDATEdbo.score

SETusually=77,final=88

WHEREstudentno='0824113307'ANDcourseno='c05109'

COMMITTRAN

GO

02程序代碼如下:

--練習(xí)運(yùn)用ROLLBACKTRANSACTION語(yǔ)句回滾事務(wù),并查看。

USEteaching

GO

BEGINTRAN

INSERTINTOcourse

VALUES('c05133','國(guó)際貿(mào)易','必修',32,2.0);

SAVETRANsave1;

DELETEFROMcourse

WHEREcourseno='c05137';

ROLLBACKTRANsave1;

COMMITTRAN

GO

03程序代碼如下:

--練習(xí)在student表上創(chuàng)建嵌套事務(wù),分別在內(nèi)層和外層設(shè)置回滾點(diǎn),檢測(cè)回滾對(duì)表數(shù)據(jù)的影響。

USEteaching

GO

BEGINTRANtran1

SAVETRANsave1;

BEGINTRANtran2

UPDATEstudent

SETsname='趙平茵',point=997,phone='053179372727'

WHEREstudentno='0828261367';

SELECT*FROMstudentWHEREstudentno='0828261367';

SAVETRANsave2;

COMMITTRANtran2;

UPDATEstudent

SETsname='孫釋遠(yuǎn)',point=987,phone='053179372727'

大三sql課后習(xí)題答案

WHEREstudentno='0828261367';

ROLLBACKTRANsave1;

COMMITTRANtran2;

SELECT*FROMstudentWHEREstudentno='0828261367';

GO

04程序代碼如下:

--練習(xí)在student表上創(chuàng)建嵌套事務(wù),并利用系統(tǒng)變量@@TRANCOUNT編程,

--檢測(cè)嵌套事務(wù)的執(zhí)行狀況。

USEteaching

GO

BEGINTRANTR1

PRINT'1stBEGINTRAN:@@TRANCOUNT='+CAST(@@TRANCOUNTAS

NVARCHAR(10));

SAVETRANsave1;

BEGINTRANTR2

PRINT'2ndBEGINTRAN:@@TRANCOUNT='

+CAST(@@TRANCOUNTASNVARCHAR(10));

UPDATEstudent

SETsname='趙平茵',point=997,phone='053179372727'

WHEREstudentno='0828261367';

COMMITTRANTR2;

PRINT'1stCOMMITTRAN:@@TRANCOUNT='

+CAST(@@TRANCOUNTASNVARCHAR(10));

--ROLLBACKTRANsave1;

PRINT'ROLLBACKTRAN:@@TRANCOUNT='

+CAST(@@TRANCOUNTASNVARCHAR(10));

COMMITTRANTR1;

PRINT'AFTERCOMMITTRANTR1:@@TRANCOUNT='

+CAST(@@TRANCOUNTASNVARCHAR(10));

SELECT*FROMstudentWHEREstudentno='0828261367';

GO

05程序代碼如下:

--練習(xí)在student表上進(jìn)行查詢(xún)、插入和更新,然后運(yùn)用sys.dm_tran_locks視圖查看鎖的信息。

USEteaching;

GO

大三sql課后習(xí)題答案

BEGINTRAN

SELECTstudentno,sname

FROMstudent

--WITH(holdlock,rowlock)

WHEREstudentno='0828261367';

INSERTINTOstudent

VALUES('1028261001','孫釋遠(yuǎn)','女

','1989-09-09','090512',777,'1328909876','sdqd@');

UPDATEstudent

SETsname='孫釋嘉'

WHEREstudentno='0828261367';

--為了查看事務(wù)中運(yùn)用的鎖的信息,運(yùn)用動(dòng)態(tài)管理視圖sys.dm_tran_locks。在查詢(xún)窗口中鍵入并執(zhí)行以下SELECT語(yǔ)句來(lái)獵取鎖信息并提交事務(wù)。

SELECTresource_type,resource_associated_entity_id,

request_status,request_mode,request_session_id,

resource_description

FROMsys.dm_tran_locks

WHEREresource_database_id=DB_ID('teaching');

--提交事務(wù)

COMMITTRAN

第十章

3上機(jī)練習(xí)題

01程序代碼如下:

USEmaster

GO

CREATELOGINUSER1WITHPASSWORD='Abc!@#213'

03程序代碼如下:

--練習(xí)在teaching數(shù)據(jù)庫(kù)中為SQLServer登錄名USER1添加數(shù)據(jù)庫(kù)用戶,并取名為USER2,默認(rèn)架構(gòu)為T(mén)EAC。

USEteaching

GO

CREATEUSERUSER2FORLOGINUSER1

WITHDEFAULT_SCHEMA=TEAC

GO

大三sql課后習(xí)題答案

05程序代碼如下:

--練習(xí)將teaching數(shù)據(jù)庫(kù)中創(chuàng)建表的權(quán)限授予用戶USER2。

USEteaching

GO

GRANTCREATETABLETOUSER2

GO

第十一章

3上機(jī)練習(xí)題

01程序代碼如下:

--完整數(shù)據(jù)庫(kù)備份

USEteaching

GO

BACKUPDATABASEteaching

TODISK=N'F:\sqlprogram_e*\第章\backteaching'

WITHE*PIREDATE=N'12/22/202200:00:00',

NAME=N'teaching-完整數(shù)據(jù)庫(kù)備份',

STATS=10

GO

--差異備份

BACKUPDATABASEteaching

TODISK=N'F:\sqlprogram_e*\第章\backteaching'

WITHDIFFERENTIAL,

E*PIREDATE=N'12/22/202200:00:00',

NOFORMAT,NOINIT,

NAME=N'teaching-差異數(shù)據(jù)庫(kù)備份',

SKIP,NOREWIND,NOUNLOAD,STATS=10

GO

declare@backupSetIdasint

select@backupSetId=position

frommsdb..backupset

wheredatabase_name=N'teaching'andbackup_set_id=(select

ma*(backup_set_id)frommsdb..backupsetwhere

database_name=N'teaching')

if@backupSetIdisnull

begin

raiserror(N'驗(yàn)證失敗。找不到數(shù)據(jù)庫(kù)“teaching”的備份信息。',16,1)end

大三sql課后習(xí)題答案

RESTOREVERIFYONLY

FROMDISK=N'F:\sqlprogram_e*\第章\backteaching'

WITHFILE=@backupSetId,NOUNLOAD,NOREWIND

GO

02程序代碼如下:

--對(duì)數(shù)據(jù)庫(kù)teaching進(jìn)行復(fù)原

RESTOREDATABASEteaching

FROMDISK=N'F:\sqlprogram_e*\第章\backteaching'

WITHFILE=2,NORECOVERY,NOUNLOAD,

STATS=10

GO

RESTOREDATABASEteaching

FROMDISK=N'F:\sqlprogram_e*\第章\backteaching'

WITHFILE=3,NOUNLOAD,

STATS=10

GO

03程序代碼如下:

--創(chuàng)建備份設(shè)備

USEmaster

GO

E*ECmaster.dbo.sp_addumpdevice

@devtype=N'disk',

@logicalname=N'device1',

@physicalname=N'F:\sqlprogram_e*\第章\back_device1.bak'

GO

--備份teaching數(shù)據(jù)庫(kù)的事務(wù)日志

BACKUPLOGteaching

TOdevice1

WITHRETAINDAYS=3,NOFORMAT,NOINIT,

NAME=N'teaching-事務(wù)日志備份',

SKIP,N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論