我有一个查询,如果我在HANA Studio中运行了此查询,它可以正常工作。 示例:
DO
BEGIN
DECLARE UDTNameVar nvarchar(30);
DECLARE UDTCodeVar nvarchar(30);
DECLARE statement nvarchar(500);
UDTNameVar := 'V33_EXCHANGECODES';
UDTCodeVar := '1';
statement := 'SELECT * FROM "@'|| :UDTNameVar ||'" WHERE "Code" = ''' || :UDTCodeVar || '''';
EXECUTE IMMEDIATE :statement;
END;
如果我是从B1WebAPI运行的,则如下所示的相同查询给出了错误:
DO
BEGIN
DECLARE UDTNameVar nvarchar(30);
DECLARE UDTCodeVar nvarchar(30);
DECLARE statement nvarchar(500);
UDTNameVar := [%UDTName];
UDTCodeVar := [%UDTCode];
statement := 'SELECT * FROM "@'|| :UDTNameVar ||'"
WHERE "Code" = ''' || :UDTCodeVar || '''';
EXECUTE IMMEDIATE :statement;
END;
错误: <message>ERROR [S1000] [SAP AG][LIBODBCHDB32 DLL][HDBODBC32] General error;1287 identifier must be declared: 1: line 6 col 27 (at pos 194)</message>
任何人都可以告诉我查询失败的原因吗
答案 0 :(得分:1)
我通过创建过程,然后调用该过程来执行下面给出的查询,从而解决了这个问题。