Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link リファレンス » Mobile Link サーバ・システム・プロシージャ » Mobile Link システム・プロシージャ

 

ml_add_passthrough_script システム・プロシージャ

このシステム・プロシージャを使用して、パススルー・スクリプトを作成します。このプロシージャは、ml_passthrough_script システム・テーブルにエントリを追加します。

構文
ml_add_passthrough_script ( 
'script_name', 
'flags',
'affected_pubs', 
'script', 
'description' 
)
パラメータ

構文

説明

script_name

VARCHAR(128)。スクリプト名。この値は、ユニークにする必要があります。

flags

VARCHAR(256)。クライアントにスクリプトの実行方法を指定する値。この値は、NULL にしたり、セミコロンで区切られたリストによる次のキーワードの組み合わせを含めたりすることができます。

  • manual   スクリプトが手動実行モードでのみ実行できることを示します。デフォルトでは、すべてのスクリプトは自動実行モードと手動実行モードのどちらでも実行できます。

  • exclusive   スクリプトがすべての同期対象テーブルに対する排他ロックが取得された、同期の最後に自動的に実行できることを示します。affected_pubs 値にパブリケーションが 1 つもリストされていない場合、このオプションは無視されます。このオプションは、SQL Anywhere リモートでのみ有効です。

  • schema_diff   スクリプトがスキーマ diff モードでのみ実行する必要があることを示します。このモードでは、スクリプトに記述されているスキーマに合わせてデータベース・スキーマが変更されます。たとえば、既存のテーブルに対する create 文は alter 文として扱われます。このフラグは、Ultra Light リモートで実行されるスクリプトにのみ適用されます。

次に例を示します。

'manual;exclusive;schema_diff'

affected_pubs

TEXT。スクリプトの実行前に同期する必要があるパブリケーションのリスト。空の文字列および NULL は、同期の必要がないことを示します。この値は、SQL Anywhere クライアントでのみ有効です。Adaptive Server Enterprise の場合は VARCHAR(16384)。DB2 LUW の場合は VARCHAR(4000)。Oracle の場合は CLOB。

script

TEXT。パススルー・スクリプトの内容。この値は NULL にすることはできません。Adaptive Server Enterprise の場合は VARCHAR(16384)。DB2 LUW の場合は VARCHAR(4000)。Oracle の場合は CLOB。

スクリプトの内容を NULL にすることはできません。Ultra Light リモートの場合、script の内容は、単語 go で区切られた SQL 文のコレクションである必要があります。単語 go は、個別の行に記述してください。SQL Anywhere リモートの場合、script の内容は、begin…end ブロックで囲まれると有効になる、任意の SQL 文のコレクションにすることができます。

SQL Anywhere リモートでの script の内容の例

DECLARE val INTEGER;
SELECT c1 INTO val FROM t1 WHERE pk = 5;
IF val > 100 THEN
    INSERT INTO t2 VALUES ('c1 is big');
ENDIF

Ultra Light リモートでの script の内容の例

CREATE TABLE myScript (c1 INT NOT NULL PRIMARY KEY)
GO
INSERT INTO myScript VALUES (1)
GO

description

VARCHAR(2000)。スクリプトのコメントまたは説明。この値は NULL にすることもできます。

備考

指定された script_name がすでに ml_passthrough_script に存在する場合、このプロシージャはエラーを生成します。

統合データベースのタイプが DB2 メインフレームの場合、このプロシージャは ml_add_pt_script という名前になります。IBM DB2 メインフレームのシステム・プロシージャ名の変換を参照してください。

参照