navicat for mysql创的存储过程没有返回值,调用了,查询的时候没有返回值
delimiter$$CREATEPROCEDURETEST(OUTnumber1INTEGER)BEGINDECLAREnumber2INTEGER;SETnumber...
delimiter $$
CREATE PROCEDURE TEST(OUTnumber1 INTEGER)
BEGIN
DECLARE number2 INTEGER;
SET number2=(SELECT COUNT(*)FROM student);
SET number1=number2;
END $$
delimiter
调用:call test(@number)
查询:select @number 展开
CREATE PROCEDURE TEST(OUTnumber1 INTEGER)
BEGIN
DECLARE number2 INTEGER;
SET number2=(SELECT COUNT(*)FROM student);
SET number1=number2;
END $$
delimiter
调用:call test(@number)
查询:select @number 展开
1个回答
展开全部
朋友,首先这句话不能这样写,正确的方式:
SET number2=(SELECT COUNT(*)FROM student);
其次,CREATE PROCEDURE TEST(OUTnumber1 INTEGER) 中OUTnumber1中间没空格隔开
最后call test(@number),括号问题,中文情况下输入。可能是文本复制后的原因吧
正确的存储过程已写好,测试过:
drop PROCEDURE IF EXISTS TEST;
delimiter &&
CREATE PROCEDURE TEST(OUT number1 INTEGER)
BEGIN
DECLARE number2 INTEGER;
SELECT COUNT(*) into number2 FROM student;
set number1 = number2;
END &&
delimiter ;
call test(@number);
select @number;
希望对你有帮助
SET number2=(SELECT COUNT(*)FROM student);
其次,CREATE PROCEDURE TEST(OUTnumber1 INTEGER) 中OUTnumber1中间没空格隔开
最后call test(@number),括号问题,中文情况下输入。可能是文本复制后的原因吧
正确的存储过程已写好,测试过:
drop PROCEDURE IF EXISTS TEST;
delimiter &&
CREATE PROCEDURE TEST(OUT number1 INTEGER)
BEGIN
DECLARE number2 INTEGER;
SELECT COUNT(*) into number2 FROM student;
set number1 = number2;
END &&
delimiter ;
call test(@number);
select @number;
希望对你有帮助
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询