【问题标题】:Not Execute specific T-SQL code不执行特定的 T-SQL 代码
【发布时间】:2013-12-14 14:48:54
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    首先 -> google for 'SQLCLR File Functions'

    或者这样:

    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)'

    【讨论】:

      【解决方案2】:

      可以使用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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-10
        • 1970-01-01
        • 2014-07-30
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 2016-05-03
        • 1970-01-01
        相关资源
        最近更新 更多