我已经创建了一个存储过程,其行为是执行作为所有者(我需要所有者的权限)。
我希望得到用户的原始角色,调用它,有任何方法来做吗?不幸的是,正如预期的那样,select current_role()语句返回所有者的角色..。
如果有解决办法,如果你能向我描述一下,我将不胜感激。
按照Mike的建议:在这里,我为测试哈什的解决方案所做的代码:
再次失败^^这是我的代码。也许你会看到我的错误。
create or replace procedure do_noting_proc()
returns string
language javascript
execute as OWNER
AS
$$
v
我试图在PreparedStatement上执行雪花批量更新,但没有成功。我能够执行每个单独的查询(preparedStatement.executeQuery()),这样查询就可以工作了。但是一旦我切换到batchUpdate(),我就会得到一个异常,它似乎没有设置我的变量(在insertEventStatement.executeBatch()抛出)。
net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: error line 1 at position 134
Bind variable ? not
有没有办法检查在snowflake数据库中创建表的用户名。 对于之前在堆栈溢出中的问题,有人建议在下面查询。How to find the user who created a table in Snowflake 但我无法运行查询,显示以下错误 错误: SQL编译错误:共享数据库不再可用。如果发布者使其再次可用,则需要重新创建它。 在通过雪花的一些文档后,我了解到它需要共享访问权限,请让我们知道这个共享访问权限是否可以授予每个最终用户,以找到创建表的用户名?是否建议授权给用户。如果是,如何向用户授予访问权限 或者有没有其他方法来获取这些信息。 问候你,斯里尼瓦斯