1

可以在 hana 中编写脚本来创建基于的临时表

在现有表上(无需定义硬编码的列和列类型):

 create local temporary table #mytemp (id integer, name varchar(20));

创建具有相同列定义并包含相同数据的临时表?如果是这样..我很高兴得到一些例子

我在互联网上搜索了 2 天,但找不到任何有用的东西

谢谢

4

6 回答 6

0

通过查询 sys.table_columns 视图,您可以获得源表的列表和属性,并构建一个动态的 CREATE 脚本,然后执行创建表。您可以在 HANA 数据库上动态创建表中找到示例案例的 SQL 代码

对于表列读取

select * from sys.table_columns where table_name = 'TABLENAME';
于 2017-12-22T06:16:29.437 回答
0

SQLScript 不支持基于动态结构定义创建本地临时表。

问题是:你想用它做什么?而不是本地温度。在大多数情况下,您可以使用表变量。

于 2017-11-10T01:18:48.367 回答
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 
于 2020-07-24T16:07:16.487 回答
0

较新的 HANA 版本(HANA 2 SPS 04 Patch 5 (Build 4.4.17))支持您的请求:

create local temporary table #tempTableName' like "tableTypeName";
于 2019-11-20T08:56:58.187 回答
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
于 2019-08-13T02:35:32.770 回答
0

我想你可以写:

create column table #MyTempTable as ( select * from MySourceTable);

BR,

于 2021-03-24T18:53:04.950 回答