Registriert seit: 5. Nov 2008
97 Beiträge
Delphi XE2 Professional
|
AW: TADOCommand mit Parametern - PK-Verletzung
12. Jun 2012, 15:30
DECLARE @Transe CHAR(8) = 'Transe00';
BEGIN TRANSACTION @Transe;
DECLARE @ID INT;
SET @ID=:WID;
IF (EXISTS(SELECT * FROM ST_VKL WHERE ID=@ID))
UPDATE ST_VKL SET NAME=:UNAME
WHERE ID=@ID
ELSE
INSERT INTO ST_VKL
(ID,NAME)
VALUES(:IID,:INAME);
IF @@ERROR = 0
COMMIT TRANSACTION @Transe
ELSE
ROLLBACK TRANSACTION @Transe;
so sieht es jetzt aus.
ich habe das declare nur für die parameter gemacht, die im where verwendet werden, also zum PK gehören,
weil ich allgemein (=ohne die spezifische table zu kennen) nur für die garantieren kann, dass sie integer sind
es hat leider nicht funktioniert :/
|