I'm trying to get this to work but I can't seem to get it right:SET NOCOUNT ONDECLARE @filepath varchar(1000)DECLARE @formatfile varchar(1000)DECLARE @filepattern varchar(100)DECLARE @dirquery varchar(2000)DECLARE @bcpquery varchar(2000)DECLARE @delquery varchar(2000)DECLARE @tablename varchar(128)DECLARE @max1 intDECLARE @count1 intDECLARE @filename varchar(100)/* Set Variables Here*/SET @count1 = 0SET @filepath = '\\wmg-lab-server\recalldata\teleminderin\'SET @formatfile = ' -f\\wmg-lab-server\recalldata\teleminderin\test.fmt'SET @filepattern = '*.*'CREATE TABLE #x (Name varchar(200))SET @dirquery = 'master.dbo.xp_cmdshell '+char(39)+'dir '+@filepath+@filepattern+' /b'+char(39)INSERT INTO #x EXEC (@dirquery) DELETE FROM #x WHERE NAME IS NULL OR NAME LIKE '%.fmt%'IF (SELECT count(*) FROM #x) = 0 GOTO FINISHSELECT IDENTITY(int,1,1) as ID, NAME INTO #y FROM #xSET @max1 = (SELECT MAX(ID) FROM #y)CREATE TABLE #resultlog (Results varchar(1000),[FileName] varchar(500))DECLARE @Print varchar(1000)--SELECT * FROM #YDECLARE @file varchar(100)DECLARE curImport CURSOR FAST_FORWARD LOCALFOR SELECT [Name] FROM #YOPEN curImportFETCH NEXT FROM curImport INTO @fileWHILE (@@FETCH_STATUS <> -1)BEGINCREATE TABLE #log (Results varchar(1000))SET @count1=@count1+1SET @filename = @file /*(SELECT NAME FROM #y WHERE [id] = @count1)*/SET @bcpquery = char(39)+'bcp WMGRecallSystem..TeleminderIn in '+@filepath +@filename+@formatfile+' -U sa -P sa'+char(39)SET @bcpquery = 'master.dbo.xp_cmdshell ' + @bcpqueryINSERT INTO #log EXEC ( @bcpquery) IF NOT EXISTS (SELECT * FROM #log WHERE RESULTS LIKE '%error%') BEGIN SET @delquery = char(39)+'del '+@filepath+@filename+char(39) SET @delquery = 'master.dbo.xp_cmdshell ' + @delquery EXEC ( @delquery) INSERT INTO #resultlog ('Success',@filename) END ELSE IF EXISTS (SELECT * FROM #log WHERE RESULTS LIKE '%error%') BEGIN INSERT INTO #resultlog ('Failure',@filename) ENDDROP TABLE #logFETCH NEXT FROM curImport INTO @fileENDCLOSE curImportDEALLOCATE curImportDROP TABLE #YDROP TABLE #DLOGGOTO THEENDFINISH: SET @PRINT = 'No Data In Directory To Process' GOTO THEENDTHEEND:DROP TABLE #X
I keep getting this error:Server: Msg 156, Level 15, State 1, Line 48Incorrect syntax near the keyword 'END'.Server: Msg 156, Level 15, State 1, Line 52Incorrect syntax near the keyword 'END'.I can't figure it out.