CREATE DATABASE¶
システムに新しいデータベースを作成します。
このコマンドは次のバリアントをサポートしています。
CREATE OR ALTER DATABASE: データベースが存在しない場合はデータベースを作成するか、既存のデータベースを変更します。
CREATE DATABASE ... CLONE: 既存のデータベースのクローンを、現在の状態で、または過去の特定の時刻/時点で作成します(Time Travelを使用)。データベースのクローン作成の詳細については、 クローニングに関する考慮事項 をご参照ください。
さらに、このコマンドは次の目的にも使用できます。
指定されたリストからデータベースを作成します。 リストとの共有について をご参照ください。
別のSnowflakeアカウントが提供する共有からデータベースを作成します。共有の詳細については、 Secure Data Sharingについて をご参照ください。
既存のプライマリデータベース(つまり、セカンダリデータベース)のレプリカを作成します。データベース複製の詳細については、 複数のアカウントにわたるデータベース複製の概要 をご参照ください。
Tip
SQL 以外にも、 Snowflake REST APIs、 Snowflake Python APIs、 Snowflake CLI などのインターフェイスを使うことができます。 代替インターフェイス をご参照ください。
- こちらもご参照ください。
ALTER DATABASE、 DESCRIBE DATABASE、 DROP DATABASE、 SHOW DATABASES、 UNDROP DATABASE
DESCRIBE SHARE , SHOW SHARES, CREATE LISTING, CREATE OR ALTER <オブジェクト>
構文¶
標準データベース
CREATE [ OR REPLACE ] [ TRANSIENT ] DATABASE [ IF NOT EXISTS ] <name>
[ CLONE <source_schema>
[ { AT | BEFORE } ( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> | STATEMENT => <id> } ) ]
[ IGNORE TABLES WITH INSUFFICIENT DATA RETENTION ]
[ IGNORE HYBRID TABLES ] ]
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
[ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
[ EXTERNAL_VOLUME = <external_volume_name> ]
[ CATALOG = <catalog_integration_name> ]
[ REPLACE_INVALID_CHARACTERS = { TRUE | FALSE } ]
[ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
[ STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED } ]
[ COMMENT = '<string_literal>' ]
[ CATALOG_SYNC = '<snowflake_open_catalog_integration_name>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
標準的なデータベース(リストより)
CREATE DATABASE <name> FROM LISTING '<listing_global_name>'
共有データベース(共有から)
CREATE DATABASE <name> FROM SHARE <provider_account>.<share_name>
セカンダリデータベース(データベース複製)
CREATE DATABASE <name>
AS REPLICA OF <account_identifier>.<primary_db_name>
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
バリアント構文¶
CREATE OR ALTER DATABASE¶
データベースがまだ存在しない場合は新規に作成し、存在する場合は既存のデータベースをステートメントで定義されたデータベースに変換します。CREATE OR ALTER DATABASE ステートメントは、 CREATE DATABASE ステートメントの構文ルールに従い、このステートメントには ALTER DATABASE ステートメントと同じ制限があります。
以下の変更がサポートされています。
以下のデータベースのプロパティとパラメーターの変更。
詳細については、 CREATE OR ALTER DATABASE の使用上の注意 をご参照ください。
CREATE OR ALTER [ TRANSIENT ] DATABASE <name>
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
[ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
[ EXTERNAL_VOLUME = <external_volume_name> ]
[ CATALOG = <catalog_integration_name> ]
[ REPLACE_INVALID_CHARACTERS = { TRUE | FALSE } ]
[ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
[ LOG_LEVEL = '<log_level>' ]
[ TRACE_LEVEL = '<trace_level>' ]
[ STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED } ]
[ COMMENT = '<string_literal>' ]
CREATE DATABASE ... CLONE¶
同じパラメーター値で新しいデータベースを作成します。
CREATE [ OR REPLACE ] DATABASE [ IF NOT EXISTS ] <name> CLONE <source_database> [ ... ]
詳細については、 CREATE <オブジェクト> ... CLONE をご参照ください。
必須パラメーター¶
name
データベースの識別子を指定します。アカウントに対して一意である必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
重要
データベースの複製とフェールオーバー のベストプラクティスとして、各セカンダリデータベースにプライマリデータベースと同じ名前を付けることをお勧めします。この方法では、ビュー内の完全修飾テーブル名のクエリなど、同じデータベース内の他のオブジェクトによる完全修飾オブジェクト(つまり、
'<データベース>.<スキーマ>.<オブジェクト>'
)の参照をサポートします。セカンダリデータベースの名前がプライマリデータベースと異なる場合、これらのオブジェクト参照はセカンダリデータベースで壊れます。
Secure Data Sharingパラメーター¶
provider_account.share_name
データベースを作成する 共有 の識別子を指定します。文書化されているように、共有の名前は、共有を提供するアカウントの名前で完全に修飾されている必要があります。
データベース複製のパラメーター¶
重要
このセクションでは、 アカウント複製機能 とは異なる、限定的なデータベース複製機能について説明します。Snowflakeは、データベースの複製とフェールオーバーにアカウント複製機能を使用することを強く推奨します。
AS REPLICA OF account_identifier.primary_db_name
レプリカ(つまり、セカンダリデータベース)を作成するプライマリデータベースの識別子を指定します。識別子にスペース、特殊文字、または大文字と小文字が混在する場合は、文字列全体を二重引用符で囲む必要があります。
プライマリデータベースのアカウント識別子と名前が必要です。
account_identifier
プライマリデータベースを格納するアカウントの一意の識別子。優先識別子は
organization_name.account_name
です。組織で複製が有効になっているアカウントのリストを表示するには、 SHOW REPLICATION ACCOUNTS をクエリします。従来のアカウントロケーターもアカウント識別子として使用できますが、将来的に機能しなくなる可能性があるため、使用しないことをお勧めします。アカウントロケーターをアカウント識別子として使用する方法の詳細については、 データベース複製の使用上の注意 をご参照ください。
primary_db_name
プライマリデータベースの名前。ベストプラクティスとして、各セカンダリデータベースにプライマリデータベースと同じ名前を付けることをお勧めします。
注釈
データベース複製とフェールオーバーのベストプラクティスとして、オプションのパラメーター DATA_RETENTION_TIME_IN_DAYS をセカンダリデータベースとプライマリデータベースで同じ値に設定することをお勧めします。
リスト パラメーター¶
'listing_global_name'
データベースを作成するリストのグローバル名を指定します。それは以下の要件を満たしている必要があります。
マネタイズされたリストではありません。
リスト用語は、
OFFLINE
型でない場合、 Snowsight を使用して受け入れられる必要があります。リストデータ製品は、現在の地域で入手可能である必要があります。
リスティングがローカル地域で利用可能かどうかは、 DESCRIBE AVAILABLE LISTING の
is_ready_for_import
列を見ることで判断できます。
リストからデータベースを作成するには、 IMPORT LISTING 権限が必要です。共有からデータベースを作成するには、 IMPORT SHARE 権限が必要です。
オプションのパラメーター¶
TRANSIENT
データベースを一時として指定します。一時的なデータベースにはFail-safe期間がないため、Time Travelを離れると追加のストレージコストは発生しません。ただし、これは、データが失われた場合にもFail-safeで保護されないことを意味します。詳細については、 Fail-safeの理解と表示 をご参照ください。
さらに、定義上、一時データベースで作成されたすべてのスキーマ(および結果としてすべてのテーブル)は一時的です。一時テーブルの詳細については、 CREATE TABLE をご参照ください。
デフォルト:値なし(つまり、データベースは永続的)
CLONE source_db
指定したソースデータベースのクローンを作成することを指定します。データベースのクローン作成の詳細については、 CREATE <オブジェクト> ... CLONE をご参照ください。
AT | BEFORE ( TIMESTAMP => timestamp | OFFSET => time_difference | STATEMENT => id )
データベースのクローンを作成するとき、 AT | BEFORE 句は、Time Travelを使用して、過去の特定の時点またはそれ以前のデータベースをクローンすることを指定します。指定されたTime Travel時間がデータベースが作成された時点またはそれ以前の場合、クローン作成操作はエラーで失敗します。
IGNORE TABLES WITH INSUFFICIENT DATA RETENTION
Time Travelでクローンに利用可能な履歴データがなくなったテーブルを無視します。AT | BEFORE 句で指定された過去の時間が、データベースまたはスキーマ内の子テーブルのデータ保持期間を超えている場合は、子テーブルのクローン作成操作をスキップします。詳細については、 子オブジェクトとデータ保持時間 をご参照ください。
IGNORE HYBRID TABLES
無視されたハイブリッド・テーブルはクローンされません。ハイブリッド・テーブルを含むデータベースをクローンするには、このオプションを使用します。クローンされたデータベースは他のオブジェクトを含みますが、ハイブリッド・テーブルはスキップします。
このオプションを使用せず、データベースに1つ以上のハイブリッド・テーブルが含まれている場合、コマンドはハイブリッド・テーブルを無言で無視します。しかし、ハイブリッド・テーブルを含むデータベースのエラー処理は今後のリリースで変更される予定です。したがって、このパラメーターを先制的にコマンドに追加することもできます。
DATA_RETENTION_TIME_IN_DAYS = integer
データベースでTime Travelアクション(CLONE および UNDROP)を実行できる日数を指定し、さらにデータベースで作成されたすべてのスキーマのデフォルトのTime Travel保持時間を指定します。詳細については、 Time Travelの理解と使用 をご参照ください。
このオブジェクトレベルパラメーターの詳細な説明、およびオブジェクトパラメーターの詳細については、 パラメーター をご参照ください。
値:
Standard Edition:
0
または1
Enterprise Edition:
永続データベースの場合は
0
~90
一時データベースの場合は
0
または1
デフォルト:
Standard Edition:
1
Enterprise Edition(またはそれ以上):
1
(アカウントレベルで別のデフォルト値が指定されていない場合)
注釈
0
の値は、データベースのTime Travelを効果的に無効にします。MAX_DATA_EXTENSION_TIME_IN_DAYS = integer
Snowflakeがデータベース内のテーブルのデータ保持期間を延長して、テーブル上のストリームが古くなるのを防ぐことができる最大日数を指定するオブジェクトパラメーター。
このパラメーターの詳細については、 MAX_DATA_EXTENSION_TIME_IN_DAYS をご参照ください。
EXTERNAL_VOLUME = external_volume_name
Apache Iceberg™ テーブル に使用するデフォルト外部ボリュームを指定するオブジェクトパラメーター。
このパラメーターの詳細については、 EXTERNAL_VOLUME をご参照ください。
CATALOG = catalog_integration_name
Apache Iceberg™ テーブル に使用するデフォルトのカタログ統合を指定するオブジェクトパラメーター。
このパラメーターの詳細については、 CATALOG をご参照ください。
REPLACE_INVALID_CHARACTERS = { TRUE | FALSE }
Icebergテーブル のクエリ結果で、無効な UTF -8文字をUnicode置換文字(�)で置き換えるかどうかを指定します。このパラメーターを設定できるのは、外部Icebergカタログを使用するテーブルのみです。
TRUE
の場合は、無効な UTF -8文字がUnicode置換文字に置き換えられます。FALSE
の場合は、無効な UTF -8 文字は変更されません。Parquetデータファイルで無効な UTF -8 文字が検出された場合、Snowflakeはユーザーエラーメッセージを返します。
デフォルト:
FALSE
DEFAULT_DDL_COLLATION = 'collation_specification'
データベースに追加されたすべてのスキーマとテーブルのデフォルトの 照合仕様 を指定します。デフォルトは、スキーマおよび個々のテーブルレベルで上書きできます。
パラメーターの詳細については、 DEFAULT_DDL_COLLATION をご参照ください。
LOG_LEVEL = 'log_level'
インジェストされ、アクティブなイベントテーブルで使用できるようにするメッセージの重大度レベルを指定します。指定されたレベル(およびそれよりも重大なレベル)のメッセージがインジェストされます。
レベルの詳細については、 LOG_LEVEL をご参照ください。ログレベルの設定については、 ロギング、メトリクス、トレースのレベル設定 をご参照ください。
TRACE_LEVEL = 'trace_level'
トレースイベントがイベントテーブルにインジェストされる方法を制御します。
レベルの詳細については、 TRACE_LEVEL をご参照ください。トレースレベルの設定については、 ロギング、メトリクス、トレースのレベル設定 をご参照ください。
STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED }
カタログとしてSnowflakeを使用する Apache Iceberg™ テーブル のストレージシリアル化ポリシーを指定します。
COMPATIBLE
: Snowflakeはデータファイルのエンコードと圧縮を実行し、サードパーティのコンピューティングエンジンとの相互運用性を確保します。OPTIMIZED
: Snowflakeはデータファイルのエンコードと圧縮を実行し、Snowflake内で最高のテーブルパフォーマンスを実現します。
デフォルト:
OPTIMIZED
COMMENT = 'string_literal'
データベースのコメントを指定します。
デフォルト: 値なし
CATALOG_SYNC = 'snowflake_open_catalog_integration_name'
Snowflake Open Catalog 用に構成されたカタログ統合の名前を指定します。指定すると、Snowflakeはデータベース内のSnowflake管理の Apache Iceberg™ テーブルを Snowflake Open Catalog アカウントの外部カタログと同期します。Snowflake管理のIcebergテーブルとOpen Catalogの同期に関する情報については、 Snowflakeで管理されたテーブルを Snowflake Open Catalog と同期する をご参照ください。
このパラメーターの詳細については、 CATALOG_SYNC をご参照ください。
デフォルト: 値なし
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントでのタグの指定に関する情報については、 オブジェクトおよび列のタグクォータ をご参照ください。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE DATABASE |
アカウント |
新しいデータベースを作成するために必要です。 Only the SYSADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
USAGE |
外部ボリューム、カタログ統合 |
|
IMPORT LISTING |
アカウント |
リストからデータベースを作成します。 |
IMPORT SHARE |
アカウント |
共有からデータベースを作成します。 |
MODIFY LOG LEVEL |
アカウント |
データベースの LOG_LEVEL を設定するために必要です。 |
MODIFY TRACE LEVEL |
アカウント |
データベースの TRACE_LEVEL を設定するために必要です。 |
OWNERSHIP |
データベース |
既存のデータベースに対して CREATE OR ALTER DATABASE ステートメントを実行する場合にのみ必要です。 OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
一般的な使用上の注意¶
データベースを作成すると、現在のセッション用にアクティブ/現在のデータベースとして自動的に設定されます(データベースに対して USE DATABASE コマンドを使用するのと同等)。
同じ名前のデータベースが既に存在する場合、エラーが返され、コマンドでオプションの
OR REPLACE
キーワードが指定されていない限り、データベースは作成されません。重要
OR REPLACE
の使用は、既存のデータベースで DROP DATABASE を使用してから、同じ名前で新しいデータベースを作成することと同等です。ただし、ドロップされたデータベースは、システムから完全には削除 されません 。代わりに、Time Travel内で保持されます。Time Travelでドロップされたデータベースはアカウントのデータストレージに寄与するため、これは重要です。詳細については、 Time TravelおよびFail-safeのストレージコスト をご参照ください。CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
新しいデータベースを作成すると、データベースに2つのスキーマが自動的に作成されます。
PUBLIC: データベースのデフォルトのスキーマ。
INFORMATION_SCHEMA: データベース内のオブジェクトに関するメタデータのクエリに使用できるビューとテーブル関数を含むスキーマ。アカウント内のすべてのオブジェクトにわたって使用できます。
共有から作成されたデータベースは、次の点で標準データベースと異なります。
これらのスキーマが共有に明示的に付与されていない限り、PUBLIC または INFORMATION_SCHEMA スキーマはありません。
それらは複製できません。
TRANSIENT
やDATA_RETENTION_TIME_IN_DAYS
などのプロパティは適用されません。
データベースがアクティブ/現在の場合は、別のスキーマを使用するか、PUBLIC スキーマをドロップする場合を除き、PUBLIC スキーマもデフォルトでアクティブ/現在になります。
メタデータについて。
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
CREATE OR ALTER DATABASE の使用上の注意¶
ALTER DATABASE コマンドのすべての制限が適用されます。
このコマンドは、 CREATE DATABASE と ALTER DATABASE コマンドの間で重複するプロパティと構文をサポートしています。このため、以下はサポートして いません。
SWAP WITH パラメーターを使用したデータベースの入れ替え。
RENAME TO パラメーターを使用したデータベースの名前変更。
CLONE パラメーターを使用したデータベースのクローン作成。
タグやポリシーの追加や変更。既存のタグとポリシーは保持されます。
TRANSIENT データベースの非 TRANSIENT データベースへの変換、またはその逆。
CREATE OR ALTER DATABASE ... FROM SHARE を使用した、共有からのデータベース作成。
CREATE OR ALTER DATABASE ... AS REPLICA OF を使用した、セカンダリ(レプリカ)データベースの作成。
データベース複製の使用上の注意¶
重要
このセクションでは、 アカウント複製機能 とは異なる、限定的なデータベース複製機能について説明します。Snowflakeは、データベースの複製とフェールオーバーにアカウント複製機能を使用することを強く推奨します。
データベースの複製では、独自の仮想ウェアハウスではなく、Snowflakeが提供する計算リソースを使用してオブジェクトとデータをコピーします。ただし、 STATEMENT_TIMEOUT_IN_SECONDS セッション/オブジェクトパラメーターは、ステートメントがキャンセルされるまでの実行時間を制御します。デフォルト値は
172800
(2日)です。プライマリデータベースの 初期複製 の完了には2日以上かかる場合があるため(データベースのメタデータの量とデータベースオブジェクトのデータの量に応じて異なります)、複製操作を実行するセッションの STATEMENT_TIMEOUT_IN_SECONDS 値を604800
(最大値の7日)に増やします。同じセッションで
ALTER DATABASE secondary_db_name REFRESH
ステートメントを実行する前に、次の ALTER SESSION ステートメントを実行します。ALTER SESSION SET STATEMENT_TIMEOUT_IN_SECONDS = 604800;
STATEMENT_TIMEOUT_IN_SECONDS パラメーターは、セッション内のアクティブなウェアハウスにも適用されることに注意してください。このパラメーターは、セッションレベルまたはウェアハウスレベルで設定された 低い 値を優先します。現在のセッションでアクティブなウェアハウスがある場合は、このウェアハウスの STATEMENT_TIMEOUT_IN_SECONDS も
604800
に設定します(ALTER WAREHOUSE を使用)。例:
-- determine the active warehouse in the current session (if any) SELECT CURRENT_WAREHOUSE(); +---------------------+ | CURRENT_WAREHOUSE() | |---------------------| | MY_WH | +---------------------+ -- change the STATEMENT_TIMEOUT_IN_SECONDS value for the active warehouse ALTER WAREHOUSE my_wh SET STATEMENT_TIMEOUT_IN_SECONDS = 604800;
複製操作が完了した後、パラメーター値をデフォルトにリセットできます。
ALTER WAREHOUSE my_wh UNSET STATEMENT_TIMEOUT_IN_SECONDS;
プライマリデータベースを格納するアカウントを識別する方法としては、組織名とアカウント名をアカウント識別子として使用することがお勧めです。代わりにレガシーアカウントロケーターを使用する場合は、 複製およびフェールオーバーのアカウント識別子 をご参照ください。
CREATE DATABASE ... AS REPLICA コマンドは、 WITH TAG 句をサポートしていません。
セカンダリデータベースは読み取り専用であるため、この句はサポートされません。プライマリデータベースが WITH TAG 句を指定している場合は、セカンダリデータベースを作成する前に句を削除します。データベースに WITH TAG 句があるかどうかを確認するには、Snowflakeアカウントで GET_DDL 関数を呼び出し、関数の引数にプライマリデータベースを指定します。データベースにタグが設定されている場合、関数の出力には ALTER DATABASE ... SET TAG ステートメントが含まれます。
詳細については、 複製とタグ をご参照ください。
例¶
データ保持期間が10日である2つの永続的なデータベースを作成します。
CREATE DATABASE mytestdb;
CREATE DATABASE mytestdb2 DATA_RETENTION_TIME_IN_DAYS = 10;
SHOW DATABASES LIKE 'my%';
+---------------------------------+------------+------------+------------+--------+----------+---------+---------+----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time |
|---------------------------------+------------+------------+------------+--------+----------+---------+---------+----------------|
| Tue, 17 Mar 2016 16:57:04 -0700 | MYTESTDB | N | N | | PUBLIC | | | 1 |
| Tue, 17 Mar 2016 17:06:32 -0700 | MYTESTDB2 | N | N | | PUBLIC | | | 10 |
+---------------------------------+------------+------------+------------+--------+----------+---------+---------+----------------+
一時データベースを作成します。
CREATE TRANSIENT DATABASE mytransientdb;
SHOW DATABASES LIKE 'my%';
+---------------------------------+---------------+------------+------------+--------+----------+---------+-----------+----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time |
|---------------------------------+---------------+------------+------------+--------+----------+---------+-----------+----------------|
| Tue, 17 Mar 2016 16:57:04 -0700 | MYTESTDB | N | N | | PUBLIC | | | 1 |
| Tue, 17 Mar 2016 17:06:32 -0700 | MYTESTDB2 | N | N | | PUBLIC | | | 10 |
| Tue, 17 Mar 2015 17:07:51 -0700 | MYTRANSIENTDB | N | N | | PUBLIC | | TRANSIENT | 1 |
+---------------------------------+---------------+------------+------------+--------+----------+---------+-----------+----------------+
アカウント ab67890
が提供する共有からデータベースを作成します。
CREATE DATABASE snow_sales FROM SHARE ab67890.sales_s;
共有からデータベースを作成する詳細な例については、 インポートされたデータの消費 をご参照ください。
データベース複製の例¶
重要
このセクションでは、 アカウント複製機能 とは異なる、限定的なデータベース複製機能について説明します。Snowflakeは、データベースの複製とフェールオーバーにアカウント複製機能を使用することを強く推奨します。
単一のデータベースをターゲットアカウントに複製するための複製グループの作成例については、 単一データベースを複製する をご参照ください。
CREATE OR ALTER DATABASE の例¶
簡単なデータベースを作成する¶
db1
という名前のデータベースを作成します。
CREATE OR ALTER DATABASE db1;
データベース db1
を変更し、 DATA_RETENTION_TIME_IN_DAYS と DEFAULT_DDL_COLLATION のパラメーターを設定します。
CREATE OR ALTER DATABASE db1
DATA_RETENTION_TIME_IN_DAYS = 5
DEFAULT_DDL_COLLATION = 'de';
以前にデータベースに設定されたパラメーターを解除する¶
変更されたデータベース定義に 以前に設定されたパラメーターがない 場合、そのパラメーターは設定解除されます。次の例では、前の例で作成したデータベース db1
の DATA_RETENTION_TIME_IN_DAYS パラメーターを設定解除します。
CREATE OR ALTER DATABASE db1
DEFAULT_DDL_COLLATION = 'de';
代替インターフェイス¶
Snowflake REST APIs
Snowflake Python APIs
Snowflake CLI
snow object create コマンド