这是我正在使用的sql 2000数据库.
我有一个我称之为临时表的数据原始数据转储,所以一切都是ntext或nvarchar(255).
我需要将所有这些数据转换/转换为适当的数据类型(即int,decimal,nvarchar等)
我要这样做的方法是使用while循环迭代所有记录,并在每次迭代期间在单个记录上的每一列上尝试CAST,在我访问特定记录后,我将其标记为已处理(位字段).
但是,如果/如果它发生但如何允许while循环继续,我该如何记录错误.
起初我在本地SQL 2005实例中使用TRY CATCH实现了这个(为了让项目继续进行)并且一切运行良好,但我今天了解到国际DBA设置的开发和生产数据库是SQL 2000实例所以我必须遵守.
编辑:我正在使用SSIS包来填充登台表.我看到现在我必须重新访问该包并实现一个脚本组件来处理转换.多谢你们
编辑:我在记录的基础上这样做,而不是批量插入,所以交易的想法似乎是可行的但我不知道如何陷阱@@ ERROR并允许存储过程继续.
编辑:我真的很喜欢Guy的方法,我将以这种方式实现它.