Die gespeicherten Prozeduren für Löschungen müssen Ergebnismengen mit allen Spalten, die heraufgeladen werden sollen, so zurückgeben, wie in der Anweisung CREATE PUBLICATION definiert, wobei die Spalten in der Reihenfolge aufgeführt werden müssen, die in der Anweisung CREATE TABLE festgelegt wurde.
Mit der folgenden Abfrage können Sie die Reihenfolge der Erstellung von Spalten in einer Tabelle mit dem Namen "t1" ermitteln:
SELECT column.name FROM SYSTAB JOIN SYSTABCOL WHERE table_name = 't1' ORDER BY column_id |
Eine ausführliche Erläuterung, wie Sie gespeicherte Prozeduren für Löschungen definieren, finden Sie unter Beispiel für einen skriptgesteuerten Upload.
Im folgenden Beispiel wird eine Tabelle mit dem Namen "t1" und eine Publikation mit dem Namen "p1" erstellt. Die Publikation definiert WITH SCRIPTED UPLOAD und registriert die gespeicherte Prozedur t1_delete als Löschungsprozedur. In der Definition der gespeicherten Prozedur t1_delete enthält die Ergebnismenge alle Spalten, die in der Anweisung CREATE PUBLICATION aufgelistet wurden, jedoch in der Reihenfolge, in der die Spalten in der Anweisung CREATE TABLE festgelegt wurden.
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 WITH SCRIPTED UPLOAD p1( // Order of columns here is ignored TABLE t1( c3, pk, c1 ) USING ( PROCEDURE t1_delete FOR UPLOAD DELETE ) ) |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |