可以在hana中编写脚本来创建基于
的临时表在现有表上(无需定义硬编码的列和列类型):
create local temporary table #mytemp (id integer, name varchar(20));
创建具有相同列定义的临时表并包含 相同的数据?如果是这样..我很高兴得到一些例子
我在互联网上搜索了2天,我找不到任何有用的东西
感谢
答案 0 :(得分:0)
SQLScript不支持基于动态结构定义创建本地临时表。
问题是:你想用它做什么? 而不是当地的温度。在大多数情况下,您可以使用表变量。
答案 1 :(得分:0)
通过查询sys.table_columns视图,您可以获取源表的列表和属性,然后构建动态CREATE脚本,然后执行以创建表。 您可以在Create Table Dynamically on HANA Database
找到示例案例的SQL代码对于表格列,请阅读
DT
答案 2 :(得分:0)
似乎可以在我使用的hana版本中使用。我不确定如何找出版本。
PROCEDURE "xxx.yyy.zzz::MY_TEST"(
OUT "OUT_COL" NVARCHAR(200)
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
create LOCAL TEMPORARY TABLE #LOCALTEMPTABLE
as
(
SELECT distinct 'Cola' as out_col
FROM "SYNONYMS1"
);
select * from #LOCALTEMPTABLE ;
DROP TABLE #LOCALTEMPTABLE;
END
答案 3 :(得分:0)
较新的HANA版本(HANA 2 SPS 04补丁5(内部版本4.4.17))支持您的请求:
create local temporary table #tempTableName' like "tableTypeName";
答案 4 :(得分:0)
这应该继承括号中任何查询的数据类型和所有精确值:
CREATE LOCAL COLUMN TEMPORARY TABLE #mytemp AS (
SELECT
"COLUMN1",
"COLUMN2",
"COLUMN3"
FROM MyTable
);
-- Now you can add the rest of your query here as such:
SELECT * FROM #mytemp
答案 5 :(得分:0)
我想你可以写:
create column table #MyTempTable as ( select * from MySourceTable);
BR,