![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: SQLExpress oder IB
Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie?
Hi,
Ich muss via Delphi eine Stored Procedure ändern. Ich verwende IB und SQLExpress-Komponenten. Das Skript sieht so aus:
SQL-Code:
Das Skript will ich so ausführen:
SET TERM ^ ;
CREATE OR ALTER PROCEDURE GETID (Name varchar(20)) returns (id integer) as begin select deID from Descriptions where deName :Name into :ID ; if (id is null) then begin id = GEN_ID(GEN_Descriptions,1); insert into Descriptions values(:id, :Name ,CURRENT_TIMESTAMP); end suspend; end^ SET TERM ; ^
Delphi-Quellcode:
Klappt nicht, es erscheint der Fehler:
SQLConnection.ExecuteDirect(sScriptCode);
Zitat:
|
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
Wenn Du einen Batch ausführen lassen kannst (ShellExecute etc.)- geht es mit ISQL oder dem IBScript aus IBExpert
Gruss wo |
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
Hi,
ich kenne die SQLExpress-Komponenten nicht, aber ein SQL-Script kannst Du nur in einer entsprechenden Komponente absetzen, die das Script wiederum in einzelne SQL-Statements teilt und diese dann entsprechend absetzt. Wenn es sich lediglich um EINE SQL-Anweisung handelt kannst Du diese natürlich auch mit einer "normale" SSQL-Komponente absetzen - d.h. in diesem Fall einfach das Set Term weglassen und nur die "Create Or Alter" absetzen. Grüße Lemmy |
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
IBExpert kann das! :thumb:
Ich musste die "SET TERM"-Anweisung extrahieren und dem IBScript das '^' als 'Terminator' ("I'll be back :mrgreen: ) angeben. Die GRANTs habe ich separat abgesetzt. Vielen Dank! |
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
Hallo,
wie Lemmy schon richtig sagte. Nimm eine normale Query und lass das Set Term weg. Heiko |
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
Zitat:
|
Re: Firebird: DDL-Skript (CREATE PROCEDURE) über Delphi, wie
Hallo,
schon klar, ich wollte nur darauf hinweisen, dass es auch mit Board-Mitteln geht. eine spezielle Script-Komponent ist natürlich besser, weil z.B. die Set Term Sache drinbleiben kann. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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