为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:麒麟
【CPU】:海光
【问题描述】*:
下面是一个简单的测试,直接执行这段sql会提示:
第 9 行, 第 1 列[CREATE]附近出现错误:
语法分析出错
但是吧if函数注释掉就没问题了
CREATE OR REPLACE PROCEDURE ads.P_ICE_TEST(IN_START_DATE IN char(8))
AS
V_TG_FREQ CHAR(1);
IN_START_DATE CHAR(10);
BEGIN
IN_START_DATE := IF(V_TG_FREQ='M',6,8);
END;
CREATE OR REPLACE PROCEDURE ads.P_ICE_TEST2()
AS
BEGIN
select 1;
END;
V_TG_FREQ作为在存储过程内部定义的变量,是未知的;
参考修改之后的存储过程:
CREATE OR REPLACE PROCEDURE P_ICE_TEST(IN_START_DATE IN char(8))
AS
V_TG_FREQ CHAR(1);
BEGIN
V_TG_FREQ := IF(IN_START_DATE='M',6,8);
PRINT V_TG_FREQ;
END;