TECHNOLOGY

Tips !(使用上のテクニック)

対象バージョン : 全て
対象OS : 全て

ST0803066

ストアドプロシージャで動的な文を実行する

Tips !

EXECUTE IMMEDIATE 文を使用すると、ストアドプロシージャの中で動的なSQL文を実行することができます。
これにより、プロシージャの引数や、テーブルのデータなどによって変化する柔軟な処理を記述することが可能になります。

(使用例)

次の文は、テーブル名がパラメータとしてプロシージャに提供されているテーブルを作成します。(EXECUTE IMMEDIATE 文はすべて 1 行にしてください。)

CREATE PROCEDURE CreateTableProc(
IN tablename char(30)
)
BEGIN
EXECUTE IMMEDIATE
‘CREATE TABLE ‘ || tablename ||
‘ ( column1 INT PRIMARY KEY)’
END

プロシージャを呼び出して、テーブル mytable を作成します。

CALL CreateTableProc( ‘mytable’ )
EXECUTE IMMEDIATE 文の詳細につきましては、以下のオンライン・マニュアルをご参照下さい。
http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/ja/html/dbrfja9/00000413.htm