首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySql 存储过程动态访问另一个存储过程,报错:Error Code: 1444?

MySql 存储过程动态访问另一个存储过程,报错:Error Code: 1444?

提问于 2018-07-31 13:46:01
回答 0关注 0查看 402

大家好,

我在做SqlServer向MySql的数据库迁移,其中有一个存储过程pre_Sys_Get_Data,接受业务ID及访问参数,过程中根据业务ID,从业务定义表中,获取对应的过程过程名称,再把这个过程名称和输入的参数拼接一个新的Sql语句,并动态执行,这时,报错:

Error Code: 1444. The prepared statement contains a stored routine call that refers to that same statement. It's not allowed to execute a prepared statement in such a recursive manner

请问有什么办法解决呢,谢谢。

CREATE DEFINER=`sameCityDeliverUser`@`%` PROCEDURE `pre_Sys_Get_Data`(

_menuFunID CHAR(32),

_selectCount BIT,

_treeAutoExpand bit,

_findWhere VARCHAR(2000),

_orderBy VARCHAR(2000)

)

BEGIN

DECLARE _sSql VARCHAR(2000);

DECLARE _iFunType INT;

DECLARE _sExecSql VARCHAR(2000);

declare var_selectCount varchar(5);

declare var_treeAutoExpand varchar(5);

if _selectCount is Null then

set _selectCount=true;

end if;

if _treeAutoExpand is Null then

set _treeAutoExpand=true;

end if;

set var_selectCount='false';

set var_treeAutoExpand='false';

if _selectCount then

set var_selectCount='true';

end if;

if _treeAutoExpand then

set var_treeAutoExpand='true';

end if;

SET _sSql = '';

IF EXISTS (SELECT 1 FROM T_Menu_Get_Data WHERE id = _menuFunID) then

SELECT funSql,

funType into _sSql,_iFunType

FROM T_Menu_Get_Data

WHERE id = _menuFunID;

end if;

IF _iFunType = 1 then

SELECT '不能执行系统查询方法';

elseif _sSql <> '' then

SET _sExecSql = concat(_sSql, '(',var_selectCount,',',var_treeAutoExpand,

',' , IFNULL(_findWhere, '') ,

CASE WHEN IFNULL(_orderBy,'')='' THEN '' ELSE concat(',',_orderBy) END,')');

set @sql = _sExecSql;

PREPARE s1 from @sql;

EXECUTE s1;

deallocate prepare s1;

ELSE

SELECT '没有找到执行的方法';

end if;

END

调用方法:

CALL pre_Sys_Get_Data('6D01977D469047CB9914E5DA9820EF59',0,1,'\' where ifNull(_parentId,\'\'\'\') = \'\'\'\' \'','\' order by sortorder asc\'')

回答 1

用户1000049

发布于 2018-06-26 17:18:19

websdk 调用 getProfilePortrait 方法查找用户,但是这里面的option传的参数是用户ID,这里是根据用户ID搜索

和开发者交流更多问题细节吧,去 写回答
相关文章
es写数据的过程,通过id进行查询过程,模糊查询过程
目录 es写数据的过程 es查询数据过程 通过id进行查询过程 模糊查询过程 es写数据的过程 集群有3个 客户端执行写数据的代码的时候,比如kibana里面往索引里面写数据,或者java代码 写数据。客户端会选择一个集群节点发送请求,这个集群节点就是协调节点。这个协调 节点会对写入的数据进行路由,这个路由是有一个算法,经过路由算法,会把请求转发 到对应的集群节点,现在认为转发后的集群节点名字是A,A节点里面的主分片会写入数据 ,并且还会将数据同步到主分片的副本。 如果协调节点发现所有集群的主分片
一写代码就开心
2021/09/29
1.2K0
django 模糊查询
同理,price字段支持大于等于 小于等模糊查询,日期支持查询某月的某年的等查询方法。
全栈程序员站长
2022/08/31
3.2K0
django 模糊查询
java redis模糊查询_Redis模糊查询「建议收藏」
最近使用Redis优化项目功能,其中有一部分为模糊查询,找了很多帖子,也没有找到很好的解决方案和思路,最终皇天不负有心人啊,终于让我找到了!!!
全栈程序员站长
2022/09/02
7.2K0
redis模糊查询
把所有的数据按照字符串形式的key-value保存到redis中,然后使用keys *关键字*方式模糊匹配。在设计key时,需要把模糊查询的value叶设计成key的一部分。但是网上有说:redis生产环境中慎用keys模糊匹配方法
BUG弄潮儿
2022/06/30
4.3K0
模糊查询+分页
目录 一、管理员界面的模糊查询+主题分页 二、游客界面的主题分页 ---- 一、管理员界面的模糊查询+主题分页 分页万能公式: pageIndex//第几页 pageSize//每一页多少条 star=(pageIndex-1)*pageSize+1 end=pageSize*pageIndex <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.s
天蝎座的程序媛
2022/11/18
5K0
MySql 模糊查询
SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下:  1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。  2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。  3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。  4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。  5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。  6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。  7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
ydymz
2018/09/10
5.2K0
模糊查询 原
SELECT p, product_name, factory_sn   FROM product_info where product_name ilike regexp_replace(concat('%','带电功能','%'),'\\','\\\','g');
双面人
2019/04/10
2.3K0
PostgreSQL - 模糊查询
like、not like在SQL中用于模糊查询,%表示任意个字符,_表示单个任意字符,如果需要在模糊查询中查询这两个通配符,需要用ESCAPE进行转义,如下:
雨临Lewis
2022/01/11
4.6K0
Mybatis 模糊查询
1、使用’#{abc}‘的方式,使用的是占位符的方式,PrepatedStatement的参数占位符预处理 2、使用’%${value}%’,使用的是拼接字符串的方式,Statement对象的字符串拼接,参数必须的value
全栈程序员站长
2022/11/01
1.9K0
mongoose根据关键字模糊查询(包括前端模糊查询)
后端: 使用new RegExp()实例对象 eg: const Schema = mongoose.model("modelName") let reg = new RegExp("查询关键词") awati Schema.fine || where(say:reg).exec().then(res=>{ 成功回调}) .catch(err=>{ 失败回调 }) 前端: eg: var arr = ['草莓','苹果'] newArr = [] for(var i = 0;i<arr.length;i++
biaoblog.cn 个人博客
2022/08/11
2.8K0
Emlog评论通过QQ获取昵称资料
使用emlog博客程序朋友有采用第三方评论,也有采用内置评论的,使用第三方评论的还好,可以直接QQ登陆,但是如果是采用内置评论的很多访客都不愿意填写信息,因此可能会丢失很多评论。今天舍力分享一篇采用js根据用户填写的QQ号码拉取用户的昵称信息,然后自动填写表单,这样用户只需要输入QQ就能实现自动填写了。代码以默认模板为例。
用户8099761
2023/05/10
4190
oracle模糊查询方法_oracle模糊查询下划线
在这个信息量剧增的时代,如何帮助用户从海量数据中检索到想要的数据,模糊查询是必不可少的。那么在Oracle中模糊查询是如何实现的呢?
全栈程序员站长
2022/08/27
2.6K0
Mysql 模糊查询总结
注意:由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。有以下函数:
Yiiven
2022/12/15
3.7K0
sql模糊查询 like[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 like 经常与where 字句和通配符在一块进行使用,表示像啥啥,模糊查询 通配符 主要是 _ 和 %   % 百分号表示零个,一个或多个字符
全栈程序员站长
2022/08/10
3.2K0
sql模糊查询 like[通俗易懂]
ES索引模糊查询
1. 准备环境 docker pull elasticsearch:6.7.0 docker pull kibana:6.7.0 docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 elasticsearch:6.7.0 docker run --link elasticsearch -p 5601:5601 --name kibana -d kibana:6.7.0 2. java代码 2.1 pom引入 <el
平常心
2020/10/14
3K0
ES索引模糊查询
DQL-模糊查询
模糊查询即模糊检索,是指搜索系统自动按照用户输入关键词的同义词进行模糊检索,从而得出较多的检索结果。与之相反的是“精准搜索”。模糊检索也可以说是同义词检索,这里的同义词是用户通过“检索管理”中的“同义词典”来配置的。
星哥玩云
2022/09/15
2.3K0
Emlog评论通过QQ获取昵称资料
之前介绍过一篇EMLOG评论获取QQ资料 | 传递QQ头像的文章,如果这篇不清晰你也可以看看之前介绍的那篇
用户8099761
2023/05/10
3300
SQL模糊查询详解
SELECT 字段 from 表 WHERE 某字段 Like 条件 其中关于查询的条件,SQL提供了四种匹配模式:%、 _、 []、 [^]
阳光岛主
2019/02/19
3K0
MyBatis处理模糊查询
模糊查询是一种搜索数据的方式,它允许您在不完全匹配数据的情况下找到相应的结果。模糊查询通常用于在大型数据集中查找数据,并且通常比精确匹配更具实用性。例如,在一个包含大量文章的数据库中,可以使用模糊查询查找所有包含特定关键字的文章。
堕落飞鸟
2023/05/15
1.8K0
PostgreSQL-模糊查询
函数已改进,请使用新版本函数,参看PostgreSQL 黑科技-递规二分法切分汉字
全栈程序员站长
2022/08/24
2.5K0

相似问题

你好,请问云+俱乐部怎么加入?

1155

你好,请问秒杀的云服务器是独立IP吗?

1477

你好,请问有在线文字客服吗?除了打电话?

1249

请问云存储有英文版的吗?

1276

你好,请问你有做过 接外国短信 验证码吗?

1707
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
腾讯云TDP | KOL擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文