Hallo zusammen,
ich habe eine kleine Funktion für SQL-Server 2005 gebastelt, die jetzt auch im SQL-Server 2000 lauffähig werden muss.
Leider funktioniert das Fehlerhandling von 2005 nicht in 2000.
Kann mir da jemand einen Tip geben?
Hier der 2005er Code
[highlight=sql]
declare @STCursor cursor
declare @view varchar(500)
declare @befehl varchar(8000)
set @STCursor = CURSOR LOCAL FOR SELECT name FROM sysobjects where xtype='V'
OPEN @STCursor
FETCH NEXT FROM @STCursor INTO @view
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
exec sp_refreshview @view
END TRY
BEGIN CATCH
Print @view + ' wird gelöscht'
set @befehl = 'DROP VIEW ' + @view
exec(@befehl)
END CATCH
FETCH NEXT FROM @STCursor INTO @view
END
CLOSE @STCursor
DEALLOCATE @STCursor
[/highlight]
ich habe eine kleine Funktion für SQL-Server 2005 gebastelt, die jetzt auch im SQL-Server 2000 lauffähig werden muss.
Leider funktioniert das Fehlerhandling von 2005 nicht in 2000.
Kann mir da jemand einen Tip geben?
Hier der 2005er Code
[highlight=sql]
declare @STCursor cursor
declare @view varchar(500)
declare @befehl varchar(8000)
set @STCursor = CURSOR LOCAL FOR SELECT name FROM sysobjects where xtype='V'
OPEN @STCursor
FETCH NEXT FROM @STCursor INTO @view
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
exec sp_refreshview @view
END TRY
BEGIN CATCH
Print @view + ' wird gelöscht'
set @befehl = 'DROP VIEW ' + @view
exec(@befehl)
END CATCH
FETCH NEXT FROM @STCursor INTO @view
END
CLOSE @STCursor
DEALLOCATE @STCursor
[/highlight]