在Azure Synapse DW中获取临时表的列名

问题描述

This question提供了在sql Server中执行此操作的规范方法,但在Azure Synapse中不起作用。

因为它是一个临时表,所以我无法查看informatION_SCHEMA,也无法像通常那样查询tempdbtempdb.columns

我想要一个查询,该查询stack产生列#test

IF OBJECT_ID('tempdb..#test') IS NOT NULL
BEGIN
    DROP TABLE #test
END;

CREATE TABLE #test
WITH (disTRIBUTION=ROUND_ROBIN,HEAP)
AS (
SELECT 'overflow' as stack
);

SELECT * FROM #test

解决方法

不能,抱歉。

唯一可行的“解决方案”是CTAS在tempdb外部的表上一行,然后从sys.columns或information_schema检查其列。