首页 > 解决方案 > 创建模式,但用于模式列表

问题描述

为用户名列表创建多个模式的最佳编程选项是什么?

我想这样做是为了方便,所以当用户登录到雪花时,他们会准备好他们的环境。用户通过 scim proto 同步,因此我可以从分配给他们的组中获取列表。

谢谢!

标签: snowflake-cloud-data-platformddl

解决方案


例如,可以使用以下方法生成脚本: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;

相关:标识符要求


推荐阅读