Hallo zusammen,
Ist es möglich, eine SELECT-Anweisung für eine Spalte zu schreiben, die nichts bewirkt, wenn die Spalte keinen gewünschten Wert enthält, aber wenn die Spalte den von mir gesuchten Wert enthält, kann ich zusätzliche Skripts ausführen lassen?
Ich habe eine Spalte „Benachrichtigungscode“, die die drei Werte „1-Addition“, „3-Update“ und „4-Delete“ enthält und zu meinen Transaktionsdaten gehört. Wenn die Tabelle aktualisiert wird und sich zufällig ein „4-Delete“ in der Spalte befindet, unterteile ich derzeit die Daten und vergleiche/aktualisiere sie dann wieder mit der Originaldatei, um die erste Instanz (d. h. die Hinzufügung oder Aktualisierung) zu bestimmen Beide Datensätze der Transaktion aus der Tabelle löschen. Heute ist es das erste Mal, dass die Daten aktualisiert wurden und kein 4-Delete enthielten. Dies führte dazu, dass meine SELECT- und DELETE-Anweisung alle Datensätze aus der Tabelle löschte. Beispiel einer aktuellen JSL für Auswählen und Löschen unten:
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
Jede Hilfe wird sehr geschätzt.
Das hat super funktioniert! Danke für die Hilfe!
Soweit ich das beurteilen kann, wird Folgendes funktionieren
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
If( N Rows( rowchoice ) > 0,
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
);