![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBX
IBX Create Procedure
Wie bzw. mit welcher IBX Komponente kann ich eine Procedure in der Datanbank erzeugen ?
SQL-Code:
Habe immer das Problem, das er das TERM nicht kennt, und wenn ich die SET TERMS weglasse, dann bekomm ich einen Fehler im Blob.
SET TERM ## ;
CREATE PROCEDURE UPDATE_ARTIKEL (TEIL INTEGER) AS DECLARE VARIABLE ID INTEGER; DECLARE VARIABLE MENGE INTEGER; BEGIN FOR SELECT ARTIKELID, SUM(MENGE) FROM MATERIAL WHERE TEIL = :TEIL GROUP BY ARTIKELID INTO ID, MENGE DO UPDATE ARTIKEL SET MENGE = COALESCE(MENGE, 0) + :MENGE WHERE ID = :ID; END ## SET TERM ; ## In der IBConsole kann ichs erfolgreich ausführen, nur für updates, muß ich es auch per programm schaffen ... |
Re: IBX Create Procedure
haste mal TIBScript probiert?
|
Re: IBX Create Procedure
ne, finde aber auch kein IBScript bei mir ...
|
Re: IBX Create Procedure
Dann mach mal ein Update deiner IBX-Komponenten. Die letzte die ich noch kenne ist für Delphi6 die Version 6.0.8. Schau mal auf der BDN.
André |
Re: IBX Create Procedure
ne, update will ich keines machen, ist mir zu gefährlich, das dann wieder was nicht funktioniert ... das muß doch auch anders gehen oder ?
|
Re: IBX Create Procedure
Wieso? Da gabs nur kleine Änderungen, aber vieles wurde mit der neuen Verson besser.
Also mach das Update und dann kannst du Scripts ausführen. |
Re: IBX Create Procedure
Da ich IBX mit Firebird 1.5 verwende (werde zwar mal auf eine andere, die auch Firebird 100% unterstüzt umsteigen, aber habe noch keine Zeit dazu) und ich deshalb vorsichtig bin mit dem Updaten von IBX, wer weiss ob dann Firebird 1.5 noch immer so gut läuft wie jetzt (Wenn du neue Features für IB 7.1 eingebaut haben ....)
Und es muß doch auch anders möglich sein (Die IBConsole gabs z.B.: ja auch vor IBX 6.08 ) kann mann eigentlich irgendwo nachschauen, welche version von IBX man benutzt ? Finde niergends sowas, auch in den Sources ist nix drinnen ... |
Re: IBX Create Procedure
Zitat:
|
Re: IBX Create Procedure
Hallo Hans,
benutze einfach eine IBSQL Komponente. Du benötigst dabei die beiden TERM Anweisungen zum Umschalten des ; nicht. So bleibt eine einzige Anwendung übrig, die du mit der IBSQL Komponente ausführen kannst. |
Re: IBX Create Procedure
Ne, hab da kein Version drinnen (Da steht dann nur "InterbaseExpress 6" und sonst nix)
@MrSpock: Genau so hab ichs ja schon probiert :
SQL-Code:
Doch auch dann bekomm ich den Fehler (beim Commit der Transaction) :
CREATE PROCEDURE UPDATE_ARTIKEL (TEIL INTEGER)
AS DECLARE VARIABLE ID INTEGER; DECLARE VARIABLE MENGE INTEGER; BEGIN FOR SELECT ARTIKELID, SUM(MENGE) FROM MATERIAL WHERE TEIL = :TEIL GROUP BY ARTIKELID INTO ID, MENGE DO UPDATE ARTIKEL SET MENGE = COALESCE(MENGE, 0) + :MENGE WHERE ID = :ID; END; EIBInterbaseError "invalid request BLR at offset 179 bad parameter number" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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