我需要一次向数据库 插入大约500张图像。 我有一个脚本,即建立多个查询脚本:在多个插入脚本中处理错误(sql)
SELECT 'INSERT INTO [truvle].[dbo].[Ads_Images]([Img_adId],[Img_image])
SELECT CONVERT(INT, ' + CAST([Ad_id] AS VARCHAR) + ')' +
',(SELECT * FROM OPENROWSET(BULK N''' + [Ad_path] + ''', SINGLE_BLOB) as [something]) GO'
FROM [truvle].[dbo].[Ads]
在结果我得到500 “插入” 查询,像这样:
...
INSERT INTO [truvle].[dbo].[Ads_Images]([Img_adId],[Img_image])
SELECT CONVERT(INT, 1),(SELECT * FROM OPENROWSET(BULK N'some_path/Banners/58097048.gif', SINGLE_BLOB) as [something])
GO
INSERT INTO [truvle].[dbo].[Ads_Images]([Img_adId],[Img_image])
SELECT CONVERT(INT, 2),(SELECT * FROM OPENROWSET(BULK N'some_path/Banners/10404012.gif', SINGLE_BLOB) as [something]) GO
INSERT INTO [truvle].[dbo].[Ads_Images]([Img_adId],[Img_image])
SELECT CONVERT(INT, 3),(SELECT * FROM OPENROWSET(BULK N'some_path/Banners/10398875.gif', SINGLE_BLOB) as [something]) GO
...
但是,当我运行这个脚本,并在某些单个查询(例如文件不存在)时出现错误,脚本停止工作,因此我必须删除错误排并再次运行它。 是否存在一些方法来跳过有缺陷的查询并保持整个脚本运行?
谢谢, 凯蒂。
它的工作原理非常感谢! – 2010-10-28 13:16:18