Function에서 Procedure 호출시 에러가 납니다.
SQL 오류 (1336): Dynamic SQL is not allowed in stored function or trigger
Function에서는 Procedure 를 호출할수 없는건가요?
프로시져를 쿼리나 이벤트에서 호출하면 문제가 없는데 평션에서만 호출하면 에러가 나네요..
CREATE DEFINER=`aaa`@`localhost` PROCEDURE `P_SQL_RESULT`(IN `xSql` TEXT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '쿼리실행'
BEGIN
SET @xSql = xSql;
PREPARE dSql FROM @xSql;
EXECUTE dSql ;
DEALLOCATE PREPARE dSql;
END
--------------------------------------------------------------------------------
CREATE DEFINER=`aaa`@`localhost` FUNCTION `F_AAA`()
RETURNS varchar(256) CHARSET euckr
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '테스트'
BEGIN
DECLARE sReturn VARCHAR(255) DEFAULT NULL;
CALL P_SQL_RESULT("SELECT @sReturn:=now() from dual");
SET sReturn = @sReturn;
RETURN @sReturn;
END
------------------------------------------------------------------------------------
select F_AAA() from dual; |