DEV Community

Roberto Vale
Roberto Vale

Posted on

EXEC master..xp_cmdshell Escrevendo em disco com SQL Server

IF object_id('tb_teste') is not null BEGIN DROP TABLE tb_teste END

create table tb_teste
(
codigo int identity(1,1) primary key,
texto varchar(200)
)

insert tb_teste values ('João Miguel')
insert tb_teste values ('Maria ')
insert tb_teste values ('João ')
insert tb_teste values ('Ana ')
insert tb_teste values ('Maria ')
insert tb_teste values ('João Pedro')
insert tb_teste values ('Maria Luiza')
insert tb_teste values ('João Miguel')
insert tb_teste values ('Enzo Gabriel')
insert tb_teste values ('João Lucas ')
insert tb_teste values ('João Pedro')
insert tb_teste values ('Pedro Henrique')
insert tb_teste values ('Davi Lucas')
insert tb_teste values ('Davi Lucca')
insert tb_teste values ('João Gabriel')
insert tb_teste values ('Miguel')
insert tb_teste values ('Arthur Miguel')
insert tb_teste values ('Maria Cecilia')
insert tb_teste values ('Maria Eduarda')
insert tb_teste values ('Maria Alice')
insert tb_teste values ('Ana Julia')
insert tb_teste values ('Maria Clara')
insert tb_teste values ('Maria Luiza')
insert tb_teste values ('Maria Julia')
insert tb_teste values ('Ana Laura')
insert tb_teste values ('Ana Clara')
insert tb_teste values ('Maria Vitoria')

IF object_id('tempdb.dbo.#TABLE_Cont') is not null BEGIN DROP TABLE #TABLE_Cont END
CREATE TABLE #TABLE_Cont ( COD_SEQ [int] IDENTITY(1,1) NOT NULL,
texto varchar(200)
)
insert into #TABLE_Cont (texto)
select distinct texto
from tb_teste
order by texto

declare @COD_SEQ int
DECLARE @cmd varchar(8000), @var varchar(8000)

set @var = '< table border=1 >'

while (SELECT COUNT(*) FROM #TABLE_Cont) > 0 --Inicio do while
BEGIN

SELECT @COD_SEQ = MAX(COD_SEQ) FROM #TABLE_Cont

select   @var = @var + '< tr >< td >' + texto  + '< /td >< /tr >'  from #TABLE_Cont WHERE COD_SEQ = @COD_SEQ

delete #TABLE_Cont WHERE COD_SEQ = @COD_SEQ
Enter fullscreen mode Exit fullscreen mode

END
set @var = @var + '< /table >'

SET @cmd = 'echo "' + @var + '" > C:\inetpub\wwwroot\tb_teste.html';
print @cmd
EXEC master..xp_cmdshell @cmd ;

Top comments (0)