Hallo!
Ich habe folgendes Problem:
Eine Fehlerbehandlung nach dem Ausführen einer String-Variable die ein SQL-Statement enthält wird ignoriert.
Beispiel:
create table x (x1 smallint)
insert into x values (1)
If @@error <> 0
begin
...
end
Hier gibt es keine Probleme, aber im folgenden Fall
declare @anweisung as varchar(100)
create table x (x1 smallint)
set @anweisung = 'insert into x values (1)'
exec(@anweisung)If @@error <> 0
begin
...
end
In diesem Fall wird die Fehlerbehandlung ignoriert.
Relevant ist dies, wenn beispielsweise Tabellen oder Datenbanken dynamisch angesprochen werden sollen. Beispiel:
set @abfrage = 'insert into '+@datenbank+'.dbo.x values (1)'
exec(@abfrage)
In der Onlinedokumentation steht nichts zu dieser Form der Fehlerbehandlung.
Ist dieser Fehler bekannt und kann mir jemand helfen?
vielen Dank!
Holger Möller
Ich habe folgendes Problem:
Eine Fehlerbehandlung nach dem Ausführen einer String-Variable die ein SQL-Statement enthält wird ignoriert.
Beispiel:
create table x (x1 smallint)
insert into x values (1)
If @@error <> 0
begin
...
end
Hier gibt es keine Probleme, aber im folgenden Fall
declare @anweisung as varchar(100)
create table x (x1 smallint)
set @anweisung = 'insert into x values (1)'
exec(@anweisung)If @@error <> 0
begin
...
end
In diesem Fall wird die Fehlerbehandlung ignoriert.
Relevant ist dies, wenn beispielsweise Tabellen oder Datenbanken dynamisch angesprochen werden sollen. Beispiel:
set @abfrage = 'insert into '+@datenbank+'.dbo.x values (1)'
exec(@abfrage)
In der Onlinedokumentation steht nichts zu dieser Form der Fehlerbehandlung.
Ist dieser Fehler bekannt und kann mir jemand helfen?
vielen Dank!
Holger Möller
Comment