在 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
这当然不推荐,因为您可能会错过其他警告。
我可以使用
动态删除临时 tableEXEC '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
这当然不推荐,因为您可能会错过其他警告。