程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL存儲過程和函數,MySQL存儲過程函數

MySQL存儲過程和函數,MySQL存儲過程函數

編輯:MySQL綜合教程

MySQL存儲過程和函數,MySQL存儲過程函數


存儲過程和函數:

創建示例代碼:

DELIMITER $$

CREATE PROCEDURE proc(IN c_id INT, IN c_name VARCHAR(20), OUT count INT)
READS SQL DATA
BEGIN
    SELECT *
    FROM course
    WHERE cou_no = c_id
    OR cou_name = c_name;

    SELECT FOUND_ROWS() INTO count;
END $$

DELIMITER

另:

1、存儲過程或函數可以調用其他的過程或函數。

2、{READS SQL DATA|MODIFIES SQL DATA|NO SQL|CONTAINS SQL}:這些特征值提供子程序使用數據的內在信息,這些特征值目前只是提供給服務器,並沒有根據這些特征值來約束過程實際使用數據的情況。

  • READS SQL DATA:表示子程序包含讀數據的語句,但不包含寫數據的語句。
  • MODIFIES SQL DATA:表示子程序包含寫數據的語句。
  • NO SQL:表示子程序不包含SQL語句。
  • CONTAINS SQL:表示子程序不包含讀或者寫數據的語句。

如果這些特征沒有明確給定,默認使用的值是CONTAINS SQL。  

測試代碼(分別執行):

CALL proc(1,'信息系統',@a);

SELECT @a;

刪除存儲過程或者函數代碼:

DROP PROCEDURE proc;

NAVICAT創建存儲過程和函數過程:

1、點擊函數,新建函數

2、選擇“過程”

3、開始編輯存儲過程或函數

4、點擊“保存”,填寫名稱

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved