Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#16

Re: INSERT INTO sonst UPDATE!

  Alt 15. Apr 2005, 19:19
Wenn du den Code zum Erstellen der Stored Procedure aus Delphi absetzt, dann solltest du vorder prüfen ob diese eventuell schon in der DB existiert.
Das geht so ...


SQL-Code:
  IF EXISTS (SELECT Name FROM SysObjects
                   WHERE Name = 'Meine_SP
                         AND
                         TYPE = 'P') -- P = Stored Procedure ...
       BEGIN
         ALTER PROCEDURE ... -- Procedure in DB aktualisieren
       END
       ELSE BEGIN
         CREATE PROCEDURE ... -- Procedure in DB erstellen
       END
Den SQL Code kannst du bequem über TAdoCommand an den MSSQL schicken.
Zu beachten ist jedoch, das der User, der diesen Code aus deinem Programm an den SQL-Server sendet, das Recht zum Erstellen, Ändern und Löschen von Datenbankobjekten hat. Jeder darf das nicht ...

[Zusatz]

Hier noch eine komplette Liste der TYPE Kennungen in SYSOBJECTTS ...
Falls mal jemand einen anderen Objekttyp suchen möchte ...

Objekttyp. Kann einer der folgenden Objekttypen sein:
C = CHECK-Einschränkung
D = Standard- oder DEFAULT-Einschränkung
F = FOREIGN KEY-Einschränkung
L = Protokoll
FN = Skalarfunktion
IF = Inlinetabellenfunktion
P = Gespeicherte Prozedur
PK = PRIMARY KEY-Einschränkung (Typ ist K)
RF = Gespeicherte Replikationsfilterprozedur
S = Systemtabelle
TF = Tabellenfunktion
TR = Trigger
U = Benutzertabelle
UQ = UNIQUE-Einschränkung (Typ ist K)
V = Sicht
X = Erweiterte gespeicherte Prozedur

[/Zusatz]


  Mit Zitat antworten Zitat