在 SAP HANA 中动态删除临时 table 时抛出警告

Warning is thrown while dynamically dropping a temporary table in SAP HANA

我可以使用

动态删除临时 table
EXEC 'DROP TABLE '||:schemaname||'.'||:tablename;   

其中 schemaname 和 tablename 是作为过程中的输入获得的。

问题:我收到一条警告,指出

Not recommended feature: DDL statement is used in Dynamic SQL (current dynamic_sql_ddl_error_level = 1)

由于此警告,我在使用此过程时在 C# 中遇到异常。

动态 SQL 不支持 DROP 吗?帮助我从 SAP HANA 处理这个问题,或者至少跳过这个警告,避免在 C#

中被捕获为异常

是的,它受支持,但是您仍然会收到警告,因为在动态 SQL 中使用 DDL 被认为是有问题的。 基本上,您希望避免在 SQL 脚本中进行架构更改。 对于临时表,无论如何都不需要删除它们。

如果有问题,可以通过 TRUNCATE TABLE 轻松释放内存。

另一方面,您的 C# 程序应该学会处理和区分错误和警告。您在此处收到的消息是警告,并不意味着错误。

如果你做不到,那么你仍然可以使用大锤方法解决问题:通过设置 indexserver 参数关闭警告 sqlscript - dynamic_sql_ddl_error_level = 0

这当然推荐,因为您可能会错过其他警告。