如何使用Snowflake的IDENTIFIER函数引用Stage对象
问题
我能用IDENTIFIER()函数查看Stage的信息:
desc stage identifier('db.schema.stage_name');
但想用@符号语法调用这个Stage时一直报错,试了下面几种写法都没用:
list @identifier('db.schema.stage_name'); list identifier('@db.schema.stage_name'); list identifier('db.schema.stage_name'); list identifier(@'db.schema.stage_name'); list identifier("@db.schema.stage_name");
解决方法
在Snowflake里,要把IDENTIFIER()和@结合起来用,正确的写法是把IDENTIFIER()放在@后面的括号里,像这样:
LIST @(IDENTIFIER('db.schema.stage_name'));
这么写Snowflake会先解析IDENTIFIER()里的标识符,再通过@引用对应的Stage,就能正常执行了。
内容的提问来源于stack exchange,提问作者Marco Pérez
相关产品推荐
相关产品推荐

