我有一个mysql函数如下。
DELIMITER //
CREATE FUNCTION PROGRAM_API_Get_Val(
param_ VARCHAR(15)) RETURNS VARCHAR(100)
BEGIN
DECLARE val_ VARCHAR(100);
DECLARE get_val_ CURSOR FOR
SELECT param_name
FROM tab_1
WHERE param_id = param_;
OPEN get_val_ ;
IF(get_val_.rowcount>0) THEN
FETCH get_val_ INTO val_;
CLOSE get_val_;
RETURN val_;
END IF;
CLOSE get_val_;
RETURN NULL;
END//
现在我想使用上面的函数创建以下mysql视图。
CREATE OR REPLACE VIEW application_list_view AS
SELECT child_param_id id,PROGRAM_API_Get_Val(param_id) view_col FROM tab_2;
这两个功能都成功执行。但是当我尝试对此视图执行select语句时,它会给我以下错误。
错误代码:1109。未知表' get_name _'在字段列表中0.000秒
这是为了创建测试表,
create table tab_1(param_id VARCHAR(100),param_name VARCHAR(100));
create table tab_2(child_param_id VARCHAR(100),child_param_name VARCHAR(100),param_id VARCHAR(100));
这是为tab_1值
插入值insert into tab_1 values ('1','pro_1');
insert into tab_1 values ('2','pro_2');
insert into tab_2 values ('1','pro_1','1');
insert into tab_2 values ('2','pro_2','1');