最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql心得分享:存儲(chǔ)過(guò)程

 更新時(shí)間:2014年07月15日 08:40:51   投稿:hebedich  
MySQL 5.0以后的版本開(kāi)始支持存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程具有一致性、高效性、安全性和體系結(jié)構(gòu)等特點(diǎn),本文主要來(lái)分享下本人關(guān)于存儲(chǔ)過(guò)程的一些心得體會(huì)。
use test;

drop table if exists t8;
CREATE TABLE t8(s1 INT,PRIMARY KEY(s1));

drop procedure if exists handlerdemo;

DELIMITER $$
CREATE PROCEDURE handlerdemo()
BEGIN
declare xx int default 4;
DECLARE oh_no condition for sqlstate '23000';
#DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @X2=1;
declare exit handler for oh_no set @info='違反主鍵約束';
SET @X=1;
INSERT INTO t8 VALUES(1);
SET @X=2;
INSERT INTO t8 VALUES(1);
SET @X=3;
END

調(diào)用存儲(chǔ)過(guò)程

/* 調(diào)用存儲(chǔ)過(guò)程*/
CALL handlerdemo();

/* 查看調(diào)用存儲(chǔ)過(guò)程結(jié)果*/
SELECT @X,@info;

心得體會(huì):

1、語(yǔ)句結(jié)束符

也許mysql是將存儲(chǔ)過(guò)程、自定義函數(shù)看作一條語(yǔ)句的,因此,存儲(chǔ)過(guò)程里多條語(yǔ)句用“;”隔開(kāi),為了避免沖突,就要用delimiter 重新定義結(jié)束符。

一般可以在存儲(chǔ)過(guò)程開(kāi)始前,定義新的結(jié)束符,如

delimiter //

存儲(chǔ)過(guò)程書(shū)寫(xiě)完畢以后,再恢復(fù)定義:delimiter ;

但也可以在存儲(chǔ)過(guò)程開(kāi)始前,這樣寫(xiě) delimiter $$,但存儲(chǔ)過(guò)程后不可以再寫(xiě)別的語(yǔ)句了。如上面的例子

2、變量

mysql的變量,跟SQL SERVER一樣,形如 @X ,但無(wú)需聲明,直接使用。

而在存儲(chǔ)過(guò)程里面,變量無(wú)須用 @,但要聲明。并且聲明要放在存儲(chǔ)過(guò)程的頭部(?),如本例,否則報(bào)錯(cuò)。真奇怪啊,一方面,有時(shí)候變量無(wú)須聲明就可以使用,另一方面,有時(shí)候又要限定聲明位置,令人無(wú)所適從,似乎隨便了點(diǎn)。

存儲(chǔ)過(guò)程內(nèi)部的變量,作用范圍僅限于存儲(chǔ)過(guò)程。但那些帶@的變量,卻仿佛可以跨越會(huì)話(huà)和連接,看上去是全局變量?如上面的例子。

3、條件和處理

定義條件,是為了給處理調(diào)用。如上面的例子:

DECLARE oh_no condition for sqlstate '23000';
#DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @X2=1;
declare exit handler for oh_no set @info='違反主鍵約束';

相關(guān)文章

  • mysql的union和union all用法詳解

    mysql的union和union all用法詳解

    union 和 union all 的區(qū)別是,union 會(huì)自動(dòng)壓縮多個(gè)結(jié)果集合中的重復(fù)結(jié)果,而 union all 則將所有的結(jié)果全部顯示出來(lái),不管是不是重復(fù),本文給大家介紹mysql的union和union all用法,感興趣的朋友一起看看吧
    2023-08-08
  • Mysql中的多級(jí)復(fù)制方式

    Mysql中的多級(jí)復(fù)制方式

    這篇文章主要介紹了Mysql中的多級(jí)復(fù)制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL將版本由5.7.37更新到5.7.39的實(shí)現(xiàn)方式

    MySQL將版本由5.7.37更新到5.7.39的實(shí)現(xiàn)方式

    這篇文章主要介紹了MySQL將版本由5.7.37更新到5.7.39的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MYSQL同步 Slave_IO_Running: No 或者Slave_SQL_Running: No的解決方法[已測(cè)]

    MYSQL同步 Slave_IO_Running: No 或者Slave_SQL_Running: No的解決方法[已測(cè)

    為了服務(wù)器更好的安全特將mysql服務(wù)器同步一下,show slave status\G出現(xiàn)了Slave_IO_Running: No 錯(cuò)誤,特整理了下,方便以后配置
    2011-06-06
  • 詳解MySQL 外鍵約束

    詳解MySQL 外鍵約束

    這篇文章主要介紹了MySQL 外鍵約束的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL之高可用集群部署及故障切換實(shí)現(xiàn)

    MySQL之高可用集群部署及故障切換實(shí)現(xiàn)

    這篇文章主要介紹了MySQL之高可用集群部署及故障切換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • mysql中DATE_FORMAT()函數(shù)的具體使用

    mysql中DATE_FORMAT()函數(shù)的具體使用

    在MySQL中,DATE_FORMAT()函數(shù)用于將日期/時(shí)間類(lèi)型的值按照指定的格式進(jìn)行格式化輸出,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • MySQL 游標(biāo)的作用與使用相關(guān)

    MySQL 游標(biāo)的作用與使用相關(guān)

    這篇文章主要介紹了MySQL游標(biāo)的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • MySQL快速?gòu)?fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)表的方法

    MySQL快速?gòu)?fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)表的方法

    有些時(shí)候,我們?yōu)榱丝焖俅罱ㄒ粋€(gè)測(cè)試環(huán)境,或者說(shuō)是克隆一個(gè)網(wǎng)站,需要復(fù)制已經(jīng)存在的mysql數(shù)據(jù)庫(kù)。下面小編給大家介紹mysql快速?gòu)?fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)表的方法,小伙伴們跟著小編一起學(xué)習(xí)吧
    2015-10-10
  • windows 下忘記mysql root密碼的更改方法

    windows 下忘記mysql root密碼的更改方法

    mysql數(shù)據(jù)庫(kù)忘記了root密碼是件很痛苦的事,本文介紹如何解決windows環(huán)境下mysql服務(wù)器忘記root密碼的解決方法,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

米林县| 南昌市| 汉川市| 乌鲁木齐市| 都匀市| 嫩江县| 阳江市| 珲春市| 罗平县| 榆社县| 三都| 黄浦区| 金坛市| 固始县| 雅安市| 柳州市| 大化| 隆化县| 天镇县| 丰原市| 都兰县| 江达县| 皮山县| 黑水县| 普宁市| 绥化市| 白朗县| 新丰县| 桂林市| 昌邑市| 太保市| 上思县| 庆云县| 武安市| 徐闻县| 昌图县| 宜州市| 象山县| 句容市| 宜兰县| 安福县|