Мне нужно вставить около 500 изображений в базу данных
однажды.
У меня есть сценарий, который создает сценарий нескольких запросов:
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
...
Но когда я запускаю этот скрипт и в каком-то одном запросе возникает ошибка (например, файл не существует), скрипт перестает работать
поэтому я должен удалить неправильный ряд и запустить его снова.
Существует ли какой-либо способ пропустить дефектный запрос и сохранить работу всего скрипта?
Спасибо,
Katy.