Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Guardar Resultado de Procedimiento SQL server 2012

Estas en el tema de Guardar Resultado de Procedimiento SQL server 2012 en el foro de SQL Server en Foros del Web. Buenas, tengo el siguiente procedimiento almacenado: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original USE [ JackFack ] GO /****** Object:  StoredProcedure [dbo].[SerializeJSON]    Script Date: 26/8/2015 ...
  #1 (permalink)  
Antiguo 26/08/2015, 14:19
 
Fecha de Ingreso: agosto-2015
Mensajes: 2
Antigüedad: 8 años, 7 meses
Puntos: 0
Guardar Resultado de Procedimiento SQL server 2012

Buenas, tengo el siguiente procedimiento almacenado:

Código SQL:
Ver original
  1. USE [JackFack]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[SerializeJSON]    Script Date: 26/8/2015 4:17:45 p. m. ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9. ALTER PROCEDURE [dbo].[SerializeJSON] (@ParameterSQL AS VARCHAR(MAX))
  10. AS
  11. BEGIN
  12.     DECLARE @SQL NVARCHAR(MAX)
  13.     DECLARE @XMLString VARCHAR(MAX)
  14.     DECLARE @XML XML
  15.     DECLARE @Paramlist NVARCHAR(1000)
  16.  
  17.     SET @Paramlist = N'@XML XML OUTPUT'
  18.     SET @SQL = 'WITH PrepareTable (XMLString)'
  19.     SET @SQL = @SQL + 'AS('
  20.     SET @SQL = @SQL + @ParameterSQL + ' FOR XML RAW,TYPE,ELEMENTS'
  21.     SET @SQL = @SQL + ')'
  22.     SET @SQL = @SQL + 'SELECT @XML=[XMLString]FROM[PrepareTable]'
  23.  
  24.     EXEC sp_executesql @SQL
  25.         , @Paramlist
  26.         , @XML = @XML OUTPUT
  27.  
  28.     SET @XMLString = CAST(@XML AS VARCHAR(MAX))
  29.  
  30.     DECLARE @JSON VARCHAR(MAX)
  31.     DECLARE @ROW VARCHAR(MAX)
  32.     DECLARE @RowStart INT
  33.     DECLARE @RowEnd INT
  34.     DECLARE @FieldStart INT
  35.     DECLARE @FieldEnd INT
  36.     DECLARE @KEY VARCHAR(MAX)
  37.     DECLARE @VALUE VARCHAR(MAX)
  38.     DECLARE @StartRoot VARCHAR(100);
  39.  
  40.     SET @StartRoot = '<row>'
  41.  
  42.     DECLARE @EndRoot VARCHAR(100);
  43.  
  44.     SET @EndRoot = '</row>'
  45.  
  46.     DECLARE @StartField VARCHAR(100);
  47.  
  48.     SET @StartField = '<'
  49.  
  50.     DECLARE @EndField VARCHAR(100);
  51.  
  52.     SET @EndField = '>'
  53.     SET @RowStart = CharIndex(@StartRoot, @XMLString, 0)
  54.     SET @JSON = ''
  55.  
  56.     WHILE @RowStart > 0
  57.     BEGIN
  58.         SET @RowStart = @RowStart + Len(@StartRoot)
  59.         SET @RowEnd = CharIndex(@EndRoot, @XMLString, @RowStart)
  60.         SET @ROW = SUBSTRING(@XMLString, @RowStart, @RowEnd - @RowStart)
  61.         SET @JSON = @JSON + '{'
  62.         -- for each row
  63.         SET @FieldStart = CharIndex(@StartField, @ROW, 0)
  64.  
  65.         WHILE @FieldStart > 0
  66.         BEGIN
  67.             -- parse node key
  68.             SET @FieldStart = @FieldStart + Len(@StartField)
  69.             SET @FieldEnd = CharIndex(@EndField, @ROW, @FieldStart)
  70.             SET @KEY = SUBSTRING(@ROW, @FieldStart, @FieldEnd - @FieldStart)
  71.             SET @JSON = @JSON + '"' + @KEY + '":'
  72.             -- parse node value
  73.             SET @FieldStart = @FieldEnd + 1
  74.             SET @FieldEnd = CharIndex('</', @ROW, @FieldStart)
  75.             SET @VALUE = SUBSTRING(@ROW, @FieldStart, @FieldEnd - @FieldStart)
  76.             SET @JSON = @JSON + '"' + @VALUE + '",'
  77.             SET @FieldStart = @FieldStart + Len(@StartField)
  78.             SET @FieldEnd = CharIndex(@EndField, @ROW, @FieldStart)
  79.             SET @FieldStart = CharIndex(@StartField, @ROW, @FieldEnd)
  80.         END
  81.  
  82.         IF LEN(@JSON) > 0
  83.             SET @JSON = SUBSTRING(@JSON, 0, LEN(@JSON))
  84.         SET @JSON = @JSON + '},'
  85.         --/ for each row
  86.         SET @RowStart = CharIndex(@StartRoot, @XMLString, @RowEnd)
  87.     END
  88.  
  89.     IF LEN(@JSON) > 0
  90.         SET @JSON = SUBSTRING(@JSON, 0, LEN(@JSON))
  91.     SET @JSON = '[' + @JSON + ']'
  92.  
  93.     SELECT @JSON
  94.    
  95.    
  96. END
[/B]

Mi pregunta es la siguiente, como puedo guardar el resultado de dicho procedimiento en un archivo txt?

aguardo sus comentaros, desde ya muchas gracias!

Última edición por gnzsoloyo; 26/08/2015 a las 14:29 Razón: Pesimamente etiquetado.
  #2 (permalink)  
Antiguo 26/08/2015, 14:47
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 7 meses
Puntos: 774
Respuesta: Guardar Resultado de Procedimiento SQL server 2012

sip se podria, con un batch file que ejecute el sqlcmd y le das salida a texto y listo ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: 2012, almacenado, procedimiento, resultado, select, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.