如何在mysql中声明一个变量,以便我的第二个查询可以使用它?
我想写一些类似的东西:
SET start = 1;
SET finish = 10;
SELECT * FROM places WHERE place BETWEEN start AND finish;
Run Code Online (Sandbox Code Playgroud) OUTMySQL存储过程的目的是什么?
如果我有一个简单的存储过程,如下所示:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_routine`(
IN iID int
)
BEGIN
select * from table1 where id = iID;
END
Run Code Online (Sandbox Code Playgroud)
这将通过运行给我所有我想要的结果:
call new_routine(7);
Run Code Online (Sandbox Code Playgroud)
那么我为什么要/需要使用OUT?
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_routine`(
IN iID int,
OUT vName varchar(100)
)
BEGIN
select name into vName from table1 where id = iID;
END
Run Code Online (Sandbox Code Playgroud)
并称之为这样
call new_routine(7, @name);
select @name;
Run Code Online (Sandbox Code Playgroud)
哪个会给我一个名字,而不是返回的行中的所有内容?
我已经尝试过谷歌搜索,但显然没有向谷歌提出正确的问题以获得明确的答案.