22,207
社区成员
发帖
与我相关
我的任务
分享
--作业中步骤1的脚本:
DECLARE @path NVARCHAR(255)
DECLARE @t TABLE (File_Exists INT,File_is_a_Directory INT,Parent_Directory_Exists INT)
SET @path='d:\data.txt' --路径自己改
SET NOCOUNT ON
INSERT INTO @t
EXEC [MASTER]..XP_FILEEXIST @path
IF EXISTS(SELECT 1 FROM @t WHERE File_Exists=1)
BEGIN
PRINT '存在文件……'
PRINT '开始导入……'
END
ELSE
BEGIN
PRINT '不存在文件……'
RAISERROR('不存在文件,不执行下一步的导入……',16,1)
END
CREATE FUNCTION fun_ExistFile
(
@filePath VARCHAR(800)
)
RETURNS INT
AS
BEGIN
DECLARE @result INT
EXEC MASTER.dbo.xp_fileexist @filePath,
@result OUT
RETURN @result
END
IF dbo.fun_ExistFile('c:\data.txt')=1 --第一步判断
BEGIN
BULK INSERT 表 --第二步插入数据
FROM 'C:\data.txt'
WITH
( FIELDTERMINATOR =' ',
ROWTERMINATOR ='\n',
KILOBYTES_PER_BATCH=5000
)
END
DECLARE @path NVARCHAR(255)
DECLARE @t TABLE (File_Exists INT,File_is_a_Directory INT,Parent_Directory_Exists INT)
SET @path='d:\data.txt' --路径自己改
SET NOCOUNT ON
INSERT INTO @t
EXEC [MASTER]..XP_FILEEXIST @path
IF EXISTS(SELECT 1 FROM @t WHERE File_Exists=1)
BEGIN
PRINT '存在文件……'
PRINT '开始导入……'
--如果只想在下一步执行导入,
--也可以往自己设置的一个表里面插入一条数据,
--在下一步骤根据这个表来判断
END
ELSE
BEGIN
PRINT '不存在文件……'
END