出于这个问题的目的,假设有一个表架构 foo.bar.baz
我们使用以下样板创建了一个游标对象
import snowflake.connector
ctx = snowflake.connector.connect(...)
cur = ctx.cursor()
使用该游标对象,我们可以将整个点分隔模式放入查询中,如下所示:
cur.execute('''
select * from foo.bar.baz
'''
)
并且没有问题,但我们无法做到:
cur.execute('''
select * from %(tbl)s
''', {'tbl': 'foo.bar.baz'}
)
这样做会引发此类错误: ProgrammingError: 001011 (42601): SQL compilation error: invalid URL prefix found in: foo.bar.baz
我猜这是因为点是 sql 标识符而不是字符串,但我在雪花文档中没有看到任何解决方法。有谁知道如何在无需更改连接对象的情况下完成此操作。
使用表格:
在FROM子句,语法表({string_literal | session_variable | BIND_VARIABLE})可以使用
select * from TABLE(%(tbl)s)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句