Ändere mal deinen Code so ab:
Delphi-Quellcode:
query.sql.add('
ALTER PROCEDURE');
query.sql.add('
MYPROCEDURE (');
...
query.sql.add('
SUSPEND;');
query.sql.add('
END');
Assert(
query.ParamCount=0, '
Parameter nicht erlaubt');
try
query.ExecSQL;
except
on E:
Exception do
begin
E.
Message := E.
Message +#13#10+
query.SQL.Text;
raise;
end;
Nur um 150%ig sicher zu gehen, dass dein
SQL-Kommando in Ordnung ist und du nicht die berühmt-berüchtigten Tomaten auf den Augen hast.
PS:
wenn das Alles nicht hilft, dann würde ich mal versuchen, den
SQL-Befehl direkt
über die Database-Komponente abzuschicken:
Delphi-Quellcode:
sql:
string;
sql := '
ALTER PROCEDURE'#13#10+
'
MYPROCEDURE ('#13#10+
...
;
Database1.Execute(
sql);