tracking_table
是一个日志表,声明如下:
create table tracking_table (my_command nvarchar(500), my_date datetime);
请假设您有以下 SQL SERVER 2005 代码块,在 SQL Server 2005 作业中声明:
DECLARE @my_statement NVARCHAR(500)
delete from tracking_table
SET @my_statement = 'ALTER INDEX ALL ON my_user.dbo.my_fact_table REBUILD WITH (FILLFACTOR = 90)'
insert into tracking_table values (@my_statement,getdate())
EXEC (@my_statement)
SET @my_statement = 'ALTER INDEX ALL ON my_user.dbo.my_second_table REBUILD WITH (FILLFACTOR = 90)'
insert into tracking_table (@my_statement,getdate())
EXEC (@my_statement)
在运行时,如果第一条语句 ( ALTER INDEX ALL ON my_user.dbo.my_fact_table REBUILD WITH (FILLFACTOR=90)
) 失败,则不会执行作用于 my_second 表的第二条语句。
我想知道如何修改 SQL Server 2005 代码,以跳过任何错误,继续前进(在 Oracle 中我会说,WHEN OTHERS THEN NULL
)。
我怎么能做到这一点?
预先感谢您的帮助。