Я могу уронить временную таблицу динамически с помощьюПредупреждение брошено в то время как динамически снижается временную таблицу в SAP HANA
EXEC 'DROP TABLE '||:schemaname||'.'||:tablename;
где SchemaName и имя_таблицы получаются в качестве входных данных в порядке.
Проблема: Я получаю предупреждение о
Not recommended feature: DDL statement is used in Dynamic SQL (current dynamic_sql_ddl_error_level = 1)
В связи с этим предупреждением, я получаю исключение в C#, когда я использую эту процедуру.
Не поддерживается ли DROP в динамическом SQL? Помогите мне справиться с этим либо из SAP HANA, либо, по крайней мере, пропустите это предупреждение из-за исключения в C#
Спасибо за ответ @Lars Br. Я не могу использовать TRUNCATE, потому что у меня есть инструкция create temp table в процедуре. IF EXISTS недоступен в SAP HANA. Поэтому я ранее использовал обработку исключений. Теперь я пробую другие возможности проверить и отбросить временную таблицу, если она уже существует. Итак, я вызываю процедуру table_exists_check с именем таблицы в качестве параметра и внутри этой процедуры, я динамически отбрасываю таблицу, используя команду EXEC. Поэтому здесь я хочу только DROP и НЕ TRUNCATE. Есть ли другие способы сбросить временную таблицу, отличную от команды EXEC? –
Ну, вы можете подумать об удалении таблицы temp create и просто определить глобальную таблицу temp. Это экономит вас на отдыхе таблицы каждый раз, когда вы запускаете процедуру. Данные в нем исчезнут после завершения сеанса. В качестве альтернативы вы можете использовать локальную таблицу временного сеанса сеанса - это автоматически исчезает после завершения сеанса. –