<?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: Searching in all tables and columns of a database</title>
	<atom:link href="http://www.richnetapps.com/searching_in_all_tables_and_columns_of_a/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.richnetapps.com/searching_in_all_tables_and_columns_of_a/</link>
	<description>Internet Applications - Flash, Flex, Silverlight, JavaFX</description>
	<lastBuildDate>Fri, 02 Dec 2011 23:04:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Ricardo Alfaro</title>
		<link>http://www.richnetapps.com/searching_in_all_tables_and_columns_of_a/comment-page-1/#comment-641</link>
		<dc:creator>Ricardo Alfaro</dc:creator>
		<pubDate>Wed, 03 Feb 2010 23:15:38 +0000</pubDate>
		<guid isPermaLink="false">#comment-641</guid>
		<description>Hi, this procedure is very useful but does not search the numeric fields (getting tested). Here the modified procedure that includes the numeric fields:
 
CREATE PROC SearchAllTables
(
@SearchStr nvarchar(100)
)
AS
BEGIN
 
 -- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
 -- Purpose: To search all columns of all tables for a given search string
 -- Written by: Narayana Vyas Kondreddi
 -- Site: http://vyaskn.tripod.com
 -- Tested on: SQL Server 7.0 and SQL Server 2000
 -- Date modified: 28th July 2002 22:50 GMT
 
 -- ****************************************
 -- Also for numeric field
 -- Modified by Ricardo Alfaro Vega

 
 
 CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
 
 SET NOCOUNT ON
 
 DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
 SET  @TableName = &#039;&#039;
 SET @SearchStr2 = QUOTENAME(&#039;%&#039; + @SearchStr + &#039;%&#039;,&#039;&#039;&#039;&#039;)
 
 WHILE @TableName IS NOT NULL
 BEGIN
 SET @ColumnName = &#039;&#039;
 SET @TableName = 
 (
 SELECT MIN(QUOTENAME(TABLE_SCHEMA) + &#039;.&#039; + QUOTENAME(TABLE_NAME))
 FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_TYPE = &#039;BASE TABLE&#039;
 AND QUOTENAME(TABLE_SCHEMA) + &#039;.&#039; + QUOTENAME(TABLE_NAME) &gt; @TableName
 AND OBJECTPROPERTY(
 OBJECT_ID(
 QUOTENAME(TABLE_SCHEMA) + &#039;.&#039; + QUOTENAME(TABLE_NAME)
 ), &#039;IsMSShipped&#039;
 ) = 0
 )
 
 WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
 BEGIN
 SET @ColumnName =
 (
 SELECT MIN(QUOTENAME(COLUMN_NAME))
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
 AND TABLE_NAME = PARSENAME(@TableName, 1)
 AND DATA_TYPE IN (&#039;char&#039;, &#039;varchar&#039;, &#039;nchar&#039;, &#039;nvarchar&#039;)
 AND QUOTENAME(COLUMN_NAME) &gt; @ColumnName
 )
 
 IF @ColumnName IS NOT NULL
 BEGIN
 INSERT INTO #Results
 EXEC
 (
 &#039;SELECT &#039;&#039;&#039; + @TableName + &#039;.&#039; + @ColumnName + &#039;&#039;&#039;, LEFT(&#039; + @ColumnName + &#039;, 3630) 
 FROM &#039; + @TableName + &#039; (NOLOCK) &#039; +
 &#039; WHERE &#039; + @ColumnName + &#039; LIKE &#039; + @SearchStr2
 )
 IF ISNUMERIC(@SearchStr) = 1
 BEGIN
 SET @ColumnName =
 (
 SELECT MIN(QUOTENAME(COLUMN_NAME))
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
 AND TABLE_NAME = PARSENAME(@TableName, 1)
 AND DATA_TYPE IN (&#039;int&#039;,&#039;bigint&#039;,&#039;smallint&#039;,&#039;tinyint&#039;,&#039;decimal&#039;,&#039;float&#039;,&#039;real&#039;)
 AND QUOTENAME(COLUMN_NAME) &gt; @ColumnName
 )
 
 IF @ColumnName IS NOT NULL
 BEGIN
 
 INSERT INTO #Results
 EXEC
 (
 &#039;SELECT &#039;&#039;&#039; + @TableName + &#039;.&#039; + @ColumnName + &#039;&#039;&#039;, LEFT(&#039; + @ColumnName + &#039;, 3630) 
 FROM &#039; + @TableName + &#039; (NOLOCK) &#039; +
 &#039; WHERE &#039; + @ColumnName + &#039; LIKE &#039; + @SearchStr2
 )
 END                    
 END
 END
 END 
 END
 
 SELECT ColumnName, ColumnValue FROM #Results
END

GO</description>
		<content:encoded><![CDATA[<p>Hi, this procedure is very useful but does not search the numeric fields (getting tested). Here the modified procedure that includes the numeric fields:<br />
 <br />
CREATE PROC SearchAllTables<br />
(<br />
@SearchStr nvarchar(100)<br />
)<br />
AS<br />
BEGIN</p>
<p> &#8212; Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.<br />
 &#8212; Purpose: To search all columns of all tables for a given search string<br />
 &#8212; Written by: Narayana Vyas Kondreddi<br />
 &#8212; Site: <a href="http://vyaskn.tripod.com" rel="nofollow">http://vyaskn.tripod.com</a><br />
 &#8212; Tested on: SQL Server 7.0 and SQL Server 2000<br />
 &#8212; Date modified: 28th July 2002 22:50 GMT</p>
<p> &#8212; ****************************************<br />
 &#8212; Also for numeric field<br />
 &#8212; Modified by Ricardo Alfaro Vega</p>
<p> CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))</p>
<p> SET NOCOUNT ON</p>
<p> DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)<br />
 SET  @TableName = &#8221;<br />
 SET @SearchStr2 = QUOTENAME(&#8216;%&#8217; + @SearchStr + &#8216;%&#8217;,&#8221;&#8221;)</p>
<p> WHILE @TableName IS NOT NULL<br />
 BEGIN<br />
 SET @ColumnName = &#8221;<br />
 SET @TableName =<br />
 (<br />
 SELECT MIN(QUOTENAME(TABLE_SCHEMA) + &#8216;.&#8217; + QUOTENAME(TABLE_NAME))<br />
 FROM INFORMATION_SCHEMA.TABLES<br />
 WHERE TABLE_TYPE = &#8216;BASE TABLE&#8217;<br />
 AND QUOTENAME(TABLE_SCHEMA) + &#8216;.&#8217; + QUOTENAME(TABLE_NAME) &gt; @TableName<br />
 AND OBJECTPROPERTY(<br />
 OBJECT_ID(<br />
 QUOTENAME(TABLE_SCHEMA) + &#8216;.&#8217; + QUOTENAME(TABLE_NAME)<br />
 ), &#8216;IsMSShipped&#8217;<br />
 ) = 0<br />
 )</p>
<p> WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)<br />
 BEGIN<br />
 SET @ColumnName =<br />
 (<br />
 SELECT MIN(QUOTENAME(COLUMN_NAME))<br />
 FROM INFORMATION_SCHEMA.COLUMNS<br />
 WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)<br />
 AND TABLE_NAME = PARSENAME(@TableName, 1)<br />
 AND DATA_TYPE IN (&#8216;char&#8217;, &#8216;varchar&#8217;, &#8216;nchar&#8217;, &#8216;nvarchar&#8217;)<br />
 AND QUOTENAME(COLUMN_NAME) &gt; @ColumnName<br />
 )</p>
<p> IF @ColumnName IS NOT NULL<br />
 BEGIN<br />
 INSERT INTO #Results<br />
 EXEC<br />
 (<br />
 &#8216;SELECT &#8221;&#8217; + @TableName + &#8216;.&#8217; + @ColumnName + &#8221;&#8217;, LEFT(&#8216; + @ColumnName + &#8216;, 3630)<br />
 FROM &#8216; + @TableName + &#8216; (NOLOCK) &#8216; +<br />
 &#8216; WHERE &#8216; + @ColumnName + &#8216; LIKE &#8216; + @SearchStr2<br />
 )<br />
 IF ISNUMERIC(@SearchStr) = 1<br />
 BEGIN<br />
 SET @ColumnName =<br />
 (<br />
 SELECT MIN(QUOTENAME(COLUMN_NAME))<br />
 FROM INFORMATION_SCHEMA.COLUMNS<br />
 WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)<br />
 AND TABLE_NAME = PARSENAME(@TableName, 1)<br />
 AND DATA_TYPE IN (&#8216;int&#8217;,'bigint&#8217;,'smallint&#8217;,'tinyint&#8217;,'decimal&#8217;,'float&#8217;,'real&#8217;)<br />
 AND QUOTENAME(COLUMN_NAME) &gt; @ColumnName<br />
 )</p>
<p> IF @ColumnName IS NOT NULL<br />
 BEGIN</p>
<p> INSERT INTO #Results<br />
 EXEC<br />
 (<br />
 &#8216;SELECT &#8221;&#8217; + @TableName + &#8216;.&#8217; + @ColumnName + &#8221;&#8217;, LEFT(&#8216; + @ColumnName + &#8216;, 3630)<br />
 FROM &#8216; + @TableName + &#8216; (NOLOCK) &#8216; +<br />
 &#8216; WHERE &#8216; + @ColumnName + &#8216; LIKE &#8216; + @SearchStr2<br />
 )<br />
 END                   <br />
 END<br />
 END<br />
 END<br />
 END</p>
<p> SELECT ColumnName, ColumnValue FROM #Results<br />
END</p>
<p>GO</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.richnetapps.com/searching_in_all_tables_and_columns_of_a/comment-page-1/#comment-18</link>
		<dc:creator>James</dc:creator>
		<pubDate>Wed, 03 Sep 2008 20:01:59 +0000</pubDate>
		<guid isPermaLink="false">#comment-18</guid>
		<description>The script works fine provided you don&#039;t need to search through &#039;text or &#039;ntext&#039; columns. I&#039;ve tried adding these data types to line&lt;br /&gt;
 &lt;br /&gt;
AND DATA_TYPE IN (&#039;char&#039;, &#039;varchar&#039;, &#039;nchar&#039;, &#039;nvarchar&#039;, &#039;ntext&#039;, &#039;text&#039;) &lt;br /&gt;
but this just throuws the following error:&lt;br /&gt;
Msg 8116, Level 16, State 1, Line 1&lt;br /&gt;
Argument data type ntext is invalid for argument 1 of left function.&lt;br /&gt;
&lt;br /&gt;
Can anyone please help?</description>
		<content:encoded><![CDATA[<p>The script works fine provided you don&#8217;t need to search through &#8216;text or &#8216;ntext&#8217; columns. I&#8217;ve tried adding these data types to line</p>
<p>AND DATA_TYPE IN (&#8216;char&#8217;, &#8216;varchar&#8217;, &#8216;nchar&#8217;, &#8216;nvarchar&#8217;, &#8216;ntext&#8217;, &#8216;text&#8217;) <br />
but this just throuws the following error:<br />
Msg 8116, Level 16, State 1, Line 1<br />
Argument data type ntext is invalid for argument 1 of left function.</p>
<p>Can anyone please help?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced

Served from: www.richnetapps.com @ 2012-02-07 15:09:31 -->
