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

MySQL的存儲函數(shù)與存儲過程的區(qū)別解析

 更新時間:2022年04月08日 11:45:35   作者:王小王-123  
這篇文章主要介紹了MySQL的存儲函數(shù)與存儲過程的區(qū)別,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

MySQL存儲函數(shù)(自定義函數(shù)),函數(shù)一般用于計算和返回一個值,可以將經(jīng)常需要使用的計算或功能寫成一個函數(shù)。

存儲函數(shù)和存儲過程一樣,都是在數(shù)據(jù)庫中定義一些 SQL 語句的集合。

存儲函數(shù)與存儲過程的區(qū)別

1.存儲函數(shù)有且只有一個返回值,而存儲過程可以有多個返回值,也可以沒有返回值。

2.存儲函數(shù)只能有輸入?yún)?shù),而且不能帶in, 而存儲過程可以有多個in,out,inout參數(shù)。

3.存儲過程中的語句功能更強大,存儲過程可以實現(xiàn)很復(fù)雜的業(yè)務(wù)邏輯,而函數(shù)有很多限制,如不能在函數(shù)中使用insert,update,delete,create等語句;

4.存儲函數(shù)只完成查詢的工作,可接受輸入?yún)?shù)并返回一個結(jié)果,也就是函數(shù)實現(xiàn)的功能針對性比較強。

5.存儲過程可以調(diào)用存儲函數(shù)、但函數(shù)不能調(diào)用存儲過程。

6.存儲過程一般是作為一個獨立的部分來執(zhí)行(call調(diào)用)。而函數(shù)可以作為查詢語句的一個部分來調(diào)用.

create function func_name ([param_name type[,...]])
returns type
[characteristic ...] 
begin
    routine_body
end;

參數(shù)說明:
(1)func_name :存儲函數(shù)的名稱。
(2)param_name type:可選項,指定存儲函數(shù)的參數(shù)。type參數(shù)用于指定存儲函數(shù)的參數(shù)類型,該類型可以是MySQL數(shù)據(jù)庫中所有支持的類型。
(3)RETURNS type:指定返回值的類型。
(4)characteristic:可選項,指定存儲函數(shù)的特性。
(5)routine_body:SQL代碼內(nèi)容。

create database mydb9_function;
-- 導(dǎo)入測試數(shù)據(jù)
use mydb9_function;
set global log_bin_trust_function_creators=TRUE; -- 信任子程序的創(chuàng)建者
 
-- 創(chuàng)建存儲函數(shù)-沒有輸輸入?yún)?shù)
drop function if exists myfunc1_emp;
 
delimiter $$
create function myfunc1_emp() returns int
begin
  declare cnt int default 0;
    select count(*) into  cnt from emp;
  return cnt;
end $$
delimiter ;
-- 調(diào)用存儲函數(shù)
select myfunc1_emp();
-- 創(chuàng)建存儲過程-有輸入?yún)?shù)
drop function if exists myfunc2_emp;
delimiter $$
create function myfunc2_emp(in_empno int) returns varchar(50)
begin
    declare out_name varchar(50);
    select ename into out_name from emp where  empno = in_empno;
    return out_name;
end $$
delimiter ;
select myfunc2_emp(1008);

到此這篇關(guān)于MySQL的存儲函數(shù)與存儲過程的區(qū)別的文章就介紹到這了,更多相關(guān)MySQL的存儲函數(shù)與存儲過程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql查詢時如何使用for update行鎖還是表鎖

    Mysql查詢時如何使用for update行鎖還是表鎖

    這篇文章主要介紹了Mysql查詢時如何使用for update行鎖還是表鎖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Mysql中的嵌套子查詢問題

    Mysql中的嵌套子查詢問題

    這篇文章主要介紹了Mysql嵌套子查詢,子查詢就是指的在一個完整的查詢語句之中,嵌套若干個不同功能的小查詢,從而一起完成復(fù)雜查詢的一種編寫形式,為了讓讀者更加清楚子查詢的概念,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • MySQL 5.7 版本的安裝及簡單使用(圖文教程)

    MySQL 5.7 版本的安裝及簡單使用(圖文教程)

    這篇文章主要介紹了MySQL 5.7 版本的安裝及簡單使用(圖文教程)的相關(guān)資料,這里對mysql 5.7的安裝及使用和注意事項,需要的朋友可以參考下
    2016-12-12
  • mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解

    mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解

    這篇文章主要介紹了mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • mysql 數(shù)據(jù)匯總與分組

    mysql 數(shù)據(jù)匯總與分組

    這篇文章主要介紹了mysql 數(shù)據(jù)匯總與分組,我們經(jīng)常需要匯總數(shù)據(jù)而不用把它們實際檢索出來,為此MySQL提供了專門的函數(shù)。使用這些函數(shù),MySQL查詢可用于檢索數(shù)據(jù),以便分析和報表生成。下面來看看具體例子,需要的朋友可以參考一下
    2021-10-10
  • mysql5.7單實例自啟動服務(wù)配置過程

    mysql5.7單實例自啟動服務(wù)配置過程

    這篇文章主要介紹了mysql5.7單實例自啟動服務(wù)配置的過程,附含配置源碼,有需要的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀
    2021-09-09
  • MySQL MyISAM 與InnoDB 的區(qū)別

    MySQL MyISAM 與InnoDB 的區(qū)別

    這篇文章主要介紹了MySQL MyISAM與InnoDB 的區(qū)別,幫助大家更好的理解和使用MySQL的存儲引擎,感興趣的朋友可以了解下
    2020-09-09
  • mysql排序失效問題的解決

    mysql排序失效問題的解決

    本文主要介紹了mysql排序失效問題的解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Xtrabackup使用指南 InnoDB數(shù)據(jù)備份工具

    Xtrabackup使用指南 InnoDB數(shù)據(jù)備份工具

    Xtrabackup是一個對InnoDB做數(shù)據(jù)備份的工具,支持在線熱備份(備份時不影響數(shù)據(jù)讀寫),是商業(yè)備份工具InnoDB Hotbackup的一個很好的替代品
    2011-10-10
  • MySQL日期時間函數(shù)知識匯總

    MySQL日期時間函數(shù)知識匯總

    這篇文章主要介紹了MySQL日期時間函數(shù)知識匯總,這不同數(shù)據(jù)庫之間基本相同,只會有個別函數(shù)的差異。下文詳細介紹,需要的小伙伴可以參考一下
    2022-03-03

最新評論