【トラブル】【Snowflake】エラー「Transient object cannot be cloned to a permanent object」時の対応

■ はじめに

Snowflakeでトラブルシューティングしたので、メモ。

【1】トラブル概要

以下「実行したSQL」のように
CREATE TABLE ... CLONE でテーブルのバックアップを試みたところ、
以下「【2】エラー内容」が発生した。

実行したSQL

CREATE TABLE demo_db.demo_scheme.backup_table
CLONE demo_db.demo_scheme.source_table;

【2】エラー内容

002120 (0A000): SQL compilation error:
Transient object cannot be cloned to a permanent object

【3】原因

クローン元のテーブル「demo_db.demo_scheme.source_table」が
Transientテーブル(一時テーブル)だったが、
それを、永続テーブルとしてクローンしようとしたため

Transientテーブル(一時テーブル)や永続テーブルに関する詳細は、
以下の関連記事を参照のこと

Snowflake ~ 基本編 / テーブル ~
https://dk521123.hatenablog.com/entry/2022/09/03/012113

【4】解決案

-- "TRANSIENT" を付与
CREATE TRANSIENT TABLE demo_db.demo_scheme.backup_table
CLONE demo_db.demo_scheme.source_table;

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ 基本編 / テーブル ~
https://dk521123.hatenablog.com/entry/2022/09/03/012113
Snowflake ~ 基本編 / ゼロコピークローン ~
https://dk521123.hatenablog.com/entry/2021/11/27/134934
権限トラブル時のTips
https://dk521123.hatenablog.com/entry/2022/08/19/131922
エラー「Failed to cast variant value "" to XXX」時の対応
https://dk521123.hatenablog.com/entry/2021/12/17/102659
エラー「Insufficient privileges to operate」時の対応
https://dk521123.hatenablog.com/entry/2022/08/02/090439
エラー「Table does not exist or not authorized」時の対応
https://dk521123.hatenablog.com/entry/2022/08/18/120935
エラー「Error assuming AWS_ROLE」時の対応
https://dk521123.hatenablog.com/entry/2022/11/25/175912
所有権変更後にエラー「current role has no privileges on it」
https://dk521123.hatenablog.com/entry/2023/04/14/151140
エラー「Ownership restriction violation」時の対応
https://dk521123.hatenablog.com/entry/2023/07/13/000000
COPY INTO したがデータが格納されていない
https://dk521123.hatenablog.com/entry/2022/12/20/152040