<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: How to use the undocumented stored procedure sp_msforeachtable to add a column to all tables in a database ?</title>
	<atom:link href="http://www.sambeauvois.be/blog/2010/01/how-to-use-the-undocumented-stored-procedure-sp_msforeachtable-to-add-a-column-to-all-tables-in-a-database/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sambeauvois.be/blog/2010/01/how-to-use-the-undocumented-stored-procedure-sp_msforeachtable-to-add-a-column-to-all-tables-in-a-database/</link>
	<description>general dev, .net and other stuff</description>
	<lastBuildDate>Tue, 31 Jan 2012 09:28:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Aditya Agiwa</title>
		<link>http://www.sambeauvois.be/blog/2010/01/how-to-use-the-undocumented-stored-procedure-sp_msforeachtable-to-add-a-column-to-all-tables-in-a-database/comment-page-1/#comment-873</link>
		<dc:creator>Aditya Agiwa</dc:creator>
		<pubDate>Mon, 14 Mar 2011 05:41:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=169#comment-873</guid>
		<description>ALTER PROCEDURE [dbo].[PHD_SearchPhDStudentForUpdating]
	
@Faculty_ID int = null,
@Seat_No int = null,
@PHD_Subject_ID bigint = null,
@Applicant_Name varchar(225) = null,
@Entrance_Exemption char(1) = null,
@Bank_ID bigint = null,
@DD_No varchar(6) = null,
@Gender char(1) = null,
@Category_ID bigint = null,
@Form_No bigint = null,
@Date_Of_Birth varchar(10) = null,
@page int = null, 
@pagelength int = null,
@sortfield varchar(100) = null,
@IsDescending varchar(10) = null	

AS

	DECLARE @rowcount int
	DECLARE @innerrows int
	DECLARE @sortdesc varchar(100)
	DECLARE @sortasc varchar(100)
	DECLARE @a varchar(6)
	DECLARE @b varchar(6)
	DECLARE @SQL varchar(max)
	DECLARE @CountSql nvarchar(2000)
	DECLARE @Where varchar(200)
	SET @Where = &#039;&#039;
	SET @SQL = &#039;&#039;

	IF @IsDescending=&#039;0&#039;
			BEGIN
				SET @a = &#039; DESC &#039;
				SET @b = &#039; ASC &#039;
			END
	ELSE
			BEGIN
				SET @a = &#039; ASC &#039;
				SET @b = &#039; DESC &#039;
			END  
  
	IF charindex(@sortfield, &#039; Form_No&#039;) &gt; 0
	 BEGIN
		 set @sortdesc = &#039;&#039;
		 set @sortasc = &#039;&#039;            
	 END
	ELSE
	 BEGIN
		 set @sortdesc = &#039;, Form_No &#039; + @a
		 set @sortasc = &#039;, Form_No &#039; + @b
	 END 

	IF(@Form_No IS NOT NULL)
			SET @Where = @Where + &#039;Form_No = &#039; + cast(@Form_No as varchar) + &#039; AND &#039;

	IF(@Seat_No IS NOT NULL)
			SET @Where = @Where + &#039;Seat_No = &#039; + cast(@Seat_No as varchar) + &#039; AND &#039;

	IF(@Faculty_ID IS NOT NULL)
			SET @Where = @Where + &#039;PDE.Faculty_ID= &#039; + cast(@Faculty_ID as varchar) + &#039; AND &#039;

	IF(@Applicant_Name IS NOT NULL)
			SET @Where = @Where + &#039;Applicant_Name = &#039;&#039;&#039; + @Applicant_Name  + &#039;&#039;&#039; &#039; + &#039; AND &#039;
			
	IF(@Gender IS NOT NULL)
			SET @Where = @Where + &#039;Gender = &#039;&#039;&#039; + @Gender  + &#039;&#039;&#039; &#039; + &#039; AND &#039;

	IF(@Date_Of_Birth IS NOT NULL)
			SET @Where = @Where + &#039;Date_Of_Birth = &#039;&#039;&#039; + @Date_Of_Birth  + &#039;&#039;&#039; &#039; + &#039; AND &#039;

	IF(@PHD_Subject_ID IS NOT NULL)
			SET @Where = @Where + &#039;PDE.PHD_Subject_ID = &#039; + cast(@PHD_Subject_ID as varchar) + &#039; AND &#039;

	IF(@Category_ID IS NOT NULL)
			SET @Where = @Where + &#039;Category_ID = &#039; + cast(@Category_ID as varchar) + &#039; AND &#039;

	IF(@DD_No IS NOT NULL)
			SET @Where = @Where + &#039;DD_No= &#039;&#039;&#039; + @DD_No  + &#039;&#039;&#039; &#039; + &#039; AND &#039;

	IF(@Entrance_Exemption IS NOT NULL)
			SET @Where = @Where + &#039;Entrance_Exemption = &#039;&#039;&#039; + @Entrance_Exemption  + &#039;&#039;&#039; &#039; + &#039; AND &#039;

	IF(@Bank_ID IS NOT NULL)
			SET @Where = @Where + &#039;Bank_ID = &#039; + cast(@Bank_ID as varchar) + &#039; AND &#039;

	SET @CountSql = 
	N&#039;	SELECT @rowcount = COUNT(*) 
		FROM PhD_Entrance PDE 				
				INNER JOIN PHD_Subject_Master AS PSM 
					ON PSM.PHD_Subject_ID = PDE.PHD_Subject_ID
					AND PSM.Deleted = 0
		WHERE &#039;+ @Where + &#039;  1 = 1&#039;
	
	exec sp_executesql 	@CountSql, N&#039;@rowcount Int OUTPUT&#039;,  @rowcount = @rowcount output

	SET @innerrows = @rowcount - (@page * @pagelength)

	print @innerrows

	SET @SQL = 
	&#039;SELECT	TOP (&#039; + str(@pagelength) + &#039;) Tmp.*,&#039;+  CONVERT(varchar(9), @rowcount) + &#039;As totalRows 
	FROM 
	(
			SELECT		
			TOP (&#039; + str(@innerrows) + &#039;) 			
			PDE.Form_No,
			PDE.Applicant_Name,
			IsNull(RIGHT(&#039;&#039;0000&#039;&#039; + CAST(PDE.Seat_No as varchar),5),&#039;&#039;--&#039;&#039;)as Seat_No, 
			PSM.PHD_Subject_Name, 
			COALESCE(cast(Total_Marks as varchar)+ &#039;&#039;/&#039;&#039; + cast(Out_Of_Marks as varchar) ,&#039;&#039;--&#039;&#039;) as Marks		
			FROM PhD_Entrance PDE 				
				INNER JOIN PHD_Subject_Master AS PSM 
					ON PSM.PHD_Subject_ID = PDE.PHD_Subject_ID
					AND PSM.Deleted = 0
			WHERE &#039;+ @Where + &#039;  1 = 1
			ORDER BY &#039;+ @sortfield + @a + @sortdesc + &#039;
	)Tmp
	ORDER BY &#039; + @sortfield + @b + @sortasc    

	EXEC(@SQL)</description>
		<content:encoded><![CDATA[<p>ALTER PROCEDURE [dbo].[PHD_SearchPhDStudentForUpdating]</p>
<p>@Faculty_ID int = null,<br />
@Seat_No int = null,<br />
@PHD_Subject_ID bigint = null,<br />
@Applicant_Name varchar(225) = null,<br />
@Entrance_Exemption char(1) = null,<br />
@Bank_ID bigint = null,<br />
@DD_No varchar(6) = null,<br />
@Gender char(1) = null,<br />
@Category_ID bigint = null,<br />
@Form_No bigint = null,<br />
@Date_Of_Birth varchar(10) = null,<br />
@page int = null,<br />
@pagelength int = null,<br />
@sortfield varchar(100) = null,<br />
@IsDescending varchar(10) = null	</p>
<p>AS</p>
<p>	DECLARE @rowcount int<br />
	DECLARE @innerrows int<br />
	DECLARE @sortdesc varchar(100)<br />
	DECLARE @sortasc varchar(100)<br />
	DECLARE @a varchar(6)<br />
	DECLARE @b varchar(6)<br />
	DECLARE @SQL varchar(max)<br />
	DECLARE @CountSql nvarchar(2000)<br />
	DECLARE @Where varchar(200)<br />
	SET @Where = &#8221;<br />
	SET @SQL = &#8221;</p>
<p>	IF @IsDescending=&#8217;0&#8242;<br />
			BEGIN<br />
				SET @a = &#8216; DESC &#8216;<br />
				SET @b = &#8216; ASC &#8216;<br />
			END<br />
	ELSE<br />
			BEGIN<br />
				SET @a = &#8216; ASC &#8216;<br />
				SET @b = &#8216; DESC &#8216;<br />
			END  </p>
<p>	IF charindex(@sortfield, &#8216; Form_No&#8217;) &gt; 0<br />
	 BEGIN<br />
		 set @sortdesc = &#8221;<br />
		 set @sortasc = &#8221;<br />
	 END<br />
	ELSE<br />
	 BEGIN<br />
		 set @sortdesc = &#8216;, Form_No &#8216; + @a<br />
		 set @sortasc = &#8216;, Form_No &#8216; + @b<br />
	 END </p>
<p>	IF(@Form_No IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Form_No = &#8216; + cast(@Form_No as varchar) + &#8216; AND &#8216;</p>
<p>	IF(@Seat_No IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Seat_No = &#8216; + cast(@Seat_No as varchar) + &#8216; AND &#8216;</p>
<p>	IF(@Faculty_ID IS NOT NULL)<br />
			SET @Where = @Where + &#8216;PDE.Faculty_ID= &#8216; + cast(@Faculty_ID as varchar) + &#8216; AND &#8216;</p>
<p>	IF(@Applicant_Name IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Applicant_Name = &#8221;&#8217; + @Applicant_Name  + &#8221;&#8217; &#8216; + &#8216; AND &#8216;</p>
<p>	IF(@Gender IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Gender = &#8221;&#8217; + @Gender  + &#8221;&#8217; &#8216; + &#8216; AND &#8216;</p>
<p>	IF(@Date_Of_Birth IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Date_Of_Birth = &#8221;&#8217; + @Date_Of_Birth  + &#8221;&#8217; &#8216; + &#8216; AND &#8216;</p>
<p>	IF(@PHD_Subject_ID IS NOT NULL)<br />
			SET @Where = @Where + &#8216;PDE.PHD_Subject_ID = &#8216; + cast(@PHD_Subject_ID as varchar) + &#8216; AND &#8216;</p>
<p>	IF(@Category_ID IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Category_ID = &#8216; + cast(@Category_ID as varchar) + &#8216; AND &#8216;</p>
<p>	IF(@DD_No IS NOT NULL)<br />
			SET @Where = @Where + &#8216;DD_No= &#8221;&#8217; + @DD_No  + &#8221;&#8217; &#8216; + &#8216; AND &#8216;</p>
<p>	IF(@Entrance_Exemption IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Entrance_Exemption = &#8221;&#8217; + @Entrance_Exemption  + &#8221;&#8217; &#8216; + &#8216; AND &#8216;</p>
<p>	IF(@Bank_ID IS NOT NULL)<br />
			SET @Where = @Where + &#8216;Bank_ID = &#8216; + cast(@Bank_ID as varchar) + &#8216; AND &#8216;</p>
<p>	SET @CountSql =<br />
	N&#8217;	SELECT @rowcount = COUNT(*)<br />
		FROM PhD_Entrance PDE<br />
				INNER JOIN PHD_Subject_Master AS PSM<br />
					ON PSM.PHD_Subject_ID = PDE.PHD_Subject_ID<br />
					AND PSM.Deleted = 0<br />
		WHERE &#8216;+ @Where + &#8216;  1 = 1&#8242;</p>
<p>	exec sp_executesql 	@CountSql, N&#8217;@rowcount Int OUTPUT&#8217;,  @rowcount = @rowcount output</p>
<p>	SET @innerrows = @rowcount &#8211; (@page * @pagelength)</p>
<p>	print @innerrows</p>
<p>	SET @SQL =<br />
	&#8216;SELECT	TOP (&#8216; + str(@pagelength) + &#8216;) Tmp.*,&#8217;+  CONVERT(varchar(9), @rowcount) + &#8216;As totalRows<br />
	FROM<br />
	(<br />
			SELECT<br />
			TOP (&#8216; + str(@innerrows) + &#8216;)<br />
			PDE.Form_No,<br />
			PDE.Applicant_Name,<br />
			IsNull(RIGHT(&#8221;0000&#8221; + CAST(PDE.Seat_No as varchar),5),&#8221;&#8211;&#8221;)as Seat_No,<br />
			PSM.PHD_Subject_Name,<br />
			COALESCE(cast(Total_Marks as varchar)+ &#8221;/&#8221; + cast(Out_Of_Marks as varchar) ,&#8221;&#8211;&#8221;) as Marks<br />
			FROM PhD_Entrance PDE<br />
				INNER JOIN PHD_Subject_Master AS PSM<br />
					ON PSM.PHD_Subject_ID = PDE.PHD_Subject_ID<br />
					AND PSM.Deleted = 0<br />
			WHERE &#8216;+ @Where + &#8216;  1 = 1<br />
			ORDER BY &#8216;+ @sortfield + @a + @sortdesc + &#8216;<br />
	)Tmp<br />
	ORDER BY &#8216; + @sortfield + @b + @sortasc    </p>
<p>	EXEC(@SQL)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

