AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stored Procedure updaten

Ein Thema von ibp · begonnen am 9. Mär 2011 · letzter Beitrag vom 11. Mär 2011
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

AW: Stored Procedure updaten

  Alt 9. Mär 2011, 17:38
Ä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);
Andreas

Geändert von shmia ( 9. Mär 2011 um 17:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

AW: Stored Procedure updaten

  Alt 9. Mär 2011, 18:07
Ä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.
jupp so mache ich das ja auch wollte hier nur nicht allen Ballast mit posten. Ich habe die SP vor und zurück kontrolliert, mit der ist alles ok.
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);
ok, das werde ich mal versuchen....
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Stored Procedure updaten

  Alt 10. Mär 2011, 09:03
Hi,

was du auch versuchen kannst: über query.sql.SaveToFile() das Statement speichern und in IBExpert ausführen. Wenn da doch ein Tippfehler drin ist, findest DU den so am schnellsten. Anschließend halt nicht vergessen das SaveToFile wieder auszubauen...

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

AW: Stored Procedure updaten

  Alt 10. Mär 2011, 09:12
Hi,

was du auch versuchen kannst: über query.sql.SaveToFile() das Statement speichern und in IBExpert ausführen. Wenn da doch ein Tippfehler drin ist, findest DU den so am schnellsten. Anschließend halt nicht vergessen das SaveToFile wieder auszubauen...

Grüße
Danke, habe ich aber schon gemacht, daher kann ich mir sehr sicher sein, dass die SP OK ist!
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Stored Procedure updaten

  Alt 10. Mär 2011, 15:37
Nur eine Idee:

wenn man mit IBExpert ein Matadata Extract durchführt, kann man bei Stored Procedures gut sehen, dass zuerst der Statement Delimiter von ';' auf '^' umgesetzt wird, damit man im alter procedure statement das Semikolon als Anweisungstrenner verwenden kann. Und dann muss am Ende des Prozedurtextes das ^ stehen, also

Delphi-Quellcode:
alter procedure x
begin
  suspend;
end^ <<---
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

AW: Stored Procedure updaten

  Alt 10. Mär 2011, 17:37
komisch anscheinend liegt es nicht am update der variablen der SP.

Er meckert immer die erste Benutzung der Variablen an, aber nicht die Input- oder Output-Variablen.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

AW: Stored Procedure updaten

  Alt 11. Mär 2011, 13:19
Lösung:
Code:
query.paramcheck:=false
nun ist klar warum er auf die erste Variable innerhalb der Prozedur zeigt, da diese mit einem ":" beginnt.

Aber danke an alle!


@shmia nach deinem Post hätte es mir auffallen müssen! Ich habe den Test auf ParamCount übersehen!

Geändert von ibp (11. Mär 2011 um 13:26 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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