【发布时间】:2021-12-05 18:15:32
【问题描述】:
为用户名列表创建多个模式的最佳编程选项是什么?
我想这样做是为了方便,所以当用户登录到雪花时,他们将准备好他们的环境。用户通过 scim proto 同步,因此我可以从分配给他们的组中获取列表。
谢谢!
【问题讨论】:
标签: snowflake-cloud-data-platform ddl
为用户名列表创建多个模式的最佳编程选项是什么?
我想这样做是为了方便,所以当用户登录到雪花时,他们将准备好他们的环境。用户通过 scim proto 同步,因此我可以从分配给他们的组中获取列表。
谢谢!
【问题讨论】:
标签: snowflake-cloud-data-platform ddl
例如,可以使用以下命令生成脚本:ACCOUNT_USAGE.USERS:
USE ROLE ACCOUNTADMIN;
WITH schema_cte AS (
SELECT
REPLACE('CREATE SCHEMA IF NOT EXISTS <name> /*CLONE <source schema>*/;'||CHAR(13)
, '<name>', DISPLAY_NAME) AS create_schema_line
FROM SNOWFLAKE.ACCOUNT_USAGE.USERS
-- WHERE additional_condition_here
)
SELECT
'USE ROLE <role_name_here>;' || CHAR(13) ||
'USE DATABASE <database_name_here>;' || CHAR(13) ||
LISTAGG(create_schema_line) WITHIN GROUP(ORDER BY create_schema_line) AS script
FROM schema_cte;
【讨论】:
EXECUTE IMMEDIATE (<generated code here>) 会更加直接