Declare @TEMP Table (FIL VARCHAR(200))
Declare @sqlVarchar(5000)
Declare @PI1Varchar(50)
Declare @PO1Varchar(50)
Declare @PP1Varchar(50)
Declare @idVarchar(14)
DECLARE @dbVarchar(255)
DECLARE @locVarchar(255)
Declare @empVarchar(02)
Declare @dirxmlVarchar( 300 )
Declare @dirdesVarchar( 300 )
Declare @diroriVarchar( 300 )
SET @id = '99888776000066'
SELECT @db = rtrim(db), @emp = rtrim(dmp) FROM REG00.dbo.Main WHERE id = @id
SET @PI1 = @db + '.dbo.PI1' + @emp + '0'
SET @PO1 = @db + '.dbo.PO1' + @emp + '0'
SET @PP1 = @db + '.dbo.PIP' + @emp + '0'
SET @dirori = 'C:\XML\' + @emp + '\'
SET @dirdes = 'C:\XML\ERRO\'
SET @sql = 'insert into ' + @TEMP + '(' +
' select PI1_P_ARQ FROM (select round(sum(PI1_vlr),2) as MAIN ,PI1_nmb,PI1_P_ARQ from ' + @PI1 + ' group by PI1_nmb,PI1_P_ARQ) A
JOIN (select round(sum(PO1_vlo),2) as PART,PO1_nmb from ' + @PO1 + ' group by PO1_nmb ) B
ON A.PI1_nmb = B.PO1_nmb
JOIN(select round(sum(PIP_vlr),2) as PAG,PIP_nmb, count(*) as PGT from ' + @PP1 + ' group by PIP_nmb ) C
ON C.PIP_nmb = B.PO1_nmb AND C.PIP_nmb=A.PI1_nmb
WHERE A.MAIN=B.PART OR A.MAIN<>C.PAG AND PGT = 1
ORDER BY PI1_P_ARQ)'
print (@sql)
EXEC (@sql)
SET @sql = 'SELECT 'xp_cmdshell ''move @dirori' + FIl' +' @dirdes''
GO ' FROM @TEMP
Exec (@sql)
Why these commands are wrong? How can I do to insert the result a table at @TEMP?
After I must read @temp and move files between directories
Declare @sqlVarchar(5000)
Declare @PI1Varchar(50)
Declare @PO1Varchar(50)
Declare @PP1Varchar(50)
Declare @idVarchar(14)
DECLARE @dbVarchar(255)
DECLARE @locVarchar(255)
Declare @empVarchar(02)
Declare @dirxmlVarchar( 300 )
Declare @dirdesVarchar( 300 )
Declare @diroriVarchar( 300 )
SET @id = '99888776000066'
SELECT @db = rtrim(db), @emp = rtrim(dmp) FROM REG00.dbo.Main WHERE id = @id
SET @PI1 = @db + '.dbo.PI1' + @emp + '0'
SET @PO1 = @db + '.dbo.PO1' + @emp + '0'
SET @PP1 = @db + '.dbo.PIP' + @emp + '0'
SET @dirori = 'C:\XML\' + @emp + '\'
SET @dirdes = 'C:\XML\ERRO\'
SET @sql = 'insert into ' + @TEMP + '(' +
' select PI1_P_ARQ FROM (select round(sum(PI1_vlr),2) as MAIN ,PI1_nmb,PI1_P_ARQ from ' + @PI1 + ' group by PI1_nmb,PI1_P_ARQ) A
JOIN (select round(sum(PO1_vlo),2) as PART,PO1_nmb from ' + @PO1 + ' group by PO1_nmb ) B
ON A.PI1_nmb = B.PO1_nmb
JOIN(select round(sum(PIP_vlr),2) as PAG,PIP_nmb, count(*) as PGT from ' + @PP1 + ' group by PIP_nmb ) C
ON C.PIP_nmb = B.PO1_nmb AND C.PIP_nmb=A.PI1_nmb
WHERE A.MAIN=B.PART OR A.MAIN<>C.PAG AND PGT = 1
ORDER BY PI1_P_ARQ)'
print (@sql)
EXEC (@sql)
SET @sql = 'SELECT 'xp_cmdshell ''move @dirori' + FIl' +' @dirdes''
GO ' FROM @TEMP
Exec (@sql)
Why these commands are wrong? How can I do to insert the result a table at @TEMP?
After I must read @temp and move files between directories