人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

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

發(fā)布日期:2022-02-19 15:51 | 文章來源:CSDN

游標(biāo)

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

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

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

下面是使用游標(biāo)的步驟

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

本以為萬事大吉,但卻給我報(bào)錯(cuò)

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

試著在 cs 前面加上@,運(yùn)行仍然報(bào)錯(cuò)

還有人說游標(biāo)只能在存儲(chǔ)過程中使用,是這樣嗎?

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

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

仍然出錯(cuò)

再次更改

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

這次我們成功地聲明游標(biāo)

是不是因?yàn)槲覀冃薷牧朔指舴晃覀兂晒Φ貏?chuàng)建游標(biāo)了呢?

我們?cè)僭囋?/p>

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

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

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 

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

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

觸發(fā)器

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

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

海外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部