2015-04-07 1 views
0

Можно ли загружать таблицу из инструкции с помощью хранимой процедуры в HANA? Ничто из того, что я пытаюсь, похоже, работает, и единственное, что работает при создании процедуры, - это просто отображение данных из оператора с помощью select. Ниже я показываю три примера, которые я попытался получить с помощью данных инструкции. В настоящее время по версии HANA 84. Обратите внимание, что создание таблицы предназначено только для примера тестирования.SAP HANA: загрузка таблиц с помощью инструкций хранимых процедур

CREATE PROCEDURE test_proc 
LANGUAGE SQLSCRIPT 
SQL SECURITY INVOKER 
AS 

BEGIN 

create table t1 (cal_day date); 

with w1 as (
    select current_date cal_day from dummy 
    ) 

--works just fine but isn't loading the data into anything 
select * from w1; 

--get indentifier must be declared error 
select cal_day into t1 from w1; 

--get incorrect syntax error  
insert into t1 
    select cay_day from w1; 

END 
+0

Обычно вы не создавали постоянные (не временные) таблицы в хранимой процедуре sql. Сохраненные procs предназначены для доступа к данным, а не для определения данных. – StingyJack

+0

Извините, да, создание таблицы было предназначено для примера тестового примера. В моем сценарии реальной жизни загружаемая таблица уже создана. – Jared

ответ

0

Если вы хотите выполнить инструкции DDL в процедуре SQLScript, для этого вам понадобится динамический SQL (EXEC).

+0

У вас есть пример того, как выполнить одно и то же с динамическим SQL? – Jared

+0

Извините, но, глядя на ваш код и ваши комментарии, он выглядит так, как будто вы не проверяли ссылку на синтаксис. Конечно, вы не можете получить доступ к таблице в статическом контексте (INSERT INTO T1), которого нет при компиляции процедуры. –

 Смежные вопросы

  • Нет связанных вопросов^_^