![]() |
2 Stored Procedures oder eine ?
folgendes Problem:
ich muß überprüfen, ob ein Datensatz in einem bestimmten Bereich existiert. De User gibt also eine Zahl ein. Dann soll überprüft werden, ob diese Eingabe in einem zulässigen Bereich liegt. Jetzt habe ich überlegt, zunächst einmal den Bereich zu checken und danach mal nachzusehen, ob der Datensatz bereits da ist. Erschwerend kommt hinzu, daß die Eingabe über den Masterdatensatz läuft und der Rest über einen Detaildatensatz abgeklärt werden muß.
SQL-Code:
So geht es nicht !!! 8) Und bitte nicht vor Freitag hauen. *duck*
ALTER PROCEDURE INTPROCEDURE
RETURNS ( TEST INTEGER) AS begin SELECT G.ID FROM G8 G JOIN GSTAT8 GS ON G.ID = GS.ID_G WHERE (G.NR >= :MIN) INTO :TEST; |
Re: 2 Stored Procedures oder eine ?
SQL-Code:
?
select
Count(D.ID) as Anzahl from Detail D where (D.Master_ID = :MasterID) and (D.Nr beetween :MIN and :MAX) Gruß Hagen |
Re: 2 Stored Procedures oder eine ?
Zitat:
SQL-Code:
Schon das scheint syntaktisch falsch zu sein. Zumindest meckert der Parser und ich sehe nicht, warum. 8)
begin
select COUNT (ID) AS ANZAHL FROM D end; |
Re: 2 Stored Procedures oder eine ?
Ich nutzte Local SQL = BDE um eine eventuell funktionierende Idee zu vermitteln, inwieweit du das auf deinen SQL Dialekt abändern musst weis ich nicht.
Das "from Detail D" bezog sich auf deine Detail Tabelle. Select Count(xyz) as Anzahl sollte eine Abfrage erzeugen mit nur einem Datensatz und einem einzigsten Feld "Anzahl". Darin steht die Anzahl der gefundenen Detail Datensätze zum Master Datensatz mit ID = MasterID deren Nummer Nr zwischen Min und Max liegt. Statt also eine Stored Procedure zu benutzten würde ich eine normale SQL benutzen. Gruß Hagen |
Re: 2 Stored Procedures oder eine ?
Daß mir so was passiert. Da kann man machen was man will und macht immer noch Anfängerfehler. :lol: Die Parameter dürfen natürlich nicht MIN und MAX heißen. Diese identifier sind vordefiniert. Deshalb konnte ich machen was ich will, es konnte einfach so nicht gehen. Die Interbase-Fehlermeldungen waren aber auch so was von nichtssagend... :P
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz