Hallo,
ich möchte, dass mein Skript nur ausgeführt wird, wenn die Datenbank eine bestimmte Version hat (die in einer Tabelle gepflegt wird). Ansonsten soll der Anwender eine Fehlermeldung bekommen und das Skript soll abgebrochen werden.
Ich hatte es mit der GoTo-Anweisung versucht, aber da im Skript mehrere GO's und COMMIT's vorhanden sind, funktioniert das leider nicht wirklich.
Kennt da vielleicht jemand eine Lösung für?
[highlight=sql-server]
if ((select DB_Version from TM_Versioninfo) <> '2.2')
Begin
Print 'Für diese Datenbankversion ist das Skript nicht zulässig!'
GoTo Beenden
end
/** Skriptanfang **/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
select * from TM_Versioninfo
COMMIT
/** Skriptende **/
Beenden:
[/highlight]
ich möchte, dass mein Skript nur ausgeführt wird, wenn die Datenbank eine bestimmte Version hat (die in einer Tabelle gepflegt wird). Ansonsten soll der Anwender eine Fehlermeldung bekommen und das Skript soll abgebrochen werden.
Ich hatte es mit der GoTo-Anweisung versucht, aber da im Skript mehrere GO's und COMMIT's vorhanden sind, funktioniert das leider nicht wirklich.
Kennt da vielleicht jemand eine Lösung für?
[highlight=sql-server]
if ((select DB_Version from TM_Versioninfo) <> '2.2')
Begin
Print 'Für diese Datenbankversion ist das Skript nicht zulässig!'
GoTo Beenden
end
/** Skriptanfang **/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
select * from TM_Versioninfo
COMMIT
/** Skriptende **/
Beenden:
[/highlight]
Comment