可以在 hana 中编写脚本来创建基于的临时表
在现有表上(无需定义硬编码的列和列类型):
create local temporary table #mytemp (id integer, name varchar(20));
创建具有相同列定义并包含相同数据的临时表?如果是这样..我很高兴得到一些例子
我在互联网上搜索了 2 天,但找不到任何有用的东西
谢谢
可以在 hana 中编写脚本来创建基于的临时表
在现有表上(无需定义硬编码的列和列类型):
create local temporary table #mytemp (id integer, name varchar(20));
创建具有相同列定义并包含相同数据的临时表?如果是这样..我很高兴得到一些例子
我在互联网上搜索了 2 天,但找不到任何有用的东西
谢谢
通过查询 sys.table_columns 视图,您可以获得源表的列表和属性,并构建一个动态的 CREATE 脚本,然后执行创建表。您可以在 HANA 数据库上动态创建表中找到示例案例的 SQL 代码
对于表列读取
select * from sys.table_columns where table_name = 'TABLENAME';
SQLScript 不支持基于动态结构定义创建本地临时表。
问题是:你想用它做什么?而不是本地温度。在大多数情况下,您可以使用表变量。
这应该从括号中的任何查询继承数据类型和所有精确值:
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
较新的 HANA 版本(HANA 2 SPS 04 Patch 5 (Build 4.4.17))支持您的请求:
create local temporary table #tempTableName' like "tableTypeName";
似乎在我拥有的 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
我想你可以写:
create column table #MyTempTable as ( select * from MySourceTable);
BR,