Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql xp_dirtree,在文件计数上有一个while循环_Sql_Sql Server_Tsql_Sql Server 2016 - Fatal编程技术网

Sql xp_dirtree,在文件计数上有一个while循环

Sql xp_dirtree,在文件计数上有一个while循环,sql,sql-server,tsql,sql-server-2016,Sql,Sql Server,Tsql,Sql Server 2016,我正在尝试编写一个存储过程,该存储过程在自身中循环,直到满足设置的文件计数,然后继续。然而,自从我创建了一个带有结果的临时表之后,我就无法将其放入while循环的游标中 下面是获取文件的查询 DROP TABLE IF EXISTS #1 CREATE TABLE #1 ( id int IDENTITY(1,1) ,subdirectory nvarchar(512) ,depth int ,isfile bit); INSERT #1

我正在尝试编写一个存储过程,该存储过程在自身中循环,直到满足设置的文件计数,然后继续。然而,自从我创建了一个带有结果的临时表之后,我就无法将其放入while循环的游标中

下面是获取文件的查询

DROP TABLE IF EXISTS #1
CREATE TABLE #1 (
       id int IDENTITY(1,1)
      ,subdirectory nvarchar(512)
      ,depth int
      ,isfile bit);

 INSERT #1 
EXEC xp_dirtree '\\ServerName\File_BackUp\CSV\', 10, 1
SELECT COUNT(ID) FROM #1;
是否可以将其包装,使其保持循环,直到计数达到10?

一段时间在这里应该可以正常工作。尝试:

WHILE (SELECT COUNT(ID) FROM #1 < 10)
BEGIN
    INSERT #1
    EXEC xp_dirtree '\\ServerName\File_BackUp\CSV\', 10, 1
    WAITFOR DELAY '00:00:05'    -- Wait five seconds between checks
                                -- so you don't flog your machine badly.
END
在这里呆一段时间就可以了。尝试:

WHILE (SELECT COUNT(ID) FROM #1 < 10)
BEGIN
    INSERT #1
    EXEC xp_dirtree '\\ServerName\File_BackUp\CSV\', 10, 1
    WAITFOR DELAY '00:00:05'    -- Wait five seconds between checks
                                -- so you don't flog your machine badly.
END

您的问题看起来像是某种集成场景检查传入文件的目录

如果您的案例严重依赖于移动文件、转换、加载等 我建议为此使用适当的工具,如SQLServer集成服务

您可以轻松构建FileWatcher任务:

或使用第三方:

“文件观察者”任务实际上是在观察等待文件的文件夹。找到可用文件后,任务完成,返回文件名,以便在包中继续使用


您的问题看起来像是某种集成场景检查传入文件的目录

如果您的案例严重依赖于移动文件、转换、加载等 我建议为此使用适当的工具,如SQLServer集成服务

您可以轻松构建FileWatcher任务:

或使用第三方:

“文件观察者”任务实际上是在观察等待文件的文件夹。找到可用文件后,任务完成,返回文件名,以便在包中继续使用