SnowConvert AI - Oracle - PL/SQLからJavascriptへ¶
これは、PL/SQLステートメントをSnowflake JavaScriptに変換するための変換リファレンスです。
コレクションと記録¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
記録¶
注釈
記録宣言 もご覧ください。
Oracle¶
Snowflake¶
警告
「SELECT INTO 記録」の変換が進行中です。
既知の問題¶
問題は見つかりませんでした。
条件付きコンパイル¶
説明¶
条件の真理値に基づいて条件付きコンパイルを行います。
Oracleの条件付きコンパイル IF に関する詳細情報は、 こちら をご覧ください。
サンプルソースパターン¶
考えられる IF バリエーション¶
Oracle¶
Snowflakeスクリプト¶
既知の問題¶
条件付きコンパイルの変換は現在サポートされていません。
関連 EWIs¶
SSC-EWI-0073: 機能等価性レビュー保留中。
Controlステートメント¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
IF、 ELSIF および ELSE ステートメント¶
Oracle¶
Snowflake¶
ループ¶
Oracle¶
Snowflake¶
Whileステートメント¶
Oracle¶
Snowflake¶
関連 EWIs¶
SSC-EWI-0053 :オブジェクトが動作しない可能性があります。
宣言¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
変数の宣言と割り当て¶
Oracle¶
Snowflake¶
記録変数の宣言¶
注釈
記録変換セクション も役立つかもしれません
Oracle¶
Snowflake¶
行型記録変数の宣言¶
Oracle¶
Snowflake¶
定数宣言¶
Oracle¶
Snowflake¶
Cursor宣言と定義¶
Oracle¶
注釈
カーソルヘルパー も役立つかもしれません
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。
SSC-EWI-0022 :このステートメントに含まれる1つ以上の識別子は、デフォルトでパラメーターとみなされます。
SSC-EWI-0026: The variable may require a cast to date, time or timestamp.
式と演算子¶
式¶
連結演算子¶
注釈
連結ヘルパー も役立つかもしれません。
Oracleの連結は JavaScript で テンプレートリテラル を使って実現されます。また、Concat Helper を使用して、nullを含む連結を適切に処理します。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
論理演算子¶
Oracle¶
Snowflake¶
注釈
IS NULLヘルパー. も役立つかもしれません。
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
比較演算子¶
ドキュメント作成中。
IS [NOT] NULL¶
注釈
IS NULLヘルパー も役立つかもしれません。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
Like演算子¶
注釈
Like演算子ヘルパー も役立つかもしれません。
LIKE 操作がある場合は、代わりにヘルパー関数が呼び出されます。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
Between演算子¶
注釈
Between演算子ヘルパー も役立つかもしれません。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
IN 演算子¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
ブール式¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
関数式¶
プロシージャ内の関数式については、Snowflakeの対応する関数または式に変換されます。これらの関数呼び出しは、変換された値に応じて CALL または SELECT で EXEC に渡されます。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
関数の変換についての詳細は、 こちら をチェックしてください。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。
SSC-EWI-OR0013 :NLSパラメーターはサポートされていません。
SSC-FDM-OR0042 :日付型をタイムスタンプに変換すると異なる動作をします。
ユーザー定義関数¶
概要¶
パッケージ内のほとんどのOracle UDFs および UDFs は、Snowflake UDFs が DML (データ操作言語)ステートメントを実行する際にいくつかの制限があるため、機能的な同等性を維持するためにSnowflakeストアドプロシージャに変換されています。
翻訳¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
関数を作成¶
Oracle¶
Snowflake¶
パッケージ内部の関数¶
Oracle¶
Snowflake¶
戻り値のデータ型マッピング¶
Oracle PL SQL タイプ |
Snowflakeに相当 |
|---|---|
NUMBER |
FLOAT |
LONG |
VARCHAR |
VARCHAR2 |
STRING |
BLOB |
BINARY |
BFILE |
BINARY |
呼び出し¶
クエリ内部¶
Calls of functions that were transformed to procedures inside queries are converted into an empty Snowflake JavaScript UDF. This Snowflake UDF is generated in the STUB_UDF.sql file inside the UDF Helpers directory.
Oracle¶
Snowflake¶
他の関数やストアドプロシージャの内部¶
プロシージャに変換された関数は、 EXEC Snowflakeヘルパー を使って呼び出されます。
Oracle¶
Snowflake¶
Oracle¶
Snowflake¶
ケースの違いと制限事項¶
DMLs を使用する関数¶
これらの関数はOracleのクエリでは実行できないため、Snowflakeプロシージャに変換しても使用は制限されません。
Oracle¶
Snowflake¶
SELECT INTO を1つだけ持つ関数¶
これらの関数は、selectの INTO 部分を削除することで、Snowflake SQL 関数に変換されます。
Oracle¶
Snowflake¶
ロジックだけの関数¶
SQL ステートメントを使用していない UDFs はSnowflake JavaScript UDFs に変換されます。
注釈
SQL 組み込み関数がロジックに含まれている場合、ユーザー定義関数はSnowflakeプロシージャに変換されます。組み込み関数の JavaScript 相当への翻訳は、今後提供される予定です。
組み込み関数の例: UPPER()、TRIM()、ABS()。
Oracle¶
Snowflake¶
複数の SQL ステートメントを持つ関数¶
警告
プロシージャに変換された UDFs をクエリから呼び出すことはできません。
Oracle¶
Snowflake¶
ロジックと組み込み SQL 関数のみの関数¶
注釈
This transformation is planned to be delivered in the future, currently all functions are being transformed to stored procedures.
Oracle¶
Snowflake¶
RETURN CASE¶
この変換は、CASEを使って変数を代入したときと同じ変換です。
Oracle¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-EWI-0022 :このステートメントに含まれる1つ以上の識別子は、デフォルトでパラメーターとみなされます。
SSC-EWI-0073: 機能等価性レビュー保留中。
SSC-FDM-0029 :ユーザー定義関数がSnowflakeプロシージャに変換されました。
パッケージ¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
パッケージ宣言¶
このセクションでは、Oracleパッケージ宣言メンバーとSnowflakeステートメントの等価性を示します。
パッケージ変換オプション¶
パッケージの移行には2つのオプションがあり、それぞれのオプションはパッケージ内のオブジェクトの命名に直接影響します。UIでこのモードを変更する方法については、 こちら をご参照ください。
Oracleで次のようなシナリオがあるとしましょう。
MY_PACKAGEというパッケージ。MY_PROCEDUREというパッケージ内のプロシージャ。
オプション1(新しいスキーマの使用)¶
このオプションを使うと、パッケージは新しいスキーマに変換されます。関数やプロシージャのようなパッケージ要素は、新しいスキーマの中に作成されます。パッケージが既にスキーマの中にある場合、パッケージ名はスキーマ名とアンダースコアで結合されます。
これは、パッケージを翻訳するための デフォルトの オプションです。
結果:
A schema will be created with the name
MY_PACKAGE.プロシージャの修飾名は
MY_PACKAGE.MY_PROCEDUREに更新されます。If the package is inside a schema then the procedure will be updated to
MY_SCHEMA_MY_PACKAGE.MY_PROCEDURE.
オプション2¶
このオプションを指定すると、パッケージ要素の名前はパッケージ名とアンダースコアで結合されます。新しいスキーマは作成されません。
結果:
プロシージャ名は
MY_PACKAGE_MY_PROCEDUREに更新されます。If the package is inside a schema then the procedure will be updated to
MY_SCHEMA.MY_PACKAGE_MY_PROCEDURE.
パッケージ作成¶
CREATE PACKAGE ステートメントは CREATE SCHEMA ステートメントに変換されます。パッケージ内のメンバーはパッケージ外に変換されます。
Oracle¶
オプション1による変換(新しいスキーマの使用)¶
オプション2による変換¶
このオプションでは、スキーマは生成されず、内部要素だけが保持されますが、名前は変更されます。
プロシージャと関数の宣言¶
プロシージャと関数の宣言は、Snowflakeへの変換には必要ありません。既存のプロシージャや関数の宣言はコメントアウトされます。
Oracle¶
オプション1による変換(新しいスキーマの使用)¶
注釈
オプション1では、パッケージ内の PROCEDURE 定義はSnowflakeでは必要ないため削除されることに注意してください。
変数宣言¶
注釈
変数ヘルパー も役立つかもしれません。
Oracleパッケージ変数はSnowflakeセッション変数に変換されます。ストアドプロシージャの内部では、どのタイプかを知るために値にプレフィックスが付加されます。値がnullの場合、「~」が追加されます。このため、他の変数に依存する変数には、SUBSTR と CAST が必要になります。
データ型とコードのマッピング¶
データ型または値 |
コード |
|---|---|
数値型 |
# |
日時型 |
& |
文字列型 |
$ |
NULL 値 |
~ |
変数の変換は、変換オプションに関係なく常に同じになります。
Oracle¶
Snowflake¶
定数宣言¶
定数宣言は、それを使用するプロシージャや関数の内部で宣言されます。既存のパッケージ定数宣言はコメントアウトされ、警告が追加されます。
Oracle¶
オプション1による変換
注釈
パッケージ内の PROCEDURE 定義は、Snowflakeでは必要ないため削除されることに注意してください。
その他のパッケージメンバー¶
カーソル、例外、ユーザー定義タイプなど、他のパッケージメンバーの変換はまだ進行中です。
Oracle¶
オプション1による変換¶
パッケージ本文定義¶
このセクションでは、Oracleパッケージ本文定義メンバーとSnowflakeステートメントの等価性を示します。
パッケージ本文の作成¶
パッケージ本文の中の要素はパッケージから抽出されます。パッケージ本文は消えるので、変換後のコードではパッケージ本文の作成ステートメントは削除されます。
プロシージャの定義¶
パッケージ内のストアドプロシージャは、 PL/SQL変換リファレンス で定義されているのと同じ変換を使用します。
Oracle¶
オプション1による変換¶
オプション2による変換¶
関数定義¶
パッケージ本文内の関数は、Snowflakeストアドプロシージャに変換されます。
Oracle¶
オプション1による変換¶
オプション2による変換¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
その他のパッケージ本文メンバー¶
パッケージ宣言の「その他のパッケージメンバー」のセクションを参照してください。
パッケージメンバーの使用¶
パッケージ内のプロシージャの呼び出し¶
プロシージャがパッケージ内にあり、パッケージがスキーマ内にある場合、呼び出しの名前は変更されます。
Oracle¶
オプション1による変換¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
オプション2による変換¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
このオプションを指定すると、プロシージャの呼び出し名は、プロシージャ宣言のリネームに応じて変更されます。スキーマ名とプロシージャ名はドットで区切られます。
Snowflake¶
プロシージャ内のパッケージ変数¶
注釈
パッケージ変数はセッション変数に変換されます。これらの変数は、「 パッケージ変数ヘルパー 」を通じて使用可能です。
注釈
このサンプルでは、パッケージ 変数宣言 セクションで宣言された変数を使用しています。
Oracle¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-EWI-0053 :オブジェクトが動作しない可能性があります。
SSC-EWI-OR0049 :ステートフルパッケージのパッケージ定数はまだサポートされていません。
プロシージャ¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
例1: 基本プロシージャの変換
Oracle¶
Snowflake¶
例2: 基本ステートメントによるプロシージャ変換: 宣言、割り当て、カーソル宣言、FOR カーソル、オープン、LOOP、CLOSE、IF、
Oracle¶
Snowflake¶
他のプロシージャ内のプロシージャの呼び出し¶
Oracle¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-EWI-0022 :このステートメントに含まれる1つ以上の識別子は、デフォルトでパラメーターとみなされます。
SSC-FDM-OR0012 :COMMITとROLLBACKの記述は、意図したとおりに実行するには十分なセットアップが必要です。
SQL 言語要素¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
カーソル FOR LOOP¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
OPEN、 FETCH および CLOSE ステートメント¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
警告
Transformation for the following lines corresponds to custom types, which are work in progress:
現在、nextステートメントは発行されていますが、クラスはまだ作成されていません。今後、サポートされていないカスタムタイプのすべての使用には警告が適用されます。
SQL 暗黙的カーソル¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
EXIT¶
警告
ラベルの変換は進行中です。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
Execute Immediate¶
注釈
EXECヘルパー も役立つかもしれません。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
警告
"RETURNING INTO" 句は、実行されるステートメントを特別に分析する必要があるため、その翻訳は将来提供される予定です。
警告
Transformation for the following line corresponds to collection types, which is work in progress:
現在、nextステートメントは発行されていますが、クラスはまだ作成されていません。今後、サポートされていないカスタムタイプのすべての使用には警告が適用されます。
また、sals 変数への BULK COLLECT に関連する次の EXECUTE IMMEDIATE も進行中です。
エラーと例外処理¶
注釈
Raiseヘルパー も役立つかもしれません。
Raiseヘルパーの使用¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
OTHERSハンドラーがない場合、SnowConvert AIはスイッチの「デフォルト」ケースを使用し、オリジナルのエラーオブジェクトをスローします。
コミット¶
注釈
EXECヘルパー も役立つかもしれません。
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
CASE¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
変数割り当てにおける CASE¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
外部CまたはJavaプログラムの呼び出し¶
Oracle¶
Snowflake¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-EWI-0022 :特定のステートメント内の1つ以上の識別子は、デフォルトでパラメーターとみなされます。
SSC-EWI-0053 :オブジェクトが動作しない可能性があります。
SSC-EWI-0073: 機能等価性レビュー保留中。
SSC-EWI-OR0052 :例外宣言はraise関数によって処理されます。
SSC-EWI-OR0072 :手続きメンバーはサポートされていません。
SSC-EWI-OR0075 :Current of句はSnowflakeではサポートされていません。
SSC-EWI-OR0104 :使えないコレクション変数です。
SSC-FDM-OR0007 :Snowflakeはオブジェクトのバージョン管理をサポートしていません。開発者は、コードのバージョニングのための別のアプローチを検討する必要があります。
SSC-FDM-OR0009 :SQL IMPLICIT CURSOR VALUES MAY DIFFER。
SSC-FDM-OR0011 :「スタックに追加」オプションがサポートされていないため、Boolean引数は削除されました。
SSC-FDM-OR0012: COMMITとROLLBACKステートメントを意図したとおりに実行するには、十分なセットアップが必要です。
DDL - DML ステートメント¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
注釈
全てのステートメントは EXECヘルパー を使用します。
SELECT¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
SELECT INTO¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
INSERT および INSERT INTOSELECT¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
DELETE¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
UPDATE¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
MERGE¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-EWI-0022 :特定のステートメント内の1つ以上の識別子は、デフォルトでパラメーターとみなされます。
同義語¶
PL/SQL ブロックの内部で使用されている同義語は、参照されているオブジェクトに変更され、必要に応じてスキーマが追加されます。
暗黙的スキーマの追加¶
プロシージャや関数がスキーマ内にあり、同義語もスキーマ内にあるが、スキーマなしで使用されている場合、変換されたコードはスキーマを追加します。
Oracle¶
Snowflake¶
参照オブジェクトのスキーマ追加¶
同義語が特定のスキーマにあるオブジェクトを参照する場合、スキーマ名は参照されるオブジェクトに追加されます。
Oracle¶
Snowflake¶
関連 EWIs¶
SSC-FDM-OR0005 :同義語はSnowflakeではサポートされていませんが、この同義語への参照は元のオブジェクト名で変更されました。
SSC-FDM-OR0042 :日付型をタイムスタンプに変換すると異なる動作をします。
トリガー¶
警告
トリガーはSnowflakeではサポートされておらず、自動的に移行されません。
現時点では、Snowflakeはトリガーの直接的なメカニズムを提供していませんが、Snowflakeのいくつかの機能を使用して同様の結果を得ることができます。
トリガーを分析し、目的別に分類することをお勧めします。
監査トリガー: これらのトリガーの目的は、情報を取得し、あるテーブルで行われた変更を他のテーブルに記録することです。
初期化トリガー: これらのトリガーの目的は、新しい記録にデフォルト値を追加することです。これらは通常、挿入トリガーの前または後にあります
ビジネスルールバリアトリガー: これらは通常 BEFORE/AFTER DELETE または UPDATE に適用されます。これらのトリガーは、ビジネスルールを破るようなデータの入力や削除を避けるための barrier を作るためのものです。
トリガーの代わり: 例えばビューへの挿入を許可するために使用されるものはサポートされていません。推奨されるのは、そのロジックをストアドプロシージャに変え、挿入/削除/更新操作に使用されるたびに呼び出しを導入することです。
データベーストリガー: 複製できませんので、このロジックをストアドプロシージャにカプセル化することも推奨されます。しかし、このロジックは手動で呼び出す必要があります。
ジェネリックアフタートリガー: いくつかの アフター トリガー、ストリーム、タスクを活用することができます。以下のセクションを参照してください。
監査トリガー¶
このような監査ケースの UPDATE トリガーは、直接処理することはできません。INSERT ケースの場合は、初期化トリガーで説明したデフォルト値のケースを使うことができます。しかし、更新ケースの場合は、AFTER トリガーについて後で説明するように、タスクを使うしかありません。ただし、LAST__UPDATE は正確ではなく、記録された変更はタスク実行時になるため、オフセットが発生します(例えば、タスクが5分ごとに実行される場合、LAST_UPDATE は5分後に記録されます)。
UPDATE ケースの場合、CURRENT_USER をキャプチャしようとしても不可能です。
AUDIT トリガーの他のケースは、テーブルの変更を更新テーブルに登録する場合です。後述する AFTER トリガーのテクニックを使うこともできますが、この場合も USER 情報は追跡できず、TIME 情報は正確ではありません。
初期化トリガー¶
これらのトリガーでは、Snowflakeデフォルト列値 (シーケンス値など)を使用することができます。
また、USER や SYS_TIMESTAMP の代わりに CURRENT__ USER()や CURRENT_TIMESTAMP_ を使うこともできます。
これは BEFORE INSERT または AFTER INSERT のケースにのみ適用されます。
ビジネスルールバリア¶
このようなケースの場合は、DELETE または UPDATE が実行された後/前に、トリガーアクションをインライン化する必要があります。
タスクはスケジュールに従って実行され、行がすでに変更されているため、ここではタスクは推奨されません。
警告
このセクションでは、AFTER トリガーを部分的に実装するための既知の回避策を示します。
GENERIC AFTER TRIGGER¶
例1: 基本的なトリガー変換¶
Oracle¶
Snowflake¶
注釈
SnowConvert AIヘルパーコードは例から削除されました。こちら で確認できます。
Snowflakeコードの徹底解説¶
ストリーム¶
これらはテーブルに加えられた変更を保存します。以下の点にご注意ください。
これらは、現在のテーブルの状態と、ストリーム自身が最後に保存したオフセットとの差分を保存します。請求のため、この点を考慮してください。
更新の情報を保存するの ではなく、挿入として保存することに注意してください。
同じように、削除だけを追跡したり、更新だけを追跡するように構成することはできないので、プロシージャとタスク自身でフィルターをかける必要があります(下記参照)。
プロシージャ¶
これらは、トリガーの SQL ステートメントを実行します。以下の点にご注意ください。
ストリームをフラッシュする必要があるため、プロシージャの最後に新しいストリームを作成します。
フィルタリングが必要なアクション(AFTER-INSERTs のみのトリガーなど)は、ストアドプロシージャ自体でフィルタリングする必要があります。
タスク¶
これらは、ストリームの変更を定期的に検証し、それに応じてトリガーの SQL ステートメントを実行します。以下の点にご注意ください。
タスクはスケジュールで動作し、アクションがトリガーになることはありません。つまり、トリガーによるスケジュールチェックが行われ、テーブルのデータ変更は行われません。
タスクは、最短時間が1分であるため、60秒に1回以上実行するように構成することはできません。
ストリームが変更を検出すると、最悪の場合、変更検出とトリガー実行の間に60秒の遅延が生じます。
WHEN を追加することで、タスクの実行は回避されますが、Snowflakeは評価されるたびにチャージを追加します。そして、トリガーが実際に実行されるとそのチャージが請求に追加されます。
タスクは実行するウェアハウスが必要で、クライアントが手動でセットする必要があります。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。
TYPE 属性¶
説明¶
この章では、TYPE 属性 が列、変数、記録、コレクション、カーソルを参照する場合の変換について説明します。この変換では、参照アイテムのデータ型を取得し、参照アイテム TYPE 属性を取得したデータ型に置き換えます。
サンプルソースパターン¶
列の TYPE 属性¶
この場合、参照アイテムは以前に作成されたテーブルの列です。
Oracle¶
Snowflake¶
変数の TYPE 属性¶
この場合、参照アイテムは以前に宣言された変数です。
Oracle¶
Snowflake¶
注釈
FLOATデータ型の詳細については、 FLOATデータ型 セクションをご参照ください。
記録の TYPE 属性¶
この場合、参照アイテムは以前に宣言された記録です。
Oracle¶
Snowflake¶
先の例では、記録変数を参照している変数を記録変数と同じ OBJECT に変更し、記録フィールドを参照している変数を記録フィールドのデータ型(NUMBER (38, 18))に変更しています。
警告
これらの変更は、埋め込み記録では機能しません。
注釈
記録の詳細情報は コレクションと記録セクションを参照してください。
コレクションの TYPE 属性¶
この場合、参照アイテムはコレクション変数ですが、コレクションはサポートされていないため、参照アイテム TYPE 属性は VARIANT データ型に変更されます。
Oracle¶
Snowflake¶
カーソルの TYPE 属性¶
この場合、参照アイテムはカーソル変数ですが、REF カーソルはサポートされていないため、参照アイテム TYPE 属性は VARIANT データ型に変更されます。
Oracle¶
Snowflake¶
注釈
参照アイテムのデータ型が取得できない場合は、参照アイテム TYPE 属性を VARIANT に変更します。
既知の問題¶
1.カーソルとコレクションの宣言はサポートされていません。¶
コレクションとカーソル変数の宣言はまだサポートされていないため、参照アイテム TYPE 属性が VARIANT に変更され、これらの場合に警告が追加されます。
2.元のデータ型が取得できませんでした。¶
参照アイテムのデータ型が取得できなかった場合、参照アイテム TYPE 属性が VARIANT に変更され、警告が追加されます。
関連 EWIs¶
SSC-EWI-0036: データ型が別のデータ型に変換されました。
SSC-EWI-0056: 作成タイプがサポートされていません。
SSC-EWI-0058 :機能は現在、Snowflakeスクリプトではサポートされていません。
SSC-EWI-0062 :カスタム型の使用法がバリアントに変更されました。
SSC-EWI-OR0129 :以下のステートメントには、ネストされたカーソルが使用されています。
SSC-FDM-0006 :数値型の列はSnowflakeでは同様の動作をしない場合があります。