You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake如何将VIEW保存至指定Schema而非默认PUBLIC Schema

Snowflake指定Schema创建/移动视图操作方法

你之前创建的视图默认落在PUBLIC schema,是因为执行USE DATABASE PROD_DWH后,会话默认schema为PUBLIC,创建对象时未指定schema就会默认放在当前会话的默认schema下。你可以按照以下两种场景操作:

场景1:还未创建视图,直接指定目标schema创建

创建时写全视图的三级路径(数据库.模式.视图名)即可,修改后的代码如下(已修正你原代码中字段后多余的逗号语法问题):

USE DATABASE PROD_DWH;
CREATE VIEW DBT_USER_MARKT.new AS 
SELECT 
cast(dwh as int) AS dwh_masterclient_id
FROM INGEST.ISSUE;

如果你后续大量操作都在DBT_USER_MARKT schema下,可以先切换默认schema,后续创建对象不需要重复指定schema:

-- 切换到目标数据库和schema
USE SCHEMA PROD_DWH.DBT_USER_MARKT;
-- 此时创建的new视图默认落在DBT_USER_MARKT schema下
CREATE VIEW new AS 
SELECT 
cast(dwh as int) AS dwh_masterclient_id
FROM INGEST.ISSUE;

场景2:已经在PUBLIC schema创建了视图,需要移动到目标schema

使用ALTER VIEW RENAME语法直接跨schema移动视图即可:

ALTER VIEW PROD_DWH.PUBLIC.new RENAME TO PROD_DWH.DBT_USER_MARKT.new;

注意事项

  • 操作前需确认你的账号拥有DBT_USER_MARKT schema的CREATE VIEW权限,移动操作还需要原视图的所有权和目标schema的写入权限
  • 视图移动后,原有引用PROD_DWH.PUBLIC.new的查询/下游对象会失效,需要同步修改引用路径为新的路径
  • 操作完成后可以执行SHOW VIEWS IN SCHEMA PROD_DWH.DBT_USER_MARKT;验证视图是否创建/移动成功

内容的提问来源于stack exchange,提问作者x89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:45:03