SnowConvert AI :Oracle - Javascriptヘルパー¶
このセクションでは、Snowflakeでネイティブにサポートされていない一部のOracle機能と同等の機能を実現するために使用されるプロシージャ内で仕様されるヘルパー関数について説明します。
Between演算子ヘルパー¶
Between演算子ヘルパー関数定義¶
Concat値ヘルパー¶
注釈
このヘルパーは IS NULL ヘルパーも使用します。
Concatヘルパー関数定義¶
JavaScript テンプレートリテラル内の値を連結するために使用されるヘルパーメソッドです。これは、値がnullかどうかをチェックするために必要です。Oracleは連結においてnull値を空文字列として扱います。
Cursorヘルパー¶
注釈
こちらもご覧ください。
[カーソルFOR LOOP](README.md#cursor-for-loop)
[ステートメントの OPEN、FETCH、CLOSE](README.md#open-fetch-and-close-statement)
[カーソル宣言](README.md#cursor-declarations-and-definition)
Cursorヘルパー関数の定義¶
EXEC ヘルパー¶
注釈
こちらもご覧ください。
[DDL -DML ステートメント](README.md#ddl---dml-statements)
[コミット](README.md#commit)
[即時実行](README.md#execute-immediate」)
注釈
EXEC ヘルパーは[IS NULL ヘルパー](#is-null-helper)に依存します。
構文¶
EXEC(stmt)
EXEC(stmt, binds[])
EXEC(stmt, opts{})
EXEC(stmt, binds[], opts{})
パラメーター¶
stmt¶
実行する SQL ステートメントの文字列。
binds(オプション)¶
SQL ステートメントにバインドする値または変数を含む配列。
opts(オプション)¶
This is a Javascript object to describe how the values returned by the exec should be formatted, this is used for SELECT statements.
optsパラメーターに有効な引数¶
以下のテーブルは、EXEC の呼び出しでoptsパラメーターに引数をどのように送るかを示しています。
クエリが単一の行を返す場合のオプション¶
opts |
description |
|---|---|
{ } |
optsが空であるか、exec呼び出しに送信されない場合、データは配列の中に返されます。 |
{vars:0} |
これはデフォルトのオプションと同じ効果があります。配列内のデータを返します。 |
{vars:1} |
これは、クエリが1つの列と1つの行だけを返す場合に使用します。EXEC は値を直接返します。これは EXEC(stmt)[0]と同じです。 |
{rec:recordVariable} |
クエリが返す値をレコード内に格納したい場合に使用します。記録の変換については、[記録変換リファレンス](README.md#collections--records)で説明されています。記録変数は引数として渡す必要があります。 |
{row:1} |
このオプションは ResultSet のコピーを返します。これは、返されるオブジェクトが ResultSet Snowflakeドキュメント で説明されているメソッドを含んでいることを意味します。 |
クエリが複数行を返す場合のオプション¶
opts |
説明 |
|---|---|
{row:2} |
このオプションを指定すると、EXEC が返す行数に関係なく、常に ResultSet のコピーを返します。 |
一般オプション¶
opts |
説明 |
|---|---|
{sql:0} |
ステートメント実行後、SQL 暗黙的カーソル属性が変更されないようにします。 |
EXEC ヘルパー関数定義¶
使用サンプル¶
次のコード例は、EXEC がどのように機能するかを示しています。
EXEC の単純なケース¶
Oracle¶
Snowflake¶
バインド付きの EXEC¶
Oracle¶
Snowflake¶
オプション付きの EXEC¶
Oracle¶
Snowflake¶
以下のサンプルでは、EXEC の呼び出しは、オブジェクトのデストラクチャリング ID_VAR が12を格納している、[12]を返します。
次の2つの EXEC 呼び出しは、オブジェクトのデストラクチャリングを行わない前のサンプルの代替方法です。
オブジェクトのデストラクチャリングは、次のステートメントでわかるように、バインドでも機能します(EXEC 呼び出しは、[12, "MOUSE"]値を返します)。
To obtain the actual result set returned by Snowflake, you can use this syntax:
記録タイプ付きの EXEC¶
注釈
[記録変換](README.md#collections--records)についてご興味があるかもしれません。
Oracle¶
Snowflake¶
警告
これはまだ進行中です。記録値を適切に保存するための変換は次のようになります。
既知の問題¶
問題は見つかりませんでした。
暗黙的カーソル属性ヘルパー¶
概要¶
これらは、このヘルパーを使用してSnowflakeストアドプロシージャ内で使用できる属性です。
FOUND
NOTFOUND
ROWCOUNT
ISOPEN
Snowflakeのコードでは、プロシージャの中にこれらの属性の初期化があります。
属性 ISOPEN は、Oracleと同じように常にfalseです。
使用サンプル¶
Oracle¶
Snowflake¶
注釈
SQLCODE と SQLERRM は同じ名前のヘルパー変数に変換され、カーソル変数と同じようにバインドされます。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。
IS NULL ヘルパー¶
IS NULL ヘルパー関数定義¶
このヘルパーメソッドは NULL 述語を変換するために使われます。また、値がnullかどうかをチェックするために他のヘルパーによっても使用されます。これは、NaN や空の文字列のような値をnullとして扱うために必要です。
Oracleは空の文字列をnull値として扱います。このヘルパーはその点を考慮しています。
Like演算子ヘルパー¶
Like演算子ヘルパー関数定義¶
パッケージ変数ヘルパー¶
注釈
[変数宣言](README.md#variables-declaration)や[プロシージャ内部のパッケージ変数](README.md#package-variables-inside-procedures)にもご興味があるかもしれません。
パッケージ変数ヘルパー関数定義¶
注釈
ヘルパーは[IS NULL ヘルパー](#is-null-helper)に依存します
パッケージ変数がプロシージャ内で使用されると、以下のヘルパーが生成されます。
パッケージ変数がプロシージャ内で使用されると、以下のヘルパーが生成されます。
ヘルパーのインスタンスは、変数へのアクセスに使用されるパッケージごとに作成されます。変数がパッケージ名で修飾されていない場合は、パッケージ名で修飾されます。
プロシージャの最後には、使用した変数の状態がヘルパーを使って保存されます。
以下のステートメントでは、変数名がパッケージ名に合わせて変更されることに注意してください。
Raiseヘルパー¶
注釈
[エラーと例外処理](README.md#errors-and-exception-handling)にご興味があるかもしれません。
Raiseヘルパー関数定義¶
ROWTYPE ヘルパー¶
注釈
[ROWTYPE 記録宣言](#raise-helper-function-definition)にご興味があるかもしれません。