欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL深入探究存儲的過程

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

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

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

步驟:

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

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

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

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

存儲過程簡介

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

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

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

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

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

存儲過程的刪除

如何刪除存儲過程

比如:現(xiàn)需要向?qū)W生表中插入新的學(xué)生數(shù)據(jù)。但在插入學(xué)生數(shù)據(jù)的時,需要同時檢查老師表里的數(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;

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

如:

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

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

如:DROP PROCEDURE sp_add_student;

存儲過程的優(yōu)缺點

優(yōu)點:

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

缺點:

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

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

相關(guān)文章

  • MYSQL8 通過ibd文件恢復(fù)表數(shù)據(jù)的方法

    MYSQL8 通過ibd文件恢復(fù)表數(shù)據(jù)的方法

    這篇文章主要介紹了MYSQL8 通過ibd文件恢復(fù)表數(shù)據(jù)的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 使用Linux的Shell腳本定時處理MySQL超時

    使用Linux的Shell腳本定時處理MySQL超時

    本文提供使用Linux的Shell腳本定時處理MySQL超時Locked進(jìn)程腳本
    2013-11-11
  • mysql如何通過my.ini更改默認(rèn)字符集

    mysql如何通過my.ini更改默認(rèn)字符集

    這篇文章主要介紹了mysql如何通過my.ini更改默認(rèn)字符集問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Nacos配置MySQL8的方法

    Nacos配置MySQL8的方法

    這篇文章主要介紹了Nacos配置MySQL8的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • windows下mysql 8.0.16 安裝配置方法圖文教程

    windows下mysql 8.0.16 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了windows下mysql 8.0.16 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • MySQL中Case?When用法及說明

    MySQL中Case?When用法及說明

    這篇文章主要介紹了MySQL中Case?When用法及說明,具有很好的參考價值,希望對大家有所幫助。
    2022-12-12
  • Mac下安裝mysql5.7 完整步驟(圖文詳解)

    Mac下安裝mysql5.7 完整步驟(圖文詳解)

    本篇文章主要介紹了Mac下安裝mysql5.7 完整步驟,具有一定的參考價值,有興趣的可以了解一下,
    2017-01-01
  • MySQL Version確認(rèn)問題(版本確認(rèn))

    MySQL Version確認(rèn)問題(版本確認(rèn))

    這篇文章主要介紹了MySQL Version確認(rèn)問題(版本確認(rèn)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • MySQL中查詢json格式的字段實例詳解

    MySQL中查詢json格式的字段實例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL中查詢json格式字段的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 詳解Mysql通訊協(xié)議

    詳解Mysql通訊協(xié)議

    這篇文章對Mysql的通訊協(xié)議做了詳細(xì)介紹和說明,希望我們整理的內(nèi)容對你有用,一起學(xué)習(xí)下吧。
    2017-12-12

最新評論