![]() |
Re: Wie behandelt Interbase SELECT INTO abfragen?
@hansa
prinzipiell hast du sicherlich recht. aber ich stand vor der entscheidung das so zu machen und den client einmal die aktuell gültigen angebotstabellen durchzusuchen UND dann noch die ebenen (aka gruppen, oder wie man sie auch bezeichnen kann...) zu überprüfen, oder so wie ich es gemacht habe: der client durchsucht nur die angebotstabelle. diese wird jedoch automatisch durch sp mit gültigen rabatten etc aus dem gruppenbereich ergänzt. hmmm... naja. im anbetracht der etwas komplex gewordenen sp, wäre es vll. doch einfacher den client 2 tabellen zu durchforsten... aber naja. jetzt hab ich wenigstens sp kennen gelernt :-) vielen dank nochmals! und ps @jens. dein ausrutscher mit den triggern war zwar nicht so gemaint, aber ich habe das jetzt genau so umgesetzt. :-) von cursoren in ib hab ich keine ahnung :-( |
Re: Wie behandelt Interbase SELECT INTO abfragen?
Mojo, das ist doch nicht dein Ernst ? :shock: Sphagetticode in Reinkultur. :lol: Datenbank falsch aufgebaut, Denkfehler gleich mit reingehauen und dann noch mit den falschen Methoden und einem zweckentfremdeten Trigger alles so umgebogen bis es aussieht als passe es. So fährt man die Karre an die Wand und man hört irgendwann entnervt auf zu programmieren. Kenne einige authentische Fälle überwiegend aus dem C-Gebiet. Ich würde mal reiflich überlegen, mit so einer Programmierweise überhaupt anzufangen !
|
Re: Wie behandelt Interbase SELECT INTO abfragen?
:gruebel:
also ich finde meine lösung elegant. :-D (ausser das mit den triggern). aber ich weiss was du meinst. hatte letztens so ein problem in java. :-( naja. mal gucken. in delphi ist mir soetwas zum glück noch nicht passiert. |
Re: Wie behandelt Interbase SELECT INTO abfragen?
Eigentlich ist das garnicht so schwehr ...
Ich benutze IB nicht, und habe auch kein SQL Handbuch dafür hier. Daher erkläre ich dir das Prinzip mal an Hand der MSSQL Syntax
SQL-Code:
Schöne Grüße,
-- du deklarierst einen Cursor für deinen SELECT Befehl
DECLARE CRS CURSOR FOR SELECT SELECT KND_ID FROM TRANSACTION WHERE EINZAHLUNG>1000 -- dann öffnest du den Cursor OPEN CRS -- Der Erste Datensatz wird in die Variable @KND_ID gelesen FETCH NEXT FROM CRS INTO @KND_ID -- solange ein Datensatz vorhanden ist .. WHILE @@FETCH_STATUS = 0 BEGIN -- ... führst du deine SP aus ... EXECUTE PROCEDUERE UPDATE_KND_PRIVILEGIEN(@KND_ID) -- ... und holst den nächsten Datensatz. FETCH NEXT FROM CRS INTO @KND_ID -- Jetzt den Cursor schließen ... CLOSE CRS -- ... und freigeben DEALLOCATE CRS Jens |
Re: Wie behandelt Interbase SELECT INTO abfragen?
ahh!!! sehr geil!
so gehen also die schleifen! :-) :-D danke! |
Re: Wie behandelt Interbase SELECT INTO abfragen?
Oder du benutzt, wie oben bereits beschrieben die FOR SELECT Notation innerhalb der Sored Procedure.
Schönen Gruß, Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz