SnowConvert AI - SQL サーバーとAzure Synapse - CREATE TABLE¶
Applies to
SQL Server
Azure Synapse Analytics
注釈
わかりやすくするため、出力コードの一部を省略しています。
基本的な CREATE TABLE¶
ソース¶
期待される¶
TEMPORARY TABLES¶
ソースコードの中には、文字#で始まるテーブル名があります。
その場合は、出力コードで仮テーブルに変換されます。
上のコードをどのように移行するか見てみましょう。
ご覧のように、テーブルの定義に TEMPORARY が追加され、文字 # が T_ に置き換えられました。
また、テーブルのすべての参照も、仮テーブルに与えられた新しい名前に合わせて変換されます。
NULL および NOT NULL 列オプション¶
NULL および NOT NULL 列オプションがSnowflakeでサポートされています。
ソース¶
期待される¶
IDENTITY 列オプション¶
アイデンティティ列の場合、シーケンスが作成され、列に割り当てられます。
ソース¶
期待される¶
DEFAULT 列オプション¶
デフォルトのExprはSnowflakeでサポートされていますが、SQL Serverでは制約名と一緒に使用することができます。この部分はSnowflakeではサポートされていないため、削除され、警告が追加されました。
ソース¶
期待される¶
COLUMN 制約¶
ソース¶
期待される¶
COLLATE 列オプション¶
Collate変換については、以下の リンク をご確認ください。
ENCRYPTED WITH 列オプション¶
Encrypted WithはSnowflakeではサポートされていないため、削除され、警告が追加されました。
ソース¶
期待される¶
NOT FOR REPLICATION¶
Snowflakeでは、NOT FOR REPLICATION オプションはサポートされていません。SEQUENCE に移行されるアイデンティティに使用されます。
警告
NOT FOR REPLICATION は等価物に翻訳されるため、Snowflakeでは必要ないステートメントで、削除されていることに注意してください。
ソース¶
出力¶
ON に PRIMARY¶
ON PRIMARY オプションは、SQL Serverで、テーブルなどのオブジェクトをどのファイルに作成するかを定義するために使用するステートメントです。データベース内のプライマリまたはセカンダリファイルグループなど。Snowflakeは異なるロジックを提供し、明確な制約を示します。詳細については、以下の Snowflakeドキュメント を参照してください。
ソース¶
出力¶
ASC/DESC 列の並び替え¶
Snowflakeでは列の並び替えはサポートされていません。ASC または DESC キーワードは削除されました。
ソース¶
出力¶
COMPUTED 列¶
計算列はSnowflakeでサポートされており、例えばテーブルをデプロイできるようにするために明示的なデータ型を追加する必要があるだけです。
ソース¶
出力¶
計算式が変換できない場合は警告が追加され、次の例のように式の戻り値の型を持つ単純な列定義が代わりに使用されます。
ソース¶
式 CONVERT ([NUMERIC],ExpressionValue) は、SnowConvert AI ではまだサポートされていないため、その式が調べられた後、 SnowConvert AI はその型を XML であると判断するので、変換は次のようになります
出力¶
SnowConvert AI は、 SQL Serverで元の式の型を判断する処理を実行します。しかし、列は同等のターゲット型を持ちます。前の例では、 SQLServer の列の型は XML でしたが、 XML を格納するSnowflakeのターゲット型は TEXT です。データ型のマッピングの詳細については、 データ型セクション をご確認ください。
MASKED WITH 列オプション¶
SQL Serverでは、データマスキングを使用して、機密情報を権限のないユーザーから保護しています。詳しくは、SQL SERVER ドキュメント をご覧ください。Snowflakeには動的データマスキング機能がありますが、Enterprise Editionでのみ利用可能です。以下の Snowflakeドキュメント をご覧ください。
入力¶
出力¶
ROWGUIDCOL 列オプション¶
ROWGUIDCOL はSnowflakeでは適用されません。SQL Serverでは、現在 VARCHAR に翻訳されている UNIQUEIDENTIFIER 型に使用されます。例:
入力¶
出力¶
GENERATED ALWAYS AS ROW START/END 列オプション¶
ROW START/END はSnowflakeではサポートされていません。SnowConvert AI がこの種の列オプションを変換しようとするとエラーが追加されます。
入力¶
出力¶
既知の問題¶
問題は見つかりませんでした。
Azure Synapse Analytics¶
Azure Synapse Analyticsテーブルの翻訳仕様
Applies to
Azure Synapse Analytics
説明¶
このセクションでは、Azure Synapse Analytics Tables 固有の構文の翻訳を示します。
CREATE TABLE¶
CREATE TABLE AS¶
ソースパターン¶
WITH テーブルオプション¶
Azure Synapse Analyticsでは、テーブルオプションを定義するための構文が追加されています。
Snowflakeは、マイクロパーティショニングなどのメカニズムを通じて、テーブルの最適化を自動的に処理します。このため、Snowflakeにはこれらのテーブルオプションに相当する構文が存在しません。したがって、Transactのテーブルオプションのいくつかを定義する必要はありません。
省略されるテーブルオプション:
CLUSTERED COLUMNSTORE INDEX (列なし)
HEAP
DISTRIBUTION
PARTITION
CLUSTERED [ COLUMNSTORE ] INDEX の列が、Snowflakeの CLUSTER BY に変換されます。CLUSTER KEY を定義する必要があるかどうかを確認することをお勧めしますので、パフォーマンスレビュー PRF を追加します。
Transact¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-PRF-0007 : PERFORMANCE REVIEW - CLUSTER BY.
TEXTIMAGE_ON¶
Applies to
SQL Server
注釈
関連性のないステートメント。
警告
このステートメントは関連性のない構文であるため、移行から削除されることに注意してください。つまり、Snowflakeでは必要ないということです。**
説明¶
TEXTIMAGE_ON [PRIMARY] は、テーブル内の大容量の情報グループを扱うTransactの方法です。Snowflakeでは、大容量のデータファイルや情報を別の配置で扱うため、このような特性を定義する必要はありません。
サンプル¶
ソースパターン¶
この例では、TEXTIMAGE_ON [PRIMARY] は不要な構文のため削除されていることに注意してください。
SQL Server¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。