Как создать DDL для всех пользователей в учетной записи Snowflake? - PullRequest
1 голос
/ 25 января 2020

Есть ли способ получить DDL для всех пользователей в учетной записи Snowflake?

Я вижу, что на следующем URL-адресе указано, что в настоящее время get_ddl поддерживает около 10 элементов:

https://docs.snowflake.net/manuals/sql-reference/functions/get_ddl.html

Если там ничего нет, тогда я буду использовать традиционную конкатенацию данных и строк для генерации таких команд, как select 'create user' || имя пользователя || ... из ...

Пожалуйста, дайте мне знать.

Спасибо, Джитц

Ответы [ 3 ]

0 голосов
/ 25 января 2020

Как объяснила Сьюзи, в данный момент нет такой опции, которая изначально существует. Поэтому лучше всего придерживаться подхода, который вы обрисовали в общих чертах:

  • сделать показывать пользователей в аккаунте
  • циклически проходить через что-то вроде: table (result_scan (last_query_id ()) )
0 голосов
/ 26 января 2020

Если вы собираетесь использовать традиционный метод конкатенации, я написал хранимую процедуру для автоматизации запуска всех результирующих строк из этого подхода. Вы можете найти его здесь:

Как отбрасывать временные таблицы, созданные в снежинке

Вы можете указать свой выбор как единственный параметр ...

выберите «создать пользователя» || имя пользователя || ... from ...

Убедитесь, что столбец называется "SQL_COMMAND", а хранимая процедура по приведенной выше ссылке будет запускать все результирующие операторы SQL по одному.

0 голосов
/ 25 января 2020

В настоящее время я не верю, что для этого есть встроенная функциональность Snowflake. Сценарий, как вы упомянули, подойдет для удовлетворения потребностей.

На странице "Идеи" есть запрос на функцию "Развернуть GET_DDL", который вы можете добавить (и добавить комментарий, который особенно интересует пользователей): https://community.snowflake.com/s/ideas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...