<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dushyanth Jyothi &#187; MS SQL SERVER</title>
	<atom:link href="http://dushi.co.uk/tag/ms-sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://dushi.co.uk</link>
	<description>Me, My Life and the Binary</description>
	<lastBuildDate>Thu, 22 Jul 2010 21:14:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Loop through database tables and columns</title>
		<link>http://dushi.co.uk/15/07/2009/loop-through-database-tables-and-columns/</link>
		<comments>http://dushi.co.uk/15/07/2009/loop-through-database-tables-and-columns/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 10:50:06 +0000</pubDate>
		<dc:creator>Dushyanth Jyothi</dc:creator>
				<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MS SQL SERVER]]></category>
		<category><![CDATA[Stored Procedure]]></category>

		<guid isPermaLink="false">http://dushi.co.uk/?p=76</guid>
		<description><![CDATA[T-SQL code [Stored Procedure] to loop through all tables and all columns in a databaseApplies to MS SQL SERVER 2008Change [DATABASE_NAME],[SCHEMA_NAME],[USER_NAME] accordinglyStored Procedure:&#160;T-SQL&#160;&#124;&#160;&#160;copy&#160;code&#160;&#124;?&#160;01USE &#91;DATABASE_NAME&#93;02GO03SET ANSI_NULLS ON04GO05SET QUOTED_IDENTIFIER ON06GO07CREATE PROC &#91;SCHEMA_NAME&#93;.&#91;loop_Through_Tables_Columns&#93;08AS09BEGIN10&#160;11	SET NOCOUNT ON12	DECLARE @TableName NVARCHAR&#40;256&#41;13	DECLARE @ColumnName NVARCHAR&#40;128&#41;14	SET  @TableName = ''15&#160;16	WHILE @TableName IS NOT NULL17	BEGIN18		SET @ColumnName = ''19		SET @TableName = 20			&#40;SELECT MIN&#40;QUOTENAME&#40;TABLE_SCHEMA&#41; + '.' + QUOTENAME&#40;TABLE_NAME&#41;&#41; [...]]]></description>
			<content:encoded><![CDATA[<strong>T-SQL code [Stored Procedure] to loop through all tables and all columns in a database</strong><br /><br /><strong>Applies to MS SQL SERVER 2008</strong><br /><br />Change [DATABASE_NAME],[SCHEMA_NAME],[USER_NAME] accordingly<br /><br /><br /><strong>Stored Procedure:</strong><br /><pre class="devcodeblock" title="T-SQL"><table class="devcodetools"><tbody><tr><td>&nbsp;T-SQL&nbsp;|&nbsp;</td><td style="background-image:url('http://dushi.co.uk/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard3" src="http://dushi.co.uk/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&width=16&height=16" wmode="transparent" /></td><td>&nbsp;copy&nbsp;code&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">01</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">USE</span> <span style="color: #808080;">&#91;</span>DATABASE_NAME<span style="color: #808080;">&#93;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">02</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">GO</pre></td></tr><tr><td class="devcodelines" width="1%">03</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">SET</span> ANSI_<span style="color: #808080;">NULL</span>S <span style="color: #0000FF;">ON</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">04</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">GO</pre></td></tr><tr><td class="devcodelines" width="1%">05</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">SET</span> QUOTED_IDENTIFIER <span style="color: #0000FF;">ON</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">06</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">GO</pre></td></tr><tr><td class="devcodelines" width="1%">07</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">PROC</span> <span style="color: #808080;">&#91;</span>SCHEMA_NAME<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>loop_Through_Tables_Columns<span style="color: #808080;">&#93;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">08</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #0000FF;">AS</span></pre></td></tr><tr><td class="devcodelines" width="1%">09</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">BEGIN</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">10</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">&nbsp;</pre></td></tr><tr><td class="devcodelines" width="1%">11</td><td class="devcodelinesarea"><pre class="devcode devcodeline">	<span style="color: #0000FF;">SET</span> <span style="color: #0000FF;">NOCOUNT</span> <span style="color: #0000FF;">ON</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">12</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">	<span style="color: #0000FF;">DECLARE</span> @TableName <span style="color: #0000FF;">NVARCHAR</span><span style="color: #808080;">&#40;</span><span style="color: #000;">256</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">13</td><td class="devcodelinesarea"><pre class="devcode devcodeline">	<span style="color: #0000FF;">DECLARE</span> @ColumnName <span style="color: #0000FF;">NVARCHAR</span><span style="color: #808080;">&#40;</span><span style="color: #000;">128</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">14</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">	<span style="color: #0000FF;">SET</span>  @TableName <span style="color: #808080;">=</span> <span style="color: #FF0000;">''</span></pre></td></tr><tr><td class="devcodelines" width="1%">15</td><td class="devcodelinesarea"><pre class="devcode devcodeline">&nbsp;</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">16</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">	<span style="color: #0000FF;">WHILE</span> @TableName <span style="color: #0000FF;">IS</span> <span style="color: #808080;">NOT</span> <span style="color: #808080;">NULL</span></pre></td></tr><tr><td class="devcodelines" width="1%">17</td><td class="devcodelinesarea"><pre class="devcode devcodeline">	<span style="color: #0000FF;">BEGIN</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">18</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">		<span style="color: #0000FF;">SET</span> @ColumnName <span style="color: #808080;">=</span> <span style="color: #FF0000;">''</span></pre></td></tr><tr><td class="devcodelines" width="1%">19</td><td class="devcodelinesarea"><pre class="devcode devcodeline">		<span style="color: #0000FF;">SET</span> @TableName <span style="color: #808080;">=</span> </pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">20</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">			<span style="color: #808080;">&#40;</span><span style="color: #0000FF;">SELECT</span> <span style="color: #FF00FF;">MIN</span><span style="color: #808080;">&#40;</span><span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_SCHEMA<span style="color: #808080;">&#41;</span> <span style="color: #808080;">+</span> <span style="color: #FF0000;">'.'</span> <span style="color: #808080;">+</span> <span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_NAME<span style="color: #808080;">&#41;</span><span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">FROM</span> <span style="color: #808080;">IN</span>F<span style="color: #808080;">OR</span>MATION_SCHEMA.<span style="color: #202020;">TABLES</span></pre></td></tr><tr><td class="devcodelines" width="1%">21</td><td class="devcodelinesarea"><pre class="devcode devcodeline">				<span style="color: #0000FF;">WHERE</span> TABLE_TYPE <span style="color: #808080;">=</span> <span style="color: #FF0000;">'BASE TABLE'</span> <span style="color: #008080;">/**You can remove this condition to go thourgh with both views and tables**/</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">22</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">					<span style="color: #808080;">AND</span>	 <span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_SCHEMA<span style="color: #808080;">&#41;</span> <span style="color: #808080;">+</span> <span style="color: #FF0000;">'.'</span> <span style="color: #808080;">+</span> <span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_NAME<span style="color: #808080;">&#41;</span> <span style="color: #808080;">&gt;</span> @TableName</pre></td></tr><tr><td class="devcodelines" width="1%">23</td><td class="devcodelinesarea"><pre class="devcode devcodeline">					<span style="color: #808080;">AND</span>	<span style="color: #FF00FF;">OBJECTPROPERTY</span><span style="color: #808080;">&#40;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">24</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">						<span style="color: #FF00FF;">OBJECT_ID</span><span style="color: #808080;">&#40;</span></pre></td></tr><tr><td class="devcodelines" width="1%">25</td><td class="devcodelinesarea"><pre class="devcode devcodeline">							<span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_SCHEMA<span style="color: #808080;">&#41;</span> <span style="color: #808080;">+</span> <span style="color: #FF0000;">'.'</span> <span style="color: #808080;">+</span> <span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>TABLE_NAME<span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">26</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">							 <span style="color: #808080;">&#41;</span>, <span style="color: #FF0000;">'IsMSShipped'</span></pre></td></tr><tr><td class="devcodelines" width="1%">27</td><td class="devcodelinesarea"><pre class="devcode devcodeline">						       <span style="color: #808080;">&#41;</span> <span style="color: #808080;">=</span> <span style="color: #000;">0</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">28</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">			<span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">29</td><td class="devcodelinesarea"><pre class="devcode devcodeline">&nbsp;</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">30</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">		<span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">'TableName:  '</span><span style="color: #808080;">+</span> <span style="color: #0000FF;">CAST</span><span style="color: #808080;">&#40;</span>@TableName <span style="color: #0000FF;">AS</span> <span style="color: #0000FF;">CHAR</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">31</td><td class="devcodelinesarea"><pre class="devcode devcodeline">&nbsp;</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">32</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">			<span style="color: #0000FF;">WHILE</span> <span style="color: #808080;">&#40;</span>@TableName <span style="color: #0000FF;">IS</span> <span style="color: #808080;">NOT</span> <span style="color: #808080;">NULL</span><span style="color: #808080;">&#41;</span> <span style="color: #808080;">AND</span> <span style="color: #808080;">&#40;</span>@ColumnName <span style="color: #0000FF;">IS</span> <span style="color: #808080;">NOT</span> <span style="color: #808080;">NULL</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">33</td><td class="devcodelinesarea"><pre class="devcode devcodeline">			<span style="color: #0000FF;">BEGIN</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">34</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">				<span style="color: #0000FF;">SET</span> @ColumnName <span style="color: #808080;">=</span></pre></td></tr><tr><td class="devcodelines" width="1%">35</td><td class="devcodelinesarea"><pre class="devcode devcodeline">				<span style="color: #808080;">&#40;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">36</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">					<span style="color: #0000FF;">SELECT</span> <span style="color: #FF00FF;">MIN</span><span style="color: #808080;">&#40;</span><span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>COLUMN_NAME<span style="color: #808080;">&#41;</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">37</td><td class="devcodelinesarea"><pre class="devcode devcodeline">					<span style="color: #0000FF;">FROM</span> <span style="color: #808080;">IN</span>F<span style="color: #808080;">OR</span>MATION_SCHEMA.<span style="color: #202020;">COLUMNS</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">38</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">					<span style="color: #0000FF;">WHERE</span> TABLE_SCHEMA	<span style="color: #808080;">=</span> <span style="color: #FF00FF;">PARSENAME</span><span style="color: #808080;">&#40;</span>@TableName, <span style="color: #000;">2</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines" width="1%">39</td><td class="devcodelinesarea"><pre class="devcode devcodeline">						<span style="color: #808080;">AND</span>	TABLE_NAME	<span style="color: #808080;">=</span> <span style="color: #FF00FF;">PARSENAME</span><span style="color: #808080;">&#40;</span>@TableName, <span style="color: #000;">1</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">40</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">						<span style="color: #008080;">/**You you want to go thourgh with certain type of data types**/</span></pre></td></tr><tr><td class="devcodelines" width="1%">41</td><td class="devcodelinesarea"><pre class="devcode devcodeline">						<span style="color: #808080;">AND</span>	DATA_TYPE <span style="color: #808080;">IN</span><span style="color: #808080;">&#40;</span><span style="color: #FF0000;">'char'</span>,<span style="color: #FF0000;">'varchar'</span>,<span style="color: #FF0000;">'nchar'</span>,<span style="color: #FF0000;">'nvarchar'</span>,<span style="color: #FF0000;">'text'</span>,<span style="color: #FF0000;">'ntext'</span>,<span style="color: #FF0000;">'image'</span>,<span style="color: #FF0000;">'xml'</span>,<span style="color: #FF0000;">'varbinary'</span><span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">42</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">						<span style="color: #808080;">AND</span>	<span style="color: #FF00FF;">QUOTENAME</span><span style="color: #808080;">&#40;</span>COLUMN_NAME<span style="color: #808080;">&#41;</span> <span style="color: #808080;">&gt;</span> @ColumnName</pre></td></tr><tr><td class="devcodelines" width="1%">43</td><td class="devcodelinesarea"><pre class="devcode devcodeline">				<span style="color: #808080;">&#41;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">44</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">				<span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">'ColumnName:  '</span><span style="color: #808080;">+</span> <span style="color: #0000FF;">CAST</span><span style="color: #808080;">&#40;</span>@ColumnName <span style="color: #0000FF;">AS</span> <span style="color: #0000FF;">CHAR</span><span style="color: #808080;">&#41;</span>				</pre></td></tr><tr><td class="devcodelines" width="1%">45</td><td class="devcodelinesarea"><pre class="devcode devcodeline">			<span style="color: #0000FF;">END</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">46</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">	<span style="color: #0000FF;">END</span></pre></td></tr><tr><td class="devcodelines" width="1%">47</td><td class="devcodelinesarea"><pre class="devcode devcodeline">&nbsp;</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">48</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #0000FF;">END</span></pre></td></tr><tr><td class="devcodelines" width="1%">49</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">GRANT</span> <span style="color: #0000FF;">EXECUTE</span> <span style="color: #0000FF;">ON</span> <span style="color: #808080;">&#91;</span>SCHEMA_NAME<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>loop_Through_Tables_Columns<span style="color: #808080;">&#93;</span> <span style="color: #0000FF;">TO</span> <span style="color: #FF00FF;">USER_NAME</span> </pre></td></tr></table></div></pre>
<br /><strong>Execute Stored Procedure:</strong><br /><br /><pre class="devcodeblock" title="T-SQL"><table class="devcodetools"><tbody><tr><td>&nbsp;T-SQL&nbsp;|&nbsp;</td><td style="background-image:url('http://dushi.co.uk/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard4" src="http://dushi.co.uk/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&width=16&height=16" wmode="transparent" /></td><td>&nbsp;copy&nbsp;code&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">1</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">EXEC</span> <span style="color: #808080;">&#91;</span>SCHEMA_NAME<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>loop_Through_Tables_Columns<span style="color: #808080;">&#93;</span></pre></td></tr></table></div></pre>
]]></content:encoded>
			<wfw:commentRss>http://dushi.co.uk/15/07/2009/loop-through-database-tables-and-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
