mysql - 使用 IN OUT 参数调用 mysql 中的存储过程,返回插入结果

标签 mysql sql

我的 MySQL 存储过程有问题。我想检查过程中的插入查询是否执行并返回,即基于行影响的字符串 true 或 false。到 OUT 参数。我的代码如下

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_set_roles`(in p_rolename varchar(20),
in p_description varchar(25),out strresult varchar(20))
BEGIN

insert into tbl1(rolename,roledesc) 
values(p_rolename,p_description);

SET @strresult="True";<br>
END

我尝试过,但在字符串 @strresult=null 中得到了 Null 值。
请帮忙解决。

最佳答案

我认为问题是您没有正确引用 strresults OUT 参数。相反,您要创建一个同名的临时变量并为其分配一个值。

尝试更改为:

SET strresult="True";

关于mysql - 使用 IN OUT 参数调用 mysql 中的存储过程,返回插入结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40680817/

相关文章:

使用 FORMAT 函数时 MySQL 排序

mysql - 像谷歌圈子这样的群组的正确数据库实现

sql - 添加外键约束锁定表

sql - Oracle - 如何使用 FAST REFRESH 和 JOINS 创建物化 View

mysql - SQL SELECT 语句显示基于值 ("win"或 "loss"的赢/输数)

php - 带点的子串

mysql - 安装mysql-workbench后无法通过套接字 '/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器

php - 我需要在 schema.xml 中编写什么才能在 Solr 中的两个或多个字段中进行搜索?

sql - 简化 SQL Server 查询

mysql - 从 tbl2 中未列出的 tbl1 中选择