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

SQL深入探究存儲(chǔ)的過程

 更新時(shí)間:2023年01月05日 08:56:18   作者:黑碼哥  
存儲(chǔ)過程是事先經(jīng)經(jīng)過編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的一段SQL語(yǔ)句的集合,調(diào)用存儲(chǔ)過程可以簡(jiǎn)化應(yīng)用開發(fā)人員的很多工作,減少數(shù)據(jù)在數(shù)據(jù)庫(kù)和應(yīng)用服務(wù)器之間的傳輸,對(duì)于高效數(shù)據(jù)處理的效率是有好處的

現(xiàn)需要向?qū)W生表中插入新的學(xué)生數(shù)據(jù)。但在插入學(xué)生數(shù)據(jù)的時(shí),需要同

時(shí)檢查老師表里的數(shù)據(jù)。如果插入學(xué)生的老師不在老師表里,則先向老師表中插入一條老師數(shù)據(jù),再向?qū)W生表中插入學(xué)生數(shù)據(jù)。

步驟:

使用SELECT語(yǔ)句查詢新學(xué)生的老師是否存在于老師表中;

  • 如果不存在 ,則繼續(xù)執(zhí)行第2步;
  • 如果存在,則直接跳到第3步;

向老師表中插入老師數(shù)據(jù);向?qū)W生表中插入學(xué)生數(shù)據(jù)

上方需求我們可以通過存儲(chǔ)過程實(shí)現(xiàn)

存儲(chǔ)過程簡(jiǎn)介

現(xiàn)需要向?qū)W生表中插入新的學(xué)生數(shù)據(jù)。但在插入學(xué)生數(shù)據(jù)的時(shí),需要同

時(shí)檢查老師表里的數(shù)據(jù)。如果插入學(xué)生的老師不在老師表里,則先向老師表中插入一條老師數(shù)據(jù),再向?qū)W生表中插入學(xué)生數(shù)據(jù)

存儲(chǔ)過程:一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,然后通過指定存儲(chǔ)過程的名字并給定參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來調(diào)用執(zhí)行它。

存儲(chǔ)過程的創(chuàng)建及調(diào)用

存儲(chǔ)過程的創(chuàng)建:使用關(guān)鍵字CREATE PROCEDURE

存儲(chǔ)過程的刪除

如何刪除存儲(chǔ)過程

比如:現(xiàn)需要向?qū)W生表中插入新的學(xué)生數(shù)據(jù)。但在插入學(xué)生數(shù)據(jù)的時(shí),需要同時(shí)檢查老師表里的數(shù)據(jù)。如果插入學(xué)生的老師不在老師表里,則先向老師表中插入一條老師數(shù)據(jù),再向?qū)W生表中插入學(xué)生數(shù)據(jù)。

CREATE PROCEDURE sp_add_student(
IN i_student_id VARCHAR(50), IN i_student_name VARCHAR(100),
IN i_gender VARCHAR(10), IN i_birth_day DATE,
IN i_age INT, IN i_class_id VARCHAR(50),
IN i_score DECIMAL(18,2), IN i_teacher_id VARCHAR(20)
)
BEGIN
IF NOT EXISTS(SELECT 1 FROM teacher WHERE teacher_id = 'i_teacher_id') THEN
INSERT INTO teacher(teacher_id) VALUES (i_teacher_id);
END IF;
INSERT INTO student VALUES(
i_student_id,i_student_name,i_gender,i_birth_day,
i_age, i_class_id, i_score, i_teacher_id
);
END;

存儲(chǔ)過程的調(diào)用:使用關(guān)鍵字CALL

如:

CALL sp_add_student( 
'S20170091', '楊艷', '女', '2003-04-09',
15, 'G0206', 89.23, 'T0021' 
);

存儲(chǔ)過程的刪除:使用關(guān)鍵字DROP PROCEDURE

如:DROP PROCEDURE sp_add_student;

存儲(chǔ)過程的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • 功能強(qiáng)大、靈活性高;
  • 模塊化,封裝,代碼復(fù)用;

缺點(diǎn):

  • 開發(fā)調(diào)試?yán)щy;
  • 可移植性差,不同數(shù)據(jù)庫(kù),語(yǔ)法差別很大,移植困難;

到此這篇關(guān)于SQL深入探究存儲(chǔ)的過程的文章就介紹到這了,更多相關(guān)SQL存儲(chǔ)過程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ubuntu系統(tǒng)中Mysql ERROR 1045 (28000): Access denied for user root@ localhost問題的解決方法

    ubuntu系統(tǒng)中Mysql ERROR 1045 (28000): Acces

    這篇文章主要介紹了ubuntu系統(tǒng)安裝mysql登陸提示 解決Mysql ERROR 1045 (28000): Access denied for user root@ localhost問題,需要的朋友可以參考下
    2017-05-05
  • 如何恢復(fù)MySQL主從數(shù)據(jù)一致性

    如何恢復(fù)MySQL主從數(shù)據(jù)一致性

    MySQL主從數(shù)據(jù)一致性怎么恢復(fù),MySQL主從數(shù)據(jù)庫(kù)的數(shù)據(jù)不一致,猜測(cè)備庫(kù)在同步過程中出現(xiàn)了問題,現(xiàn)在的問題很明確,就是如何恢復(fù)主從庫(kù)數(shù)據(jù)的一致性,下文為大家分享解決方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    這篇文章主要介紹了解決Linux安裝mysql 在/etc下沒有my.cnf的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Mysql8.0使用窗口函數(shù)解決排序問題

    Mysql8.0使用窗口函數(shù)解決排序問題

    窗口的概念非常重要,它可以理解為記錄集合,窗口函數(shù)也就是在滿足某種條件的記錄集合上執(zhí)行的特殊函數(shù)。這篇文章主要介紹了Mysql8.0使用窗口函數(shù)解決排序問題,需要的朋友可以參考下
    2020-01-01
  • mysql報(bào)錯(cuò)Duplicate entry ‘xxx‘ for key ‘字段名‘的解決

    mysql報(bào)錯(cuò)Duplicate entry ‘xxx‘ for key&nbs

    有時(shí)候?qū)Ρ磉M(jìn)行操作,例如加唯一鍵,或者插入數(shù)據(jù),會(huì)報(bào)錯(cuò),本文就來介紹一下mysql報(bào)錯(cuò)Duplicate entry ‘xxx‘ for key ‘字段名‘的解決方法,感興趣的可以了解一下
    2023-10-10
  • MySQL備份與恢復(fù)之熱備(3)

    MySQL備份與恢復(fù)之熱備(3)

    熱備使用mysqldump命令進(jìn)行備份,此工具是MySQL內(nèi)置的備份和恢復(fù)工具,功能強(qiáng)大,它可以對(duì)整個(gè)庫(kù)進(jìn)行備份,可以對(duì)多個(gè)庫(kù)進(jìn)行備份,可以對(duì)單張表或者某幾張表進(jìn)行備份,需要了解的朋友可以參考下
    2015-08-08
  • linux配置mysql數(shù)據(jù)庫(kù)遠(yuǎn)程連接失敗的解決方法

    linux配置mysql數(shù)據(jù)庫(kù)遠(yuǎn)程連接失敗的解決方法

    這篇文章主要為大家詳細(xì)介紹了linux配置mysql數(shù)據(jù)庫(kù)遠(yuǎn)程連接失敗的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • jdbc連接mysq之serverTimezone設(shè)定方式

    jdbc連接mysq之serverTimezone設(shè)定方式

    這篇文章主要介紹了jdbc連接mysq之serverTimezone設(shè)定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Mysql 默認(rèn)字符集設(shè)置方法(免安裝版)

    Mysql 默認(rèn)字符集設(shè)置方法(免安裝版)

    有些時(shí)候我們?cè)谑褂梅前惭b版的mysql是需要設(shè)置默認(rèn)字符集的時(shí)候,就需要這樣的修改了。安裝版的可以選擇的。
    2009-03-03
  • mysql 單機(jī)數(shù)據(jù)庫(kù)優(yōu)化的一些實(shí)踐

    mysql 單機(jī)數(shù)據(jù)庫(kù)優(yōu)化的一些實(shí)踐

    這篇文章主要介紹了mysql 單機(jī)數(shù)據(jù)庫(kù)優(yōu)化的一些實(shí)踐的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評(píng)論

桃园县| 山阳县| 廊坊市| 宁国市| 西充县| 富平县| 阳东县| 新干县| 北碚区| 平塘县| 龙山县| 沧州市| 云浮市| 同江市| 锦屏县| 托克逊县| 濉溪县| 乌鲁木齐县| 广州市| 孝义市| 潼南县| 阿克苏市| 临武县| 宕昌县| 随州市| 西乡县| 商水县| 册亨县| 柯坪县| 华容县| 潞西市| 沽源县| 望奎县| 合作市| 丹凤县| 聂拉木县| 柳林县| 河间市| 宣城市| 武平县| 通城县|