pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

創(chuàng)建一個(gè)帶有動(dòng)態(tài)參數(shù)數(shù)量的 MySQL 存儲(chǔ)函數(shù)

Create a MySQL stored function with a dynamic number of arguments(創(chuàng)建一個(gè)帶有動(dòng)態(tài)參數(shù)數(shù)量的 MySQL 存儲(chǔ)函數(shù))
本文介紹了創(chuàng)建一個(gè)帶有動(dòng)態(tài)參數(shù)數(shù)量的 MySQL 存儲(chǔ)函數(shù)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號(hào)..

我正在嘗試創(chuàng)建一個(gè) MySQL 函數(shù) IS_IN_ENUM('value', 'val1', 'val2', 'val3') 如果 'value' 在 ('val1','val2', 'val3').我知道我可以做 SELECT 'value' IN ('val1', 'val2', 'val3') 但這不太有趣,因?yàn)槲抑幌雽W(xué)習(xí)如何創(chuàng)建這樣的函數(shù).

I am trying to create a MySQL function IS_IN_ENUM('value', 'val1', 'val2', 'val3') which return true if 'value' is in ('val1', 'val2', 'val3'). I know I can do SELECT 'value' IN ('val1', 'val2', 'val3') but that's less intersting because I just want to learn how to create such functions.

我舉個(gè)例子,考慮下面的ADD函數(shù):

I give you an example, consider the following ADD function :

CREATE FUNCTION my_add (
    a DOUBLE,
    b DOUBLE
)
RETURNS DOUBLE
BEGIN

    IF a IS NULL THEN
        SET a = 0;
    END IF;

    IF b IS NULL THEN
        SET b = 0;
    END IF;

    RETURN (a + b);
END;

如果我執(zhí)行 SELECT my_add(1, 1),我得到 2(哇!).

If I do SELECT my_add(1, 1), I get 2 (wow!).

如何改進(jìn)此功能以使其能夠調(diào)用:

How can I improve this function to be able to call :

SELECT my_add(1, 1); -- 2
SELECT my_add(1, 1, 1); -- 3
SELECT my_add(1, 1, 1, 1); -- 4
SELECT my_add(1, 1, 1, 1, 1, 1, .....); -- n

推薦答案

您展示的函數(shù)示例是一個(gè)存儲(chǔ)函數(shù),而不是 UDF.正如@Enzino 回答的那樣,MySQL 中的存儲(chǔ)函數(shù)不支持可變數(shù)量的參數(shù).

The function example you show is a Stored Function, not a UDF. Stored Functions in MySQL don't support a variable number of arguments, as @Enzino answered.

MySQL UDF 是用 C 或 C++ 編寫的,編譯成動(dòng)態(tài)目標(biāo)??文件,然后通過 CREATE FUNCTION 的不同語法.

MySQL UDFs are written in C or C++, compiled into dynamic object files, and then linked with the MySQL server with a different syntax of CREATE FUNCTION.

見http://dev.mysql.com/doc/refman/5.5/en/adding-udf.html 了解編寫 UDF 的詳細(xì)信息.但我不知道你是否想開始編寫 C/C++ 代碼來做到這一點(diǎn).

See http://dev.mysql.com/doc/refman/5.5/en/adding-udf.html for details of writing UDFs. But I don't know if you want to get into writing C/C++ code to do this.

MySQL UDF 支持可變數(shù)量的參數(shù).事實(shí)上,所有 UDF 都隱式地接受任意數(shù)量的參數(shù),作為程序員,由您來確定給定參數(shù)的數(shù)量和數(shù)據(jù)類型是否對(duì)您的函數(shù)有效.

MySQL UDFs do support variable number of arguments. In fact, all UDFs implicitly accept any number of arguments, and it's up to you as the programmer to determine if the number and datatypes of the arguments given are valid for your function.

處理 UDF 中的函數(shù)參數(shù)記錄在 http://dev.mysql.com/doc/refman/5.5/en/udf-arguments.html

Processing function arguments in UDFs is documented in http://dev.mysql.com/doc/refman/5.5/en/udf-arguments.html

這篇關(guān)于創(chuàng)建一個(gè)帶有動(dòng)態(tài)參數(shù)數(shù)量的 MySQL 存儲(chǔ)函數(shù)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Typeorm Does not return all data(Typeorm 不返回所有數(shù)據(jù))
MySQL return extra records when using a long type number to filter varchar type(MySQL在使用長(zhǎng)類型數(shù)字過濾varchar類型時(shí)返回額外記錄)
MySQL Error #1071 - Specified key was too long; max key length is 767 bytes(MySQL 錯(cuò)誤 #1071 - 指定的鍵太長(zhǎng);最大密鑰長(zhǎng)度為 767 字節(jié))
MySQL command-line table column width with utf8(MySQL命令行表列寬與utf8)
Python unicode encoding issue(Python unicode 編碼問題)
Proper use of a table-valued function(正確使用表值函數(shù))
主站蜘蛛池模板: 锂电池生产厂家-电动自行车航模无人机锂电池定制-世豹新能源 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 深圳市东信高科自动化设备有限公司 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 健康管理师报考条件,考试时间,报名入口—首页 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器| 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 定坤静电科技静电消除器厂家-除静电设备| 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 脉冲除尘器,除尘器厂家-淄博机械 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 深圳市东信高科自动化设备有限公司 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 |