計算機三級MySQL數據庫試題及答案

  一、簡答題

計算機三級MySQL數據庫試題及答案

1.請解釋什麼是存儲過程?

2.請列舉使用存儲過程的益處。

3.請簡述遊標在存儲過程中的作用。

4.請簡述存儲過程與存儲函數的區別。

  二、編程題

在數據庫db_test中創建一個存儲過程,用於實現給定表content中一個留言人的姓名即可修改表content中該留言人的`電子郵件地址爲一個給定的值。

  【參考答案】

  一、簡答題

1.存儲過程是一組爲了完成某特定功能的SQL語句集,其實質上就是一段存放在數據庫中的代碼,它可以由聲明式的SQL語句(如CREATE、UPDATE和SELECT等語句)和過程式SQL語句(如IF-THEN-ELSE控制結構語句)組成。

2.略。可參考第11章11.1節內容。

3.遊標是一個被SELECT語句檢索出來的結果集。在存儲了遊標後,應用程序或用戶就可以根據需要滾動或瀏覽其中的數據。

4.存儲函數與存儲過程之間存在這樣幾點區別:

(1)存儲函數不能擁有輸出參數,這是因爲存儲函數自身就是輸出參數;而存儲過程可以擁有輸出參數。

(2)可以直接對存儲函數進行調用,且不需要使用CALL語句;而對存儲過程的調用,需要使用CALL語句。

(3)存儲函數中必須包含一條RETURN語句,而這條特殊的SQL語句不允許包含於存儲過程中。

  二、編程題

在MySQL命令行客戶端輸入如下SQL語句即可實現:

mysql>USE db_test;

Database changed

mysql>DELIMITER$$

mysql>CREATE PROCEDURE sp_update email(IN USer_name VARCHAR(50),IN e_mail VARCHAR(50))

一>BEGIN

一> UPDATE content SET email=e_mail WHERE username=user_name;

一>END$$

Query OK,0 rows affected(0.06 SeC)