<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=SQL_to_JSON_Stored_Procedure</id>
		<title>SQL to JSON Stored Procedure - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=SQL_to_JSON_Stored_Procedure"/>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=SQL_to_JSON_Stored_Procedure&amp;action=history"/>
		<updated>2026-08-18T07:03:55Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=SQL_to_JSON_Stored_Procedure&amp;diff=549&amp;oldid=prev</id>
		<title>Dt1nh6: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=SQL_to_JSON_Stored_Procedure&amp;diff=549&amp;oldid=prev"/>
				<updated>2016-05-09T13:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:27, 9 May 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='en'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Dt1nh6</name></author>	</entry>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=SQL_to_JSON_Stored_Procedure&amp;diff=548&amp;oldid=prev</id>
		<title>Macrop: Created page with &quot;Category:JSON Category:SQL Category:MVC Category:Web Services  &lt;pre class=&quot;brush:sql;&quot;&gt; /****** Object:  StoredProcedure [dbo].[GetJSON]    Script Date: 5/28/2...&quot;</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=SQL_to_JSON_Stored_Procedure&amp;diff=548&amp;oldid=prev"/>
				<updated>2014-10-09T21:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php?title=Category:JSON&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:JSON (page does not exist)&quot;&gt;Category:JSON&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:SQL&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:SQL (page does not exist)&quot;&gt;Category:SQL&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:MVC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:MVC (page does not exist)&quot;&gt;Category:MVC&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:Web_Services&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Web Services (page does not exist)&quot;&gt;Category:Web Services&lt;/a&gt;  &amp;lt;pre class=&amp;quot;brush:sql;&amp;quot;&amp;gt; /****** Object:  StoredProcedure [dbo].[GetJSON]    Script Date: 5/28/2...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:JSON]]&lt;br /&gt;
[[Category:SQL]]&lt;br /&gt;
[[Category:MVC]]&lt;br /&gt;
[[Category:Web Services]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:sql;&amp;quot;&amp;gt;&lt;br /&gt;
/****** Object:  StoredProcedure [dbo].[GetJSON]    Script Date: 5/28/2013 4:31:01 PM ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
 &lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
 &lt;br /&gt;
CREATE procedure [dbo].[GetJSON]&lt;br /&gt;
(&lt;br /&gt;
@table_name varchar(50),&lt;br /&gt;
@department varchar(50) = null,&lt;br /&gt;
@registries_per_request smallint = null&lt;br /&gt;
)&lt;br /&gt;
as&lt;br /&gt;
begin&lt;br /&gt;
-- &lt;br /&gt;
-- Author:    Thiago R. Santos										   --&lt;br /&gt;
-- Create date: Aug 3rd 2008    										       --&lt;br /&gt;
-- Description: Returns the contents of a given table					   --&lt;br /&gt;
--  			in JavaScript Object Notation.							   --&lt;br /&gt;
-- Params:  															   --&lt;br /&gt;
--      @table_name: the table to execute the query						   --&lt;br /&gt;
--      @registries_per_request: equivalent to &amp;quot;select top N * from table&amp;quot; &lt;br /&gt;
-- &lt;br /&gt;
--  							 replcing N by the actual number		   &lt;br /&gt;
-- Influenced by Thomas Frank's post MySQL to JSON @ January 23, 2007      --&lt;br /&gt;
-- Post Url: http://www.thomasfrank.se/mysql_to_json.html  &lt;br /&gt;
--&lt;br /&gt;
-- Modified by David Young (@deepinthecode http://twitter.com/deepinthecode &lt;br /&gt;
-- http://deepinthecode.com) to allow for a longer JSON return value,&lt;br /&gt;
-- changed table to temporary table                --&lt;br /&gt;
 &lt;br /&gt;
if((select count(*) from information_schema.tables where table_name = @table_name) &amp;gt; 0)&lt;br /&gt;
	begin&lt;br /&gt;
		declare	@json varchar(max),&lt;br /&gt;
				@line varchar(max),&lt;br /&gt;
				@columns varchar(max),&lt;br /&gt;
				@sql nvarchar(max),&lt;br /&gt;
				@columnNavigator varchar(50),&lt;br /&gt;
				@counter int,&lt;br /&gt;
				@size varchar(10),&lt;br /&gt;
				@departmentname varchar(50)&lt;br /&gt;
 &lt;br /&gt;
		set @departmentname = ''&lt;br /&gt;
		if @department IS NOT NULL SET @departmentname = ',&amp;quot;ResponsibleDepartment&amp;quot;:&amp;quot;'+convert(varchar,@department)+'&amp;quot;'&lt;br /&gt;
 &lt;br /&gt;
		if (@registries_per_request is null) &lt;br /&gt;
		begin&lt;br /&gt;
			set @size = ''&lt;br /&gt;
		end&lt;br /&gt;
		else &lt;br /&gt;
		begin&lt;br /&gt;
			set @size = 'top ' + convert(varchar, @registries_per_request)&lt;br /&gt;
		end&lt;br /&gt;
		set	@columns = '{'&lt;br /&gt;
 &lt;br /&gt;
		declare	schemaCursor cursor&lt;br /&gt;
		for select column_name from information_schema.columns where table_name = @table_name&lt;br /&gt;
		open	schemaCursor	&lt;br /&gt;
 &lt;br /&gt;
		fetch next from schemaCursor&lt;br /&gt;
		into  @columnNavigator&lt;br /&gt;
 &lt;br /&gt;
		select	@counter = count(*) from information_schema.columns where table_name = @table_name&lt;br /&gt;
 &lt;br /&gt;
		while @@fetch_status = 0&lt;br /&gt;
		begin&lt;br /&gt;
			set @columns = @columns + '&amp;quot;' + @columnNavigator + '&amp;quot;:&amp;quot;'' + isnull(convert(varchar, [' + @columnNavigator + ']),''N/A'') + ''&amp;quot;'&lt;br /&gt;
			set @counter = @counter - 1&lt;br /&gt;
			if(0 != @counter) &lt;br /&gt;
			begin&lt;br /&gt;
				set @columns = @columns + ','&lt;br /&gt;
			end&lt;br /&gt;
 &lt;br /&gt;
			fetch next from schemaCursor&lt;br /&gt;
			into  @columnNavigator&lt;br /&gt;
		end	&lt;br /&gt;
 &lt;br /&gt;
		set	@columns =  @columns + @departmentname + '}'&lt;br /&gt;
 &lt;br /&gt;
		close		schemaCursor&lt;br /&gt;
		deallocate	schemaCursor&lt;br /&gt;
 &lt;br /&gt;
		if OBJECT_ID('tempdb..#tmpJsonTable') IS NOT NULL&lt;br /&gt;
			DROP TABLE #tmpJsonTable&lt;br /&gt;
 &lt;br /&gt;
		CREATE TABLE #tmpJsonTable&lt;br /&gt;
		(&lt;br /&gt;
			json NVARCHAR(MAX) NULL&lt;br /&gt;
		)&lt;br /&gt;
		&lt;br /&gt;
		set	@json = '['&lt;br /&gt;
		set @sql = 'insert into #tmpJsonTable select ' + @size + '''' + @columns + ''' as json from ' + @table_name&lt;br /&gt;
		exec sp_sqlexec @sql&lt;br /&gt;
		select	@counter = count(*) from #tmpJsonTable&lt;br /&gt;
 &lt;br /&gt;
		declare	tmpCur cursor&lt;br /&gt;
		for		select * from #tmpJsonTable&lt;br /&gt;
		open	tmpCur&lt;br /&gt;
 &lt;br /&gt;
		fetch next from tmpCur&lt;br /&gt;
		into  @line&lt;br /&gt;
 &lt;br /&gt;
		while @@fetch_status = 0&lt;br /&gt;
		begin&lt;br /&gt;
			set	@counter = @counter - 1&lt;br /&gt;
			set @json = @json + @line&lt;br /&gt;
			if ( 0 != @counter ) &lt;br /&gt;
			begin&lt;br /&gt;
				set @json = @json + ','&lt;br /&gt;
			end&lt;br /&gt;
 &lt;br /&gt;
			fetch next from tmpCur&lt;br /&gt;
			into  @line&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		set	@json = @json + ']'&lt;br /&gt;
 &lt;br /&gt;
		close		tmpCur&lt;br /&gt;
		deallocate	tmpCur&lt;br /&gt;
		drop table	#tmpJsonTable&lt;br /&gt;
 &lt;br /&gt;
		select @json as json&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macrop</name></author>	</entry>

	</feed>