不执行特定的T-SQL代码

时间:2013-11-28 14:08:55

标签: sql sql-server xml sql-server-2012 sqlxml

目标:
如果文件不存在,则不应执行openrowset和@ XML.nodes的代码。

问题:
如果使用T-SQL代码不存在文件,语法代码应该是什么以及如何?

enter image description here

2 个答案:

答案 0 :(得分:1)

首先 - >谷歌搜索'SQLCLR文件功能'

或者这样:

DECLARE @isExists INT 
exec master.dbo.xp_fileexist 'yourfilename', @isExists OUTPUT
SELECT case @isExists when 1 then ‘Yes’ else ‘No’ end as isExists

此外,您会发现手册告诉您的有趣内容:

(google)'TRY ... CATCH(Transact-SQL)'

答案 1 :(得分:0)

您可以使用sql server内置扩展过程master.dbo.xp_fileexist

declare @result int
exec master.dbo.xp_fileexist 'C:\Users\Administrator\Downloads\aaaa.xml', @result output

if @result <> 0
begin
    set @xml = ...
emd