- 类别:
上下文函数 (通用)
SYS_CONTEXT¶
返回关于调用该函数的上下文信息。
- 另请参阅:
SYS_CONTEXT(SNOWFLAKE$APPLICATION 命名空间)、SYS_CONTEXT(SNOWFLAKE$ENVIRONMENT 命名空间)、SYS_CONTEXT(SNOWFLAKE$ORGANIZATION 命名空间)、SYS_CONTEXT(SNOWFLAKE$ORGANIZATION_SESSION 命名空间)、SYS_CONTEXT(SNOWFLAKE$SESSION 命名空间)
语法¶
用来检索属性的语法:
SYS_CONTEXT(
'<namespace>' ,
'<property>'
)
用来调用函数的语法:
SYS_CONTEXT(
'<namespace>' ,
'<function>' , '<argument>' [ , ... ]
)
实参¶
'namespace'您要检索的属性或要调用的函数的命名空间。您可以指定以下命名空间之一:
命名空间
描述
提供调用该函数的应用程序相关上下文的属性和函数。
提供调用该函数的环境相关上下文的属性。这些属性包括关于以下内容的信息:
用于调用该函数的客户端、驱动程序或库。
与调用该函数的会话关联的账户。
该账户的区域。
提供当前组织相关上下文的函数。
在当前账户属于某个组织时,提供调用该函数的会话相关上下文的属性。
提供调用该函数的会话相关上下文的属性和函数。
'property'要检索的属性的名称。您可以指定的属性取决于命名空间。有关可指定属性的列表,请参阅 命名空间 <label-sys_context_namespace_list> 的文档。
'function'要调用的函数的名称。您可以调用的函数取决于命名空间。请参阅 命名空间 <label-sys_context_namespace_list> 的文档 查看可以调用的函数列表。
'argument' [ , ... ]要传递给要调用的函数的实参。
返回¶
该函数会返回一个 VARCHAR 或 NULL 值。
返回值取决于要检索的属性或要调用的函数。
有关该命名空间中函数的属性和返回值的信息,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档。
在以下情况下,该函数返回 NULL:
无法从函数调用的上下文中访问该命名空间。例如,如果您在应用程序代码之外调用函数,尝试访问 SNOWFLAKE$APPLICATION 命名空间中的属性将返回 NULL。
属性的值或函数调用的返回值为 NULL 或不存在。
一些属性和函数将布尔值作为字符串 TRUE 或 FALSE 返回。要将此返回值与 BOOLEAN 值 TRUE 或 FALSE 进行比较,请将返回值 转换 为 BOOLEAN。例如:
SELECT SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE;
+-----------------------------------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE |
|-----------------------------------------------------------------------------------------|
| True |
+-----------------------------------------------------------------------------------------+
访问控制要求¶
有关该命名空间中属性和函数的访问控制要求的信息,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档。
使用说明¶
有关该命名空间中属性和函数的使用说明,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档。
示例¶
有关检索该命名空间中的属性和调用函数的示例,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档。