由于对 SQL 的了解有限,我在 HANA 数据库上编写了一个程序,这是我的一小部分代码。
当我运行以下命令时,我得到一个错误Error creating procedure;scalar type is not allowed: line 25 col 39 (at pos 1037) at ptime/query/checker/check_proc.cc:383
。标量变量指定的内容是什么?我被卡住了,请帮忙。
只是猜测,在第 32 行你有
SELECT :ORGID_ARTIKEL into ...
也许你的意思是
SELECT "ORGID_ARTIKEL" into ...
我有同样的错误,这就是我解决它的方法:
PROCEDURE "SLT_DELETE"."HCDW.IT.IT::TO_TIMESTAMP_CALL" (IN IN_DATE DECIMAL(15), OUT OUT_DATE TIMESTAMP)
LANGUAGE SQLSCRIPT AS
--DEFAULT SCHEMA <default_schema_name>
--READS SQL DATA AS
BEGIN
OUT_DATE = select to_timestamp(IN_DATE) FROM DUMMY;
END;
上面的代码产生了以下错误: 过程对象中的语法错误:不允许标量类型;OUT_DATE:第 7 行第 4 列(在 pos 237)
下面的工作版本:
PROCEDURE "SLT_DELETE"."HCDW.IT.IT::TO_TIMESTAMP_CALL" (IN IN_DATE DECIMAL(15), OUT OUT_DATE TIMESTAMP)
LANGUAGE SQLSCRIPT AS
--DEFAULT SCHEMA <default_schema_name>
--READS SQL DATA AS
BEGIN
select to_timestamp(IN_DATE) into OUT_DATE FROM DUMMY;
END;