Hallo,
ich habe ein Problem bei SQL.
Will in einer Stored Procedere nach einer IF Abfrage
eine QUIT Rollback machen und vorher noch ne Update Funktion.
Das geht aber nicht…irgendwie scheint es als kann er nach dem If nur eine Anweisung ausführen, da bringt auch ein BEGIN END nichts…
Hier der Auszug.
Betrifft das Ende…(grün markiert)
Sowohl das Update als auch das Rollback sollen laufen…
WER weiß Rat?
If @P3 = 1 OR @P4 = 1 OR @P5 = 1 OR @P6 = 1 OR @P7 = 1
BEGIN
– STEP3 NOTIFICATION
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N’STEP3_Notification’,
@step_id=@myStepCounter,
@cmdexec_success_code=0, @on_success_action=3, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0,
@subsystem=N’TSQL’,
@command=‘UPDATE ascDWH_sysSettings SET VALUE = ‘’[CSV_Bewegungsdaten] started: ‘’ + CONVERT( varchar, GETDATE(), 120) WHERE VARIABLE = ‘‘CurrentJobStep’’’,
@database_name=N’ascDWH’, @flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
SET @myStepCounter = @myStepCounter + 1
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId,
@step_name=N’Bewegungsdaten’,
@step_id=@myStepCounter,
@cmdexec_success_code=0, @on_success_action=3, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N’SSIS’,
@command=@myPackage3,
@database_name=N’master’, @flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0)
UPDATE [ascDWH].[dbo].[ascDWH_sysS ettings] SET VALUE = 'Fehler im Import, Vorgang wurde abgebrochen … ’ WHERE VARIABLE = ‘CurrentJobStep’
GOTO QuitWithRollback
SET @myStepCounter = @myStepCounter + 1