Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi multiple rows in singleton select (https://www.delphipraxis.net/21052-multiple-rows-singleton-select.html)

Nightfly 27. Apr 2004 12:10


multiple rows in singleton select
 
Die fehlermeldung "multiple rows in singleton select" erscheint jetzt immer nachdem der folgende trigger auslöst.

SQL-Code:
CREATE TRIGGER PLANUNG_BU0 FOR PLANUNG
ACTIVE BEFORE UPDATE POSITION 0
AS

declare variable calc integer;

begin
select calc from main where id = new.bereich into :calc;
if (calc = 0) then begin
                 if (new.jan > 0) then new.jan = (new.jan * (-1));
                 if (new.feb > 0) then new.feb = (new.feb * (-1));
                 if (new.mar > 0) then new.mar = (new.mar * (-1));
                 if (new.apr > 0) then new.apr = (new.apr * (-1));
                 if (new.mai > 0) then new.mai = (new.mai * (-1));
                 if (new.jun > 0) then new.jun = (new.jun * (-1));
                 if (new.jul > 0) then new.jul = (new.jul * (-1));
                 if (new.aug > 0) then new.aug = (new.aug * (-1));
                 if (new.sep > 0) then new.sep = (new.sep * (-1));
                 if (new.okt > 0) then new.okt = (new.okt * (-1));
                 if (new.nov > 0) then new.nov = (new.nov * (-1));
                 if (new.dez > 0) then new.dez = (new.dez * (-1));
                 end
end
Eigentlich sollte klar sein was ich machen möchte. Wenn der datensatzt bloß negative Zahlen enthalten darf(durch die variable calc bestimmt) werden positive werte mit -1 multipliziert...is das so nicht zulässig? was ist falsch?

Robert_G 28. Apr 2004 21:25

Re: multiple rows in singleton select
 
Eigentlich sollte die Fehlermeldung auch klar sein ;)

Du kannst nunmal nicht mehrere Datensätze in einen Integer quetschen. :mrgreen:
Deine WHERE-Clause muss also genauer werden oder du läuftst mit einem Cursor durch die gefundenen Einträge.

p.s.: Wenn ich richtig vermute willst du immer noch per Trigger Werte berechnen und in eine Tabelle schreiben, obwohl dir Lemmy und ich schon gesagt haben dass das Käse ist ;)

Nightfly 30. Apr 2004 09:31

Re: multiple rows in singleton select
 
nein, will ich nicht ;-) ..hab's euch ja geglaubt :o)

Der trigger soll bloß sicherstellen, das in bestimmten Zeilen (abhängig von der spalte calc) die zahlen immer negativ sind,egal was der netzer eingibt..


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz