有什么方法可以吸引创建视图的用户(而不是角色)? 我尝试了desc,show,grants,但无法获得特定用户
答案 0 :(得分:3)
INFORMATION_SCHEMA.QUERY_HISTORY *表函数具有USER_NAME列,您可以在QUERY_TEXT上进行过滤以查找视图的CREATE语句。
这应该起作用,除非使用变量创建了视图。例如:CREATE OR REPLACE VIEW IDENTIIER($MY_VAR)...
,其中MY_VAR
是包含视图名称的变量。
更新
INFORMATION_SCHEMA.QUERY_HISTORY表函数返回过去7天的结果。另请参见ACCOUNT_USAGE.QUERY_HISTORY表函数,该函数将返回过去365天的结果,且间隔为45分钟。
更新2
您还可以使用以下约定:
如果视图是使用脚本或存储过程创建的,则可以自动执行上述操作。
最后,虽然这不是最佳实践,但实际上您可以为每个用户创建一个单独的角色。但是,这会产生大量的管理开销,尤其是在您扩展时,因此不建议这样做。