I have a stored procedure similar to this one, and when I try to save it, I get this error:
我有一个类似于这个的存储过程,当我尝试保存它时,我得到了这个错误:
Undeclared variable: my_column
未申报的变量:my_column
CREATE PROCEDURE p (OUT column_param VARCHAR(25))
BEGIN
SELECT my_column INTO coumn_param limit 1;
END;
Why can I not select a column to return?
为什么我不能选择要返回的列?
Here my actual query within the procedure:
这里是我在程序中的实际查询:
select latitude into lat, longitude into lon
from cities cc
inner join countries c on cc.country_id = c.country_id
inner join regions r on cc.region_id = r.region_id and c.country_id = r.country_id
left join locations l on cc.city_id = l.city_id
where
city = coalesce(cty, city) and
country = coalesce(ctry, country) and
region = coalesce(reg, region)
limit 1;
1 个解决方案
#1
4
Your syntax of INTO
clause is incorrect
你的INTO子句语法不正确
Assuming that your query itself is correct and functional and you have lat
and lon
variables declared change this part
假设您的查询本身是正确的和功能性的,并且您已经声明了lat和lon变量来更改这一部分
select latitude into lat, longitude into lon
to
来
SELECT latitude, longitude INTO lat, lon
Here is SQLFiddle demo
这是SQLFiddle演示
#1
4
Your syntax of INTO
clause is incorrect
你的INTO子句语法不正确
Assuming that your query itself is correct and functional and you have lat
and lon
variables declared change this part
假设您的查询本身是正确的和功能性的,并且您已经声明了lat和lon变量来更改这一部分
select latitude into lat, longitude into lon
to
来
SELECT latitude, longitude INTO lat, lon
Here is SQLFiddle demo
这是SQLFiddle演示