亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2021年02月08日 10:02:46   作者:吃西瓜的小螃蟹  
這篇文章主要介紹了MySQL中使用游標(biāo)-觸發(fā)器的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

游標(biāo)

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

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

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

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

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

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

在這里插入圖片描述

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

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

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

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

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	

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

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

我們再試試

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

這樣也是錯誤的,下面再試試不使用存儲過程地語句能否成功創(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ù)據(jù)庫發(fā)生特定活動時自動進行,一般來說,約束的處理比觸發(fā)器更快,因此在可能的時候,應(yīng)該盡可能地使用約束。

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

相關(guān)文章

  • 快速理解MySQL中主鍵與外鍵的實例教程

    快速理解MySQL中主鍵與外鍵的實例教程

    這篇文章主要介紹了MySQL中主鍵與外鍵的區(qū)別和聯(lián)系,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • 數(shù)據(jù)庫的用戶帳號管理基礎(chǔ)知識

    數(shù)據(jù)庫的用戶帳號管理基礎(chǔ)知識

    數(shù)據(jù)庫的用戶帳號管理基礎(chǔ)知識...
    2006-11-11
  • 從數(shù)據(jù)庫中取出最近三十天的數(shù)據(jù)并生成柱狀圖

    從數(shù)據(jù)庫中取出最近三十天的數(shù)據(jù)并生成柱狀圖

    從數(shù)據(jù)庫中取出最近三十天的數(shù)據(jù)并生成柱狀圖的代碼,需要的朋友可以參考下。
    2011-05-05
  • MySQL中or、in、union與索引優(yōu)化詳析

    MySQL中or、in、union與索引優(yōu)化詳析

    這篇文章主要給大家介紹了關(guān)于MySQL中or、in、union與索引優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • MySQL Truncate用法詳解

    MySQL Truncate用法詳解

    這篇文章主要介紹了MySQL Truncate用法的相關(guān)資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-08-08
  • Mysql?optimize?table?時報錯:Temporary?file?write?fail的解決

    Mysql?optimize?table?時報錯:Temporary?file?write?fail的解決

    這篇文章主要介紹了Mysql?optimize?table?時報錯:Temporary?file?write?fail的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Window環(huán)境下MySQL?UDF提權(quán)

    Window環(huán)境下MySQL?UDF提權(quán)

    本文章僅記錄某次內(nèi)網(wǎng)滲透過程中遇到的MySQL?采用UDF提權(quán)等方式進行獲取權(quán)限,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-03-03
  • MySQL 主主同步配置步驟

    MySQL 主主同步配置步驟

    創(chuàng)建同步用戶、修改 /etc/my.cnf 配置文件,為其添加以下內(nèi)容、分別重啟服務(wù)器ODD EVEN 上的mysql服務(wù)
    2013-05-05
  • innodb 庫的備份注意點(由phpmyadmin引起的解決方案)

    innodb 庫的備份注意點(由phpmyadmin引起的解決方案)

    新版本xampps 1.8.5 X64 集成了phpmyadmin最新版本(4.1.0), 可每次初始化安裝程序后, 進入phpmyadmin管理工具, 就會發(fā)現(xiàn)phpmyadmin高級功能失效, 一直在提示數(shù)據(jù)表不存在, 經(jīng)過再三的分析, 終于找到原因
    2013-12-12
  • MySQL中order?by的執(zhí)行過程

    MySQL中order?by的執(zhí)行過程

    這篇文章主要介紹了MySQL中order?by的執(zhí)行過程,一訂單表為例展開相應(yīng)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06

最新評論