Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

プロシージャやユーザ定義関数の実行

このセクションは様々なデータベースのプロシージャやユーザ定義関数を他のプロシージャやファンクションから実行する方法、およびSQLWaysによるその変換について記述します。

TABLE 38. プロシージャやユーザ定義関数の実行
データベース
構文
説明
Microsoft SQL Server
 EXEC [UTE] 
[ @return_status = ]
procedure_name 
[
[@par1=] {value | @variable [OUTPUT] | 
[DEFAULT]
[,[@parN=] {value | @variable [OUTPUT] 
| [DEFAULT]]...
]  
EXECUTE ステートメントはMicrosoft SQL Server のプロシージャやユーザ定義関数を実行するのに使用されます。
 
@return_status はファンクション(プロシージャ)が返す値
procedure_name - プロシージャ(ファンクション)の名前
@parN - プロシージャ(ファンクション)のパラメータの名前
 
下の例ではプロシージャ proc2 をCall
EXEC proc2
 
以下の例では ファンクション f1 を 1 および @var1 をパラメータとしてCallし、@ret_val 変数に値を返します。
 
EXECUTE @ret_value = f1 1, @var1
Oracle
[ return_status = ] 
procedure_name 
([{ value | variable }])  
Oracleのプロシージャやファンクションを実行するには、PL/SQLにてプロシージャ(ファンクション)の名前とパラメータを明示的に指定しなければなりません。
 
Examples:
以下の例では、proc2 ストアドプロシージャがパラメータ 77 および `test' でCallされています。
proc2 (77,'test');
 
下の例では、ファンクション func2 は ret_func2 変数に値を返します。ファンクションはパラメータをひとつ (0) 使用しています
 
ret_func2:=func2(0) ;
Sybase Adaptive Server Anywhere
[@variable =] CALL procedure_name  
([ 
[@par1=] exp1 [,[@parN=] expN]... 
]) 
CALL は作成済みのプロシージャを呼び出します。
 
引数リストは位置またはキーワード形式で指定する事ができます The argument list can be specified by position or by using keyword format:
� 位置指定の場合、引数はプロシージャのパラメータリストと合致します
� キーワード指定の場合、引数は名前付きパラメータ (par1, ..., parN) と合致します
 
結果セットを返すプロシージャでは、DECLAREステートメントでCALLステートメントを使うことができます。(例:DECLARE CURSOR ステートメントの中)
 
プロシージャはRETURNステートメントを使用して整数値 (ステータス情報) を返すことができます
EXEC[UTE] [@return_status =] 
[creator.]procedure_name  
[ 
[@par1=] {exp1 | @variable1 [OUTPUT]} 
[,[@parN=] {expN | @variableN 
[OUTPUT]}]... 
] 
EXECUTEはプロシージャを呼び出します。パラメータの指定や出力値や結果ステータス情報を取得することもできます。
 
EXECUTEはSybase Adaptive Server Enterprise互換の CALL ステートメントの代替機能です
 
@return_status はステータス情報が返される変数
 
@parN はプロシージャパラメータの名前
 
例:
下の例はプロシージャ p2 を実行しています。
EXECUTE p2
 
以下の例はプロシージャを実行し返却値を@rev_val 変数に格納しています
EXECUTE @ret_value = p1 1


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.