削除用のストアド・プロシージャは、CREATE PUBLICATION 文で定義したように、CREATE TABLE 文で宣言されたカラムと同じ順序で、アップロードするすべてのカラムを含む結果セットを返す必要があります。
t1 と呼ばれるテーブル内にあるカラムの作成順序を確認するには、次のクエリを使用します。
SELECT column.name FROM SYSTAB JOIN SYSTABCOL WHERE table_name = 't1' ORDER BY column_id |
削除用のストアド・プロシージャの定義方法の詳細については、スクリプト化されたアップロードの例を参照してください。
次の例では、t1 というテーブルと p1 というパブリケーションを作成します。パブリケーションは、WITH SCRIPTED UPLOAD を指定し、ストアド・プロシージャ t1_delete を削除プロシージャとして登録します。t1_delete ストアド・プロシージャの定義の結果セットには、CREATE PUBLICATION 文にリストされたすべてのカラムが含まれますが、順序は、CREATE TABLE 文でカラムが宣言された順です。
CREATE TABLE t1( //The column ordering is taken from here pk integer primary key, c1 char( 30), c2 float, c3 double ); CREATE PROCEDURE t1_delete () RESULT( pk integer, c1 char(30), c3 double ) begin ... end CREATE PUBLICATION p1 WITH SCRIPTED UPLOAD ( // Order of columns here is ignored TABLE t1( c3, pk, c1 ) USING ( PROCEDURE t1_delete FOR UPLOAD DELETE ) ) |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |