2016計算機三級《數據庫技術》章節練習題

1[單選題] 創建存儲過程的用處主要是__________。

2016計算機三級《數據庫技術》章節練習題

A.提高數據操作效率

B.維護數據的一致性

C.實現複雜的業務規則

D.增強引用完整性

參考答案:A

2[單選題]下列不屬於存儲過程好處的是:(  )

A.模塊化程序設計

B.改善性能

C.增加網絡流量

D.增強應用程序安全性

參考答案:C

3[填空題]存儲過程中傳遞參數有兩種方式:按參數位置和(  )傳遞值

參考答案:參數名

4[單選題]設某數據庫在非工作時間(每天8:00以前、18:00以後、週六和週日)不允許授權用戶在職工表中插入數據。下列方法中能夠實現此需求且最爲合理的是(  )

A.建立存儲過程

B.建立後觸發型觸發器

C.定義內嵌表值函數

D.建立前觸發型觸發器

參考答案:D

5[單選題]下列關於存儲過程的說法中,正確的是__________。

A.在定義存儲過程的代碼中可以包含數據的增、刪、改、查語句

B.用戶可以向存儲過程傳遞參數,但不能輸出存儲過程產生的結果

C.存儲過程的執行是在客戶端完成的

D.存儲過程是存儲在客戶端的可執行代碼段

參考答案:A

6[單選題]在SQL語言中,爲了數據完整性約束能力應創建(  )。

A.視圖viewB.索引indexC.遊標cursor D.觸發器trigger

參考答案:D

7[填空題]用戶自定義函數結構與存儲過程類似,但必有(  )子句用於返回函數值

參考解析

RETURN

8[單選題]在開發數據庫應用系統時,使用存儲過程可以提高數據訪問效率,降低網絡流量。下列關於存儲過程的說法,錯誤的是(  )

A.存儲過程可以接受輸入參數,並可將執行結果以輸出參數形式返回

B.存儲過程可以有多個輸入參數,但只能有一個輸出參數

C.定義存儲過程時,在一個存儲過程中可以同時包含數據的增、刪、改、查操作

D.存儲過程的輸入參數和輸出參數均可有默認值

參考答案:B

9[單選題]

設要定義一個包含兩個輸入參數和兩個輸出參數的存儲過程,各參數均爲整型。下列定義該存儲過程的語句中,正確的是__________。

TE PROC P1 @x1,@x2 int.

@x3.@x4int TE PROC P1 @x1 int.@x2 int.

@x2.@x4int TE PROC P1 @x1 int,@x2 int,

@x3 int.@x4 int TE PROC P1 @x1 int.@x2 int.

@x3 int output.@x4 int output t

參考答案:D

10[單選題]下列場合不合適使用觸發器的是:(  )

A.完成比CHECK(只能實現同一表列之間取值約束)約束更簡單的數據約束。

B.保證數據庫性能而維護的非規範化數據。

C.可實現複雜的商業規則。

D.評估數據修改前後的表狀態,並採取對策。

參考答案:A

11[填空題]用戶自定義函數中返回一個表的是表值函數,返回一個單值的是(  )。

參考解析:標量函數

12[單選題]設在SQL Server 2008某數據庫中有表SC(Sno,Cno,Grade),其中Grade列的類型爲int。若在查詢成績時,希望將成績按"優"、"良"、"中"、"及格"和"不及格"形式顯示,則下列Case函數中正確的是(  )

Grade

When Grade between 90 and 100 THEN Grade = '優'

When Grade between 80 and 89 THEN Grade = '良'

When Grade between 70 and 79 THEN Grade = '中'

When Grade between 60 and 69 THEN Grade = '及格'

Else Grade = '不及格'

End

Grade

When Grade between 90 and 100 THEN '優'

When Grade between 80 and 89 THEN '良'

When Grade between 70 and 79 THEN '中'

When Grade between 60 and 69 THEN '及格'

Else '不及格'

End

When Grade between 90 and 100 THEN Grade = '優'

When Grade between 80 and 89 THEN Grade = '良'

When Grade between 70 and 79 THEN Grade = '中'

When Grade between 60 and 69 THEN Grade = '及格'

Else Grade = '不及格'

End

When Grade between 90 and 100 THEN '優'

When Grade between 80 and 89 THEN '良'

When Grade between 70 and 79 THEN '中'

When Grade between 60 and 69 THEN '及格'

Else '不及格'

End

參考答案:D

13[單選題]設有存儲過程定義語句:CREATE PROC P1@x int,@y int output,@z int output。下列調用該存儲過程的語句中,正確的是。

P1 10.@a int output.@b int output

P1 10.@a int.@b int output

P1 10.@a output.@b output

P1 10.@a.@b output

參考答案:C

14[單選題] 在嵌入式SQL中,與遊標相關的有四個語句。下列哪一個語句執行:“取出當前行的值放入相應的程序變量中”?

E

參考答案:C

15[填空題]觸發器是特殊存儲過程,自動觸發執行,常用於保證業務規則和(  )。

參考解析:數據完整性

16[單選題]設在SQL Server 2008某數據庫中有銷售表(商品號,銷售時間,銷售數量,銷售價格),其中商品號的類型爲char(6),銷售價格的類型爲int。現要定義統計指定商品銷售總價的標量函數。有下列定義該標量函數的語句

Ⅰte FUNCTION otal(@GoodID char(6))

Returns int AS

BEGIN

Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅱte FUNCTION otal(@GoodID char(6))

Returns int AS

BEGIN

Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅲte FUNCTION otal(@GoodID char(6))

Returns int

BEGIN

Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅳte FUNCTION otal(@GoodID char(6))

Returns int

Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

上述語句中,正確的是(  )

A.僅Ⅰ和ⅡB.僅Ⅲ和ⅣC.僅Ⅱ和ⅣD.僅Ⅰ和Ⅲ

參考答案:D