2017-12-18 760 views
0

在SQL控制檯爲什麼我不能在執行SAP HANA此查詢SAP HANA SQL:準備語句

PREPARE stmt1 
FROM select * from (select '12' as a from dummy) t1 
where t1.a = ?; 

錯誤:

Could not execute 'PREPARE stmt1 FROM select * from (select '12' as a from dummy) t1 where t1.a = ?' in 3 ms 339 µs . SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "PREPARE": line 1 col 1 (at pos 1)

我需要準備使用存儲過程中的語句。

回答

1

PREPARE簡直是無效的SQLScript語法。 不確定爲什麼你認爲你必須在存儲過程中使用它。 在SAP HANA存儲過程中,您可以簡單地編寫包含任何變量的SQL語句。 例如

select * from (select '12' as a from dummy) t1 
where t1.a = :variable_name; 

在技術上是有效的 - 即使結果只分配給默認結果集。通常,您將結果分配到這樣的表變量:

x = select * from (select '12' as a from dummy) t1 
where t1.a = :variable_name; 

這一切當然是在SAP HANA documentation for SQLScript解釋。