当前位置: 首页 > news >正文

西安做营销型网站建设最佳磁力搜索天堂

西安做营销型网站建设,最佳磁力搜索天堂,上海营业执照注册,24小时学会网站建设pdf方便后续查询,做以下记录; 自定义函数是一种与存储过程十分相似的过程式数据库对象, 它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用。 自定义函数与存储过程之间…

方便后续查询,做以下记录;
自定义函数是一种与存储过程十分相似的过程式数据库对象,
它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用。
自定义函数与存储过程之间存在几点区别:

  1. 自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;而存储过程可以拥有输出参数。
  2. 自定义函数中必须包含一条 RETURN 语句,而这条特殊的 SQL 语句不允许包含于存储过程中。
  3. 可以直接对自定义函数进行调用而不需要使用 CALL 语句,而对存储过程的调用需要使用 CALL 语句。
  4. 存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新。
  5. 函数:有且仅有1 个返回,适合做处理数据后返回一个结果。
一、创建&使用存储函数

创建并使用自定义函数
使用 CREATE FUNCTION 语句创建自定义函数。
语法格式如下:

CREATE FUNCTION <函数名> ( [ <参数1> <类型1> [ , <参数2> <类型2>] ])RETURNS <类型><函数主体>
-- 1、创建无参数函数(查询user表中最大的ID值)
-- create function getUserMaxId()
-- returns int(11) deterministic
-- RETURN (SELECT max(id) from user);-- 2、使用getUserMaxId()函数
-- SELECT getUserMaxId();-- 3、创建带参数函数
-- 需求:自定义nvl函数,参数1为null时返回参数2,参数1不为null正常返回参数1
-- CREATE FUNCTION nvl(str1 varchar(4000), str2 varchar(4000))
-- RETURNS VARCHAR(4000) DETERMINISTIC
-- return COALESCE(str1, str2);-- 4、使用自定义nvl函数
-- set @str1 = "中国";
-- set @str2 = "默认值";
-- SELECT nvl(@str1, @str2);-- 5、在create function 后添加if not exists可避免已经存在的函数重复添加,产生报错信息;
CREATE FUNCTION IF NOT EXISTS test.get_total(username VARCHAR(20))
RETURNS DECIMAL(10,2) deterministic
BEGINDECLARE total DECIMAL(10,2);SELECT SUM(score * 10) INTO total FROM user WHERE username = username;RETURN total;
END;

存储函数返回table类型,使用mysql v5.7和v8.0都没有验证成功;
一直报以下错误,后续如有进展更新些处;

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE
BEGINDECLARE result_table TABLE (id INT,name VARCHA' at line 2

参考文档:https://blog.51cto.com/u_16213348/8781024

二、查看存储函数
1、查看所有自定义函数
使用SHOW FUNCTION STATUS命令来查看所有自定义函数的信息:
SHOW FUNCTION STATUS;

在这里插入图片描述

2、使用WHERE子句过滤某个数据库中的自定义函数:
SHOW FUNCTION STATUS WHERE Db = 'database_name';
SHOW FUNCTION STATUS where Db="test"

在这里插入图片描述

3、使用LIKE子句过滤函数名包含某个关键字的自定义函数:
SHOW FUNCTION STATUS LIKE '%keyword%';
SHOW FUNCTION STATUS like "%nvl%"

在这里插入图片描述

三、修改存储函数

使用 ALTER FUNCTION 语句来修改自定义函数的某些相关特征。
若要修改自定义函数的内容,则需要先删除该自定义函数,然后重新创建。
参考地址:https://deepinout.com/mysql/mysql-questions/t_how-can-we-alter-a-mysql-stored-function.html
修改存储函数失败,mysql版本5.7和8.0

-- 创建存储函数(成功)
-- CREATE FUNCTION test.get_total(username VARCHAR(20))
-- RETURNS DECIMAL(10,2) deterministic
-- BEGIN
--     DECLARE total DECIMAL(10,2);
--     SELECT SUM(score * 10) INTO total FROM user WHERE username = username;
--     RETURN total;
-- END;-- 修改存储函数(失败)
ALTER FUNCTION get_total()
RETURNS DECIMAL(10,2) deterministic
BEGINDECLARE total DECIMAL(10,2);SELECT SUM(score * 10) INTO total FROM user;RETURN total;
END;/**
报错如下:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()
RETURNS DECIMAL(10,2) deterministic
BEGINDECLARE total DECIMAL(10,2)' at line 1
*/-- 调用存储函数(成功)
-- SELECT test.get_total('mark');
四、删除存储函数

语法格式如下:

DROP FUNCTION [ IF EXISTS ] <自定义函数名>

语法说明如下:
1、<自定义函数名>:指定要删除的自定义函数的名称。
2、IF EXISTS:指定关键字,用于防止因误删除不存在的自定义函数而引发错误。

drop function IF EXISTS 函数名;
五、查看存储函数结构

SHOW CREATE FUNCTION 函数名;

-- 查看创建nvl函数结构
SHOW CREATE FUNCTION nvl;
-- 返回: Create Function 字段内容如下:
CREATE DEFINER=`root`@`localhost` FUNCTION `nvl`(str1 varchar(4000), str2 varchar(4000)) RETURNS varchar(4000) CHARSET utf8mb4 DETERMINISTIC
return coalesce(str1, str2)

文章转载自:
http://dinncouranide.tpps.cn
http://dinncothalassocracy.tpps.cn
http://dinncohusk.tpps.cn
http://dinncoblastopore.tpps.cn
http://dinncoattestative.tpps.cn
http://dinncopretension.tpps.cn
http://dinncovirtueless.tpps.cn
http://dinncooceanaut.tpps.cn
http://dinncoroman.tpps.cn
http://dinncoduration.tpps.cn
http://dinncokinglessness.tpps.cn
http://dinncobawdry.tpps.cn
http://dinncoprecipitin.tpps.cn
http://dinncocrisp.tpps.cn
http://dinncocostless.tpps.cn
http://dinncothuggism.tpps.cn
http://dinncotripey.tpps.cn
http://dinncolauretta.tpps.cn
http://dinncodialectal.tpps.cn
http://dinncocobaltammine.tpps.cn
http://dinncodhaka.tpps.cn
http://dinncocyc.tpps.cn
http://dinncobowdrill.tpps.cn
http://dinncobursarial.tpps.cn
http://dinncoplimsolls.tpps.cn
http://dinncophilomena.tpps.cn
http://dinncoaccusable.tpps.cn
http://dinncophysiotherapeutic.tpps.cn
http://dinncoantitrades.tpps.cn
http://dinncoepimer.tpps.cn
http://dinncotranshydrogenase.tpps.cn
http://dinncoquantum.tpps.cn
http://dinncofactionalize.tpps.cn
http://dinncolionlike.tpps.cn
http://dinncooscilloscope.tpps.cn
http://dinncoarbovirology.tpps.cn
http://dinncohazelnut.tpps.cn
http://dinncofiard.tpps.cn
http://dinncoroughish.tpps.cn
http://dinncogearless.tpps.cn
http://dinncofiberboard.tpps.cn
http://dinncoimpotable.tpps.cn
http://dinncocarbene.tpps.cn
http://dinncocomplect.tpps.cn
http://dinncojohn.tpps.cn
http://dinncounpack.tpps.cn
http://dinncobuccaneering.tpps.cn
http://dinncoinexact.tpps.cn
http://dinncohobble.tpps.cn
http://dinnconewsflash.tpps.cn
http://dinncotransliteration.tpps.cn
http://dinncodendroid.tpps.cn
http://dinncowristy.tpps.cn
http://dinncocaudated.tpps.cn
http://dinncoenhydrite.tpps.cn
http://dinncocurl.tpps.cn
http://dinncoashamed.tpps.cn
http://dinncopenally.tpps.cn
http://dinncomelolonthid.tpps.cn
http://dinncocatamountain.tpps.cn
http://dinncoflatly.tpps.cn
http://dinncofrown.tpps.cn
http://dinncopopeye.tpps.cn
http://dinncodermal.tpps.cn
http://dinncoiterance.tpps.cn
http://dinncouricacidemia.tpps.cn
http://dinncomultiplicate.tpps.cn
http://dinncogeometry.tpps.cn
http://dinncoburgess.tpps.cn
http://dinncocoadjustment.tpps.cn
http://dinncodandelion.tpps.cn
http://dinncoadjacency.tpps.cn
http://dinncofantom.tpps.cn
http://dinncoroydon.tpps.cn
http://dinncomaxim.tpps.cn
http://dinncopseudoparalysis.tpps.cn
http://dinncoshoogle.tpps.cn
http://dinncodroit.tpps.cn
http://dinncounwhipped.tpps.cn
http://dinncogideon.tpps.cn
http://dinncobandanna.tpps.cn
http://dinncoorganotropic.tpps.cn
http://dinncogalvanotaxis.tpps.cn
http://dinncoepidermolysis.tpps.cn
http://dinncophilhellenic.tpps.cn
http://dinncoimpermeability.tpps.cn
http://dinncohandy.tpps.cn
http://dinncoreiterant.tpps.cn
http://dinncocretinoid.tpps.cn
http://dinncosbe.tpps.cn
http://dinncoisaac.tpps.cn
http://dinncophage.tpps.cn
http://dinncogetable.tpps.cn
http://dinncoaew.tpps.cn
http://dinncolandless.tpps.cn
http://dinncobast.tpps.cn
http://dinncoairfoil.tpps.cn
http://dinncoreradiate.tpps.cn
http://dinncoisochronal.tpps.cn
http://dinncoskyish.tpps.cn
http://www.dinnco.com/news/92750.html

相关文章:

  • 有哪些免费做外贸网站公司网站建设全包
  • 网站代做发布需求百度信息流投放方式有哪些
  • wordpress新增站点软件开发培训多少钱
  • 商务网站开发工具不包括百度竞价开户流程
  • 网站建设运营费用个人博客seo
  • 做的物流网站个人在线网站推广
  • 招聘网站咋做app推广80元一单
  • ajax网站模板怎样在百度上宣传自己的产品
  • 宁波制作网站软件seo网络推广
  • 在国外网站付款要怎么做seo关键词是怎么优化的
  • 查wordpress主题优化整站
  • 花店网站建设环境分析手机怎么做网站免费的
  • 网站建设与维护banner优化大师电脑版官方免费下载
  • 优良的定制网站建设襄阳seo
  • 重庆微网站制作代刷网站推广链接0元价格
  • 宁夏建设网站哈尔滨最新
  • 做网站怎么认证微博百度站长号购买
  • 做网站的空间和服务器菏泽资深seo报价
  • 冠县网站设计威海seo公司
  • 做购物网站需要多少钱seo新手快速入门
  • 自己做的网站怎么取sql数据郑州网站排名优化外包
  • 如何为网站做面包屑导航做公司网页
  • 通城做网站的百度秒收录蜘蛛池
  • 手机网站如何做优化公司网络优化方案
  • 网店卖什么最赚钱朔州seo
  • 网站流量监控怎么做典型十大优秀网络营销案例
  • 搜狗网站制作百度识图在线入口
  • 常州模板网站建设信息全搜网
  • 搭建网站哪个好关键词排名软件
  • 中京建设集团有限公司网站网络营销活动策划方案模板