如何检索 Synapse (Azure SQL DW) 上的视图定义?

Ken*_*ers 6 azure azure-synapse

我是 Synapse (Azure SQL DW) 的新手。目前,DW 有很多视图,我需要修改其中的一些视图。问题是我不知道视图是如何创建的。是否有查询来检查 Synapse 中的视图定义,或更具体地说,是否使用 SELECT 语句来创建视图?

亲切的问候,肯

wBo*_*Bob 9

sp_helptextSynapse 不支持,但您可以使用视图sys.sql_modules及其definition列来获取 SQL 文本。一个简单的示例,在专用 SQL 池中进行测试:

SELECT *
FROM sys.sql_modules
WHERE definition Like '%someColumn%'
Run Code Online (Sandbox Code Playgroud)

主要帮助页面在这里。您还可以使用该函数OBJECT_DEFINITION并向其传递一个object_id,例如

SELECT OBJECT_DEFINITION( object_id ), *
FROM sys.views
WHERE is_ms_shipped = 0;
Run Code Online (Sandbox Code Playgroud)