MySQL的觸發(fā)器使用技巧試題及答案_第1頁
MySQL的觸發(fā)器使用技巧試題及答案_第2頁
MySQL的觸發(fā)器使用技巧試題及答案_第3頁
MySQL的觸發(fā)器使用技巧試題及答案_第4頁
MySQL的觸發(fā)器使用技巧試題及答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

VIP免費(fèi)下載

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

文檔簡介

MySQL的觸發(fā)器使用技巧試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.以下關(guān)于MySQL觸發(fā)器的描述,哪項(xiàng)是錯(cuò)誤的?

A.觸發(fā)器可以在INSERT、UPDATE、DELETE操作后執(zhí)行

B.觸發(fā)器不能有返回值

C.觸發(fā)器可以訪問觸發(fā)操作前和操作后的數(shù)據(jù)

D.觸發(fā)器可以在不同的表上定義相同名稱的觸發(fā)器

2.以下關(guān)于觸發(fā)器類型的描述,哪項(xiàng)是錯(cuò)誤的?

A.AFTER觸發(fā)器在觸發(fā)事件執(zhí)行之后觸發(fā)

B.BEFORE觸發(fā)器在觸發(fā)事件執(zhí)行之前觸發(fā)

C.INSTEADOF觸發(fā)器可以替代觸發(fā)事件

D.觸發(fā)器只能用于DELETE、INSERT、UPDATE操作

3.以下關(guān)于觸發(fā)器定義的語句中,哪項(xiàng)是錯(cuò)誤的?

A.CREATETRIGGERtrigger_name

B.FOREACHROW

C.AFTERINSERTONtable_name

D.BEGIN

4.在以下觸發(fā)器定義中,如果執(zhí)行INSERT操作,哪個(gè)條件將導(dǎo)致觸發(fā)器執(zhí)行?

A.CREATETRIGGERtrigger_name

FOREACHROW

BEGIN

IFNEW.id>0THEN

INSERTINTOanother_table(column_name)VALUES(NEW.id);

ENDIF;

END;

B.CREATETRIGGERtrigger_name

FOREACHROW

BEGIN

IFOLD.id>0THEN

INSERTINTOanother_table(column_name)VALUES(OLD.id);

ENDIF;

END;

C.CREATETRIGGERtrigger_name

FOREACHROW

BEGIN

IFNEW.id<0THEN

INSERTINTOanother_table(column_name)VALUES(NEW.id);

ENDIF;

END;

D.CREATETRIGGERtrigger_name

FOREACHROW

BEGIN

IFOLD.id<0THEN

INSERTINTOanother_table(column_name)VALUES(OLD.id);

ENDIF;

END;

5.以下關(guān)于觸發(fā)器中NEW和OLD關(guān)鍵字的描述,哪項(xiàng)是錯(cuò)誤的?

A.NEW關(guān)鍵字表示觸發(fā)事件之前不存在的行

B.OLD關(guān)鍵字表示觸發(fā)事件之后不存在的行

C.NEW關(guān)鍵字可以用于INSERT和UPDATE操作

D.OLD關(guān)鍵字可以用于INSERT和UPDATE操作

6.以下關(guān)于觸發(fā)器中DELIMITER關(guān)鍵字的描述,哪項(xiàng)是錯(cuò)誤的?

A.DELIMITER關(guān)鍵字用于改變MySQL語句的結(jié)束符

B.DELIMITER關(guān)鍵字在定義觸發(fā)器時(shí)必須使用

C.DELIMITER關(guān)鍵字在觸發(fā)器定義完成后不需要再次設(shè)置

D.DELIMITER關(guān)鍵字可以用于其他MySQL語句

7.以下關(guān)于觸發(fā)器中條件語句的描述,哪項(xiàng)是錯(cuò)誤的?

A.IF條件語句可以用于觸發(fā)器中

B.IF條件語句必須包含ENDIF

C.IF條件語句可以嵌套使用

D.IF條件語句可以用于任何類型的觸發(fā)器

8.以下關(guān)于觸發(fā)器中存儲(chǔ)過程的描述,哪項(xiàng)是錯(cuò)誤的?

A.觸發(fā)器可以調(diào)用存儲(chǔ)過程

B.存儲(chǔ)過程可以調(diào)用觸發(fā)器

C.觸發(fā)器中的存儲(chǔ)過程必須使用CALL語句調(diào)用

D.觸發(fā)器中的存儲(chǔ)過程可以訪問NEW和OLD關(guān)鍵字

9.以下關(guān)于觸發(fā)器中事務(wù)的描述,哪項(xiàng)是錯(cuò)誤的?

A.觸發(fā)器可以包含事務(wù)控制語句

B.觸發(fā)器中可以執(zhí)行COMMIT或ROLLBACK操作

C.觸發(fā)器中的事務(wù)控制語句必須使用STARTTRANSACTION、COMMIT或ROLLBACK

D.觸發(fā)器中的事務(wù)控制語句不能嵌套使用

10.以下關(guān)于觸發(fā)器使用的描述,哪項(xiàng)是錯(cuò)誤的?

A.觸發(fā)器可以提高數(shù)據(jù)庫的查詢性能

B.觸發(fā)器可以確保數(shù)據(jù)的一致性

C.觸發(fā)器可以減少應(yīng)用程序的復(fù)雜度

D.觸發(fā)器可以提高數(shù)據(jù)庫的維護(hù)性

二、多項(xiàng)選擇題(每題3分,共10題)

1.MySQL觸發(fā)器可以應(yīng)用于以下哪些操作?

A.INSERT

B.UPDATE

C.DELETE

D.SELECT

2.觸發(fā)器可以包含哪些類型的語句?

A.SELECT

B.INSERT

C.UPDATE

D.DELETE

3.在定義觸發(fā)器時(shí),以下哪些關(guān)鍵字是必須的?

A.CREATETRIGGER

B.TRIGGER_NAME

C.FOREACHROW

D.BEGIN

4.觸發(fā)器中的NEW和OLD關(guān)鍵字分別代表什么?

A.NEW代表觸發(fā)事件之前不存在的行

B.OLD代表觸發(fā)事件之后不存在的行

C.NEW代表觸發(fā)事件之后存在的行

D.OLD代表觸發(fā)事件之前存在的行

5.以下哪些是觸發(fā)器中常用的條件語句?

A.IF

B.ELSE

C.ENDIF

D.WHILE

6.觸發(fā)器可以包含哪些類型的存儲(chǔ)過程?

A.用戶定義的存儲(chǔ)過程

B.系統(tǒng)定義的存儲(chǔ)過程

C.用戶定義的函數(shù)

D.系統(tǒng)定義的函數(shù)

7.觸發(fā)器中可以使用哪些事務(wù)控制語句?

A.STARTTRANSACTION

B.COMMIT

C.ROLLBACK

D.SAVEPOINT

8.觸發(fā)器可以在以下哪些場景中使用?

A.自動(dòng)計(jì)算字段值

B.數(shù)據(jù)驗(yàn)證

C.復(fù)雜的業(yè)務(wù)邏輯處理

D.數(shù)據(jù)備份

9.以下哪些是觸發(fā)器可能引發(fā)的問題?

A.性能下降

B.數(shù)據(jù)不一致

C.維護(hù)困難

D.安全風(fēng)險(xiǎn)

10.觸發(fā)器在以下哪些情況下應(yīng)該謹(jǐn)慎使用?

A.復(fù)雜的業(yè)務(wù)邏輯

B.高并發(fā)環(huán)境

C.數(shù)據(jù)庫性能要求高

D.數(shù)據(jù)庫維護(hù)頻率高

三、判斷題(每題2分,共10題)

1.觸發(fā)器可以在數(shù)據(jù)庫中創(chuàng)建或刪除時(shí)自動(dòng)執(zhí)行。()

2.觸發(fā)器只能應(yīng)用于單個(gè)表,不能跨越多個(gè)表。()

3.在觸發(fā)器中,NEW和OLD關(guān)鍵字可以互換使用。()

4.觸發(fā)器可以訪問觸發(fā)事件之前和之后的數(shù)據(jù)。()

5.觸發(fā)器可以包含無限嵌套的存儲(chǔ)過程。()

6.觸發(fā)器中的事務(wù)控制語句可以保證數(shù)據(jù)的一致性。()

7.觸發(fā)器可以提高數(shù)據(jù)庫的查詢性能。()

8.觸發(fā)器可以用于實(shí)現(xiàn)數(shù)據(jù)庫的級聯(lián)更新和級聯(lián)刪除。()

9.觸發(fā)器可以減少應(yīng)用程序的復(fù)雜度。()

10.觸發(fā)器在所有數(shù)據(jù)庫系統(tǒng)中都有相同的語法和功能。()

四、簡答題(每題5分,共6題)

1.簡述觸發(fā)器的概念及其在數(shù)據(jù)庫中的作用。

2.解釋觸發(fā)器中的NEW和OLD關(guān)鍵字分別指代什么。

3.描述觸發(fā)器類型及其應(yīng)用場景。

4.說明如何定義一個(gè)AFTERUPDATE觸發(fā)器來更新另一張表中的記錄。

5.解釋觸發(fā)器可能帶來的性能問題,并提出相應(yīng)的優(yōu)化建議。

6.列舉觸發(fā)器在數(shù)據(jù)庫設(shè)計(jì)和開發(fā)中的常見用途。

試卷答案如下

一、單項(xiàng)選擇題(每題2分,共10題)

1.B

解析思路:觸發(fā)器可以訪問觸發(fā)操作前和操作后的數(shù)據(jù),但沒有返回值。

2.D

解析思路:觸發(fā)器只能用于DELETE、INSERT、UPDATE操作,不能用于SELECT操作。

3.D

解析思路:DELIMITER關(guān)鍵字用于改變MySQL語句的結(jié)束符,在定義觸發(fā)器時(shí)必須使用。

4.A

解析思路:NEW關(guān)鍵字表示觸發(fā)事件之前不存在的行,適用于INSERT和UPDATE操作。

5.B

解析思路:OLD關(guān)鍵字表示觸發(fā)事件之后不存在的行,適用于DELETE和UPDATE操作。

6.B

解析思路:DELIMITER關(guān)鍵字在定義觸發(fā)器時(shí)必須使用,但定義完成后不需要再次設(shè)置。

7.D

解析思路:IF條件語句可以用于觸發(fā)器中,但不能用于SELECT操作。

8.A

解析思路:觸發(fā)器可以調(diào)用用戶定義的存儲(chǔ)過程,不能調(diào)用系統(tǒng)定義的存儲(chǔ)過程。

9.D

解析思路:觸發(fā)器中的事務(wù)控制語句可以保證數(shù)據(jù)的一致性,但不能嵌套使用。

10.A

解析思路:觸發(fā)器可以提高數(shù)據(jù)庫的查詢性能,但可能導(dǎo)致性能下降。

二、多項(xiàng)選擇題(每題3分,共10題)

1.ABC

解析思路:觸發(fā)器可以應(yīng)用于INSERT、UPDATE、DELETE操作,但不能用于SELECT操作。

2.ABCD

解析思路:觸發(fā)器可以包含SELECT、INSERT、UPDATE、DELETE語句。

3.ABCD

解析思路:在定義觸發(fā)器時(shí),CREATETRIGGER、TRIGGER_NAME、FOREACHROW、BEGIN是必須的。

4.AD

解析思路:NEW關(guān)鍵字代表觸發(fā)事件之前不存在的行,OLD關(guān)鍵字代表觸發(fā)事件之后不存在的行。

5.ABC

解析思路:觸發(fā)器中常用的條件語句有IF、ELSE、ENDIF。

6.ABC

解析思路:觸發(fā)器可以包含用戶定義的存儲(chǔ)過程和用戶定義的函數(shù)。

7.ABCD

解析思路:觸發(fā)器中可以使用STARTTRANSACTION、COMMIT、ROLLBACK、SAVEPOINT等事務(wù)控制語句。

8.ABC

解析思路:觸發(fā)器可以在自動(dòng)計(jì)算字段值、數(shù)據(jù)驗(yàn)證、復(fù)雜業(yè)務(wù)邏輯處理等場景中使用。

9.ABCD

解析思路:觸發(fā)器可能引發(fā)性能下降、數(shù)據(jù)不一致、維護(hù)困難、安全風(fēng)險(xiǎn)等問題。

10.ABCD

解析思路:觸發(fā)器在復(fù)雜業(yè)務(wù)邏輯、高并發(fā)環(huán)境、數(shù)據(jù)庫性能要求高、數(shù)據(jù)庫維護(hù)頻率高的情況下應(yīng)該謹(jǐn)慎使用。

三、判斷題(每題2分,共10題)

1.×

解析思路:觸發(fā)器不能在數(shù)據(jù)庫創(chuàng)建或刪除時(shí)自動(dòng)執(zhí)行。

2.×

解析思路:觸發(fā)器可以應(yīng)用于多個(gè)表,不僅限于單個(gè)表。

3.×

解析思路:NEW和OLD關(guān)鍵字不能互換使用,分別代表觸發(fā)事件前后不同的行。

4.√

解析思路:觸發(fā)器可以訪問觸發(fā)事件之前和之后的數(shù)據(jù)。

5.×

解析思路:觸發(fā)器中不能包含無限嵌套的存儲(chǔ)過程。

6.√

解析思路:觸發(fā)器中的事務(wù)控制語句可以保證數(shù)據(jù)的一致性。

7.×

解析思路:觸發(fā)器可能導(dǎo)致性能下降,而不是提高查詢性能。

8.√

解析思路:觸發(fā)器可以用于實(shí)現(xiàn)數(shù)據(jù)庫的級聯(lián)更新和級聯(lián)刪除。

9.√

解析思路:觸發(fā)器可以減少應(yīng)用程序的復(fù)雜度。

10.×

解析思路:觸發(fā)器在不同的數(shù)據(jù)庫系統(tǒng)中可能有不同的語法和功能。

四、簡答題(每題5分,共6題)

1.觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它在特定的數(shù)據(jù)庫事件發(fā)生時(shí)自動(dòng)執(zhí)行。它用于實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)一致性維護(hù)等,可以增強(qiáng)數(shù)據(jù)庫的完整性控制。

2.NEW關(guān)鍵字代表觸發(fā)事件之前不存在的行,通常用于INSERT和UPDATE操作;OLD關(guān)鍵字代表觸發(fā)事件之后不存在的行,通常用于DELETE和UPDATE操作。

3.觸發(fā)器類型包括AFTER、BEFORE和INSTEADOF。AFTER觸發(fā)器在觸發(fā)事件之后執(zhí)行,BEFORE觸發(fā)器在觸發(fā)事件之前執(zhí)行,INSTEADOF觸發(fā)器可以替代觸發(fā)事件。

4.定義AFTERUPDATE觸發(fā)器的語句如下:

```sql

CREATETRIGGERtrigger_name

AFTERUPDATEONtable_name

FOREACHROW

BEGIN

UPDATEanother_table

SETcolumn_name=NEW.column_name

WHER

溫馨提示

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

最新文檔

評論

0/150

提交評論