SQL每次都写入一个文件号递增1的文件

时间:2013-12-12 19:59:24

标签: sql file filenames

在sql中,我正在编写一个名为" TodaysData"的CSV文件。我希望能够在末尾用一个数字命名,所以每次作业执行时都会将文件名称加上增加的数字,例如

TodaysData.001 TodaysData.002 TodaysData.003等

请有人帮我解决此问题的代码

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到。最简单的一种方法是将值存储在表中,因为此作业可以每天执行多次。

CREATE TABLE MyFileCountTable
    (
     File_Date DATE
    ,File_Count INT
    )


DECLARE @FileCount INT;

IF (
     SELECT COUNT(*)
        FROM MyTable
        WHERE File_Date = CONVERT(DATE, GETDATE())
   ) = 0
    BEGIN 
        INSERT INTO MyTable VALUES (CONVERT(DATE, GETDATE()), 1)
        SET @FileCount = 1
    END
ELSE
    BEGIN
        SELECT @FileCount = File_Count
            FROM MyTable
            WHERE File_Date = CONVERT(DATE, GETDATE())
    END

--Code here to produce the file and append @FileCount

UPDATE MyTable
    SET File_Count = File_Count + 1
    WHERE File_Date = CONVERT(DATE, GETDATE())