主頁 > 知識庫 > MySQL中使用游標觸發(fā)器的方法

MySQL中使用游標觸發(fā)器的方法

熱門標簽:百應(yīng)電話機器人優(yōu)勢 電話外呼系統(tǒng)改號 怎樣在地圖標注銷售區(qū)域 外呼系統(tǒng)打電話上限是多少 地圖標注費用是多少 曲靖移動外呼系統(tǒng)公司 南昌三維地圖標注 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 啥是企業(yè)400電話辦理

游標

select檢索返回的一組行稱為結(jié)果集,結(jié)果集里的行都是根據(jù)你輸入的sql語句檢索出來的,如果不使用游標,你將沒有辦法得到第一行,前十行或者是下一行

下面是一些常見的游標現(xiàn)象和特性

  • 能夠標記游標為只讀,是數(shù)據(jù)能夠讀取,但不能被更新或者刪除
  • 能控制可以執(zhí)行的定向操作(向前,向后,第一,最后、絕對位置和相對位置等)
  • 能標記某些行為可編輯的,而另一些行為不可編輯的
  • 能規(guī)定范圍,使游標對創(chuàng)建它的特定請求或者是所有請求可訪問
  • Cursor declarations must appear before handler declarations and after
  • variable and condition declarations.
  • 需要注意的是,打開一個游標時,游標并不指向第一條記錄,而是指向第一條記錄的前邊

下面是使用游標的步驟

  • 聲明游標 – 在這個過程中你還沒有開始檢索數(shù)據(jù)
  • 打開游標以供使用
  • 檢索各行
  • 關(guān)閉游標,釋放游標
DECLARE cs CURSOR 
FOR 
SELECT *
FROM customers
WHERE cust_email IS NULL;

本以為萬事大吉,但卻給我報錯

從語法上來看沒有什么問題

試著在 cs 前面加上@,運行仍然報錯

還有人說游標只能在存儲過程中使用,是這樣嗎?

現(xiàn)在我們來試一試在存儲過程中使用游標

CREATE PROCEDURE proce1
()
BEGIN
	DECLARE cur1 CURSOR 
	FOR 
	SELECT * 
	FROM customers 
	WHERE cust_id IS NULL tianyoutianyou;
END	

仍然出錯

再次更改

delimiter //
CREATE PROCEDURE proce1
()
BEGIN
	DECLARE cur1 CURSOR 
	FOR 
	SELECT * 
	FROM customers 
	WHERE cust_id IS NULL;
END	

這次我們成功地聲明游標

是不是因為我們修改了分隔符然我們成功地創(chuàng)建游標了呢?

我們再試試

CREATE PROCEDURE proce1()
DECLARE cur1 CURSOR 
FOR 
SELECT * 
FROM customers 
WHERE cust_id IS NULL;

這樣也是錯誤的,下面再試試不使用存儲過程地語句能否成功創(chuàng)建游標

delimiter //
DECLARE cur2 CURSOR
FOR 
SELECT *
FROM orders ;

或者是這樣

delimiter //
DECLARE cur2 CURSOR
FOR 
SELECT *
FROM orders //

這兩種也8行

試了這么多次,唯一成功的只有下面這種語句

delimiter //
CREATE PROCEDURE proce1()
BEGIN 
	DECLARE cur1 CURSOR 
	FOR 
	SELECT * 
	FROM customers 
	WHERE cust_id IS NULL;
END 

下面我們用游標來檢索數(shù)據(jù)

很遺憾,MySQL中沒有像Oracle中 %ROWTYPE 般的數(shù)據(jù)類型,我們下面試著使用游標來檢索customers表中的某一類數(shù)據(jù)類型

觸發(fā)器

觸發(fā)器時特定的存儲過程,在數(shù)據(jù)庫發(fā)生特定活動時自動進行,一般來說,約束的處理比觸發(fā)器更快,因此在可能的時候,應(yīng)該盡可能地使用約束。

到此這篇關(guān)于MySQL中使用游標觸發(fā)器的方法的文章就介紹到這了,更多相關(guān)mysql游標觸發(fā)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mysql觸發(fā)器trigger實例詳解
  • MySQL中觸發(fā)器和游標的介紹與使用
  • MySQL 觸發(fā)器的使用和理解
  • MySQL 觸發(fā)器的使用及需要注意的地方
  • MySQL觸發(fā)器的使用場景及方法實例
  • 詳解MySQL數(shù)據(jù)庫之觸發(fā)器
  • 淺談MySql 視圖、觸發(fā)器以及存儲過程
  • mysql 觸發(fā)器創(chuàng)建與使用方法示例
  • MySQL觸發(fā)器基本用法詳解【創(chuàng)建、查看、刪除等】
  • MySQL觸發(fā)器的使用

標簽:荊州 錦州 滄州 吉林 黑河 甘南 資陽 隨州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL中使用游標觸發(fā)器的方法》,本文關(guān)鍵詞  MySQL,中,使用,游標,觸發(fā)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中使用游標觸發(fā)器的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中使用游標觸發(fā)器的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章