欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

一文入門SQL——自定義函數(shù)

admin
2024年3月29日 17:17 本文熱度 633

本篇講的是自定義函數(shù)(Function)

當我們學習編程語言的時候,也會遇到函數(shù)。函數(shù)的作用是什么呢?它可以把我們經(jīng)常使用的代碼封裝起來,需要的時候直接調(diào)用即可。這樣既提高了代碼效率,又提高了可維護性。

SQL 中的函數(shù)一般是在數(shù)據(jù)上執(zhí)行的,可以很方便地轉換和處理數(shù)據(jù)。一般來說,當我們從數(shù)據(jù)表中檢索出數(shù)據(jù)之后,就可以進一步對這些數(shù)據(jù)進行操作,得到更有意義的結果,比如返回指定條件的函數(shù),或者求某個字段的平均值等。

SQL中的函數(shù)包含內(nèi)置函數(shù)和自定義函數(shù),本文講解自定義函數(shù)。

用戶定義函數(shù)與編程語言中的函數(shù)相似,其結構與存儲過程相似,但函數(shù)必須有一個RETURN子句,用于返回函數(shù)值。函數(shù)說明要說明函數(shù)名、結果值的類型,以及參數(shù)類型等。

注意:以下全部是以MySQL為演示,其他類型數(shù)據(jù)庫語法可能不一致。


一、創(chuàng)建自定義函數(shù)

自定義函數(shù)

(1創(chuàng)建計算立方體體積的標量函數(shù)此函數(shù)有三個輸入?yún)?shù),分別為正方體的長寬高,類型均為整型,返回值體積也是整型

#解決1418號報錯(臨時生效,重啟后失效)

set global log_bin_trust_function_creators=TRUE;


#定義標量函數(shù)

delimiter $$

CREATE FUNCTION CubicVolume

 (CubeLength int,CubeWidth int,CubeHeight int)

RETURNS int

RETURN (CubeLength*CubeWidth*CubeHeight);

$$ delimiter;

(2)創(chuàng)建查詢指定商品類別的函數(shù),Tbl_Goods和Tbl_GoodsClass表如下圖所示:

#定義標量函數(shù)

delimiter $$

CREATE FUNCTION GoodsCount(class varchar(10))

RETURNS int

 BEGIN

  DECLARE x int;

  SET x=(

  SELECT count(*)

  FROM Tbl_GoodsClass a JOIN Tbl_Goods b ON a.GoodsClassID=b.GoodsClassID

  WHERE GoodsClassName=class);

  RETURN x;

END;

$$ delimiter;


二、調(diào)用自定義函數(shù)
調(diào)用標量函數(shù)
(1)求長2,寬3,高4的立方體體積:
SELECT CubicVolume(2,3,4) ;
結果是:

(2)查詢運動器材的種類數(shù)
#查詢運動器材的種類數(shù)
SELECT GoodsCount('運動器材');
結果是:


三、刪除自定義函數(shù)

刪除GoodsCount函數(shù)的語句如下:

drop Function GoodsCount;

這樣就把創(chuàng)建好的函數(shù)給刪除了。

文中有個小點需要注意一下,直接運行自定義函數(shù)將會出現(xiàn)1418錯誤,這個我們可以通過運行

set global log_bin_trust_function_creators=TRUE;

或者

set global log_bin_trust_function_creators=1;

來解決,不過這個是臨時生效,重啟應用后失效,更詳細的解決方案可訪問https://blog.csdn.net/qq_38361800/article/details/105950335來解決。


該文章在 2024/3/29 23:23:24 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved