在SQL Query中使用while循环

时间:2017-08-26 20:17:39

标签: sql sql-server sql-server-2008

使用xp_dirtree,我获取文件夹中的文件列表。在while循环中,我按文件将文件加载到表中。

我的while循环语法不正确,因为结果循环继续运行并加载相同的文件。

CREATE TABLE #t1(XmlCol XML)  

    create table #t (filename nvarchar(4000))
 insert into #t
          SELECT TOP 1 Subdirectory  FROM #directory
          WHERE [file] = 1 AND RIGHT(subdirectory, 4) = '.xml'

    WHILE EXISTS (SELECT TOP 1 1 FROM #directory)
    BEGIN


          INSERT INTO #T1(XmlCol)  
SELECT * FROM OPENROWSET(  
   BULK 'C:\Test\Test1.xml',  
   SINGLE_BLOB) AS x; 


    END

在BULK' C:\ Test \ Test1.xml'语法,我需要逐个文件传递。加载文件#1,然后加载下一个文件。不使用Cursor,我试图通过while循环实现这一点。

1 个答案:

答案 0 :(得分:0)

为什么不这样做?

insert into #t(filename)
  select Subdirectory  
  from #directory
  where [file] = 1 and subdirectory like '%.xml';

select中的while似乎无效。