ALTER SHARE¶
修改现有 :doc:` 共享 </user-guide/data-sharing-intro>` 的属性:
在账户列表中添加或移除账户。
设置与之共享相应共享数据库的新账户列表。
修改其他属性。有关参数的详细信息,请参阅 参数。
语法¶
ALTER SHARE [ IF EXISTS ] <name> { ADD | REMOVE } ACCOUNTS = <consumer_account> [ , <consumer_account> , ... ]
[ SHARE_RESTRICTIONS = { TRUE | FALSE } ]
ALTER SHARE [ IF EXISTS ] <name> ADD ACCOUNTS = <consumer_account> [ , <consumer_account> , ... ]
[ SHARE_RESTRICTIONS = { TRUE | FALSE } ]
ALTER SHARE [ IF EXISTS ] <name> SET { [ ACCOUNTS = <consumer_account> [ , <consumer_account> ... ] ]
[ COMMENT = '<string_literal>' ] }
ALTER SHARE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER SHARE <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER SHARE [ IF EXISTS ] <name> UNSET COMMENT
参数¶
name
为要更改的共享指定标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
ADD | REMOVE ACCOUNTS = consumer_account [ , consumer_account , ... ]
指定要在共享的账户列表中添加或移除的账户名称:
将账户添加到列表中已有的共享时没有任何效果。
移除已导入共享数据库的账户会立即撤消账户对数据库的访问权限。如果账户随后添加回共享,则账户必须重新创建数据库,才能再次使用该数据库。
从共享账户列表中未包含的共享中移除账户时没有效果。
此参数会添加到共享的现有账户列表(或从中移除)。如果您要替换整个账户列表,请改用
SET
。SHARE_RESTRICTIONS = { TRUE | FALSE }
FALSE
:Standard 或 Enterprise 使用者账户可以添加到属于业务关键提供商账户的共享。TRUE
:Standard 或 Enterprise 使用者账户不能添加到属于业务关键提供商账户的共享。- 默认值:
TRUE
重要
每次将新的非业务关键使用者账户添加到属于业务关键提供商的共享时,都必须设置该参数。有关更多信息,请参阅 启用从业务关键账户到非业务关键账户的共享。
SET...
UNSET ...
为共享指定一个或多个要取消设置的属性/参数,这会将它们重置回默认值:
TAG tag_name [ , tag_name ... ]
COMMENT
使用说明¶
要更改共享,需要下面其中一项权限:
向创建共享的角色授予的 OWNERSHIP 权限。
CREATE SHARE 权限。默认情况下,只有 ACCOUNTADMIN 具有 CREATE SHARE 权限。ACCOUNTADMIN 可以向任何其他角色授予权限。共享的所有者无法授予此权限。
关键字
ACCOUNT
和ACCOUNTS
均受支持,可以互换使用。关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
将两个账户添加到名为 sales_s
的现有共享:
ALTER SHARE sales_s ADD ACCOUNTS=<orgname.accountname1>,<orgname.accountname2>; +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+Copy
从 sales_s
中移除账户 <orgname.accountname>;
:
ALTER SHARE sales_s REMOVE ACCOUNT=<orgname.accountname>; +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+Copy
为 sales_s
设置新注释:
ALTER SHARE sales_s SET COMMENT='This share contains sales data for 2017'; +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+Copy