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 サーバからパラメータを受け取ることができます。各スクリプトで使用できるパラメータの詳細については、同期イベントを参照してください。

次のいずれかの方法によって、SQL スクリプトでパラメータを指定できます。

  • 疑問符

  • 名前付きスクリプト・パラメータ

疑問符によって表されるスクリプト・パラメータ

疑問符を使ってパラメータを表すのは ODBC 規則です。Mobile Link SQL スクリプトで疑問符を使用するには、SQL スクリプトで各パラメータに対して 1 つ疑問符を置きます。Mobile Link サーバが、各疑問符をパラメータ値に置き換えます。パラメータ値への置き換えは、スクリプト内でパラメータが定義されている順序に従って行われます。

パラメータは、同期イベントで指定された順に置いてください。一部のパラメータは省略可能です。パラメータが省略可能になるのは、後続のパラメータを指定しない場合に限られます。たとえば、パラメータ 2 を使用する場合は、パラメータ 1 を必ず使用してください。

名前付きスクリプト・パラメータ

Mobile Link には、スクリプトで疑問符の代わりに使用できる名前付きパラメータが用意されています。名前付きパラメータには、次のような利点があります。

  • 使用可能なパラメータの任意のサブセットを任意の順序で指定できます。

  • in/out パラメータを除き、スクリプト内で同じ名前付きパラメータを複数回指定できます。

  • 名前付きパラメータを使用する場合には、スクリプトでリモート ID を指定できます。スクリプトでリモート ID を指定できるのは、この方法だけです。

  • 独自の名前付きパラメータを作成できます。ユーザ定義の名前付きパラメータを参照してください。

1 つのスクリプト内で名前付きパラメータと疑問符を混在させることはできません。

Mobile Link 名前付きパラメータには 4 種類あります。名前付きパラメータを指定するには、次のように種類をプレフィクスとして付ける必要があります。

名前付きパラメータの種類 プレフィクス
システム・パラメータ s. {ml s.remote_id}
ロー・パラメータ (カラムの名前。カラム名にスペースが含まれる場合は二重引用符または角カッコで囲む)。 r.

{ml r.cust_id}

{ml r."Column name"}

古いロー・パラメータ (プレイメージのカラムの値を指定するために upload_update スクリプトのみで使用。カラム名にスペースが含まれる場合は、二重引用符または角カッコで囲む)。 o.

{ml o.cust_name}

{ml o."Column name"}

認証パラメータ。認証パラメータを参照してください。 a. {ml a.1}
ユーザ定義のパラメータ。ユーザ定義の名前付きパラメータを参照してください。 ui. {ml ui.varname}

スクリプト・パラメータを名前で参照するには、{ml parameter } のように、パラメータを中カッコで囲み、前に ml を付けます。たとえば、{ml s.action_code} のように指定します。中カッコによる表記は ODBC 規則です。

便宜上、Mobile Link スクリプト・パラメータと同じ名前のスキーマ名がコード・セクション内に含まれていないかぎり、中カッコには大きなコード・セクションを含めることができます。たとえば、次の upload_insert スクリプトはどちらも有効で同じ内容を表しています。

INSERT INTO t ( id, c0 ) VALUES( {ml r.id}, {ml r.c0} )

および

{ml  INSERT INTO t ( id, c0 ) VALUES( r.id, r.c0 ) }
注意

Mobile Link の同期モデル作成ウィザードでリモート・データベース内のカラムを生成していない場合に名前付きロー・パラメータを使用するには、ml_add_column システム・プロシージャを使用してカラム情報を統合データベースに格納する必要があります。ml_add_column system procedureを参照してください。

スクリプト・パラメータのコメント

次の形式のコメントが認識されます。

  • 二重ハイフン・プレフィクス (--)

  • 二重スラッシュ・プレフィクス (//)

  • ブロック・コメント (/* */)

初めの 2 つの形式を使用すると、行の最後までのスクリプト・テキストが無視されます。3 つ目の形式を使用すると、/* プレフィクスと */ サフィックスの間にあるすべてのスクリプト・テキストが無視されます。ブロック・コメントはネストできません。

その他のタイプのベンダ固有コメントは認識されないため、名前付きパラメータへの参照のコメントには使用しないでください。


ユーザ定義の名前付きパラメータ
認証パラメータ