Translate

Wednesday, December 14, 2011

EXEC External Files

-- execute files
DECLARE @cmd varchar(1000), @dir varchar(1000), @ReturnCode int
SET @dir = N'Path'
SET @cmd = N'dir /b ' + @dir + N'\*.sql'
CREATE TABLE #DirResults (Diroutput varchar(500))
INSERT #DirResults
EXEC master..xp_cmdshell @command_string = @cmd
SELECT N'FOUND: ' + [Diroutput] FROM #DirResults
DECLARE constraint_cursor CURSOR FOR
SELECT [Diroutput]
FROM #DirResults
OPEN constraint_cursor
FETCH NEXT FROM constraint_cursor INTO @cmd
IF @@FETCH_STATUS <> 0
PRINT 'NOTE: Nothing to fetch'
WHILE @@FETCH_STATUS = 0
BEGIN
SET @dir = N'D:\SQLSer~2\Projects\Project1\Scripts\Table'
SET @cmd = 'osql -E -SServer -dDatabase -i ' + @dir + '\' + @cmd
EXEC @ReturnCode = master..xp_cmdshell @command_string = @cmd
PRINT 'ReturnCode: ' + CAST(@ReturnCode AS varchar) + ', ' + @cmd
FETCH NEXT FROM constraint_cursor INTO @cmd
END
CLOSE constraint_cursor
DEALLOCATE constraint_cursor
DROP TABLE #DirResults