<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-9220430976744875095.post2724639717762561458..comments</id><updated>2011-10-04T12:48:11.191-05:00</updated><category term='SQL search search engine query string Referrer URL'/><category term='ASP.Net Ajax JQuery'/><category term='web design javascript css table design row style'/><category term='Dialer'/><category term='Outlook'/><category term='ASP.Net javascript phone numbers validation web programming'/><category term='Asterisk'/><category term='Elastix'/><category term='ClickOnce Button for ASP.Net 2.0 Ajax web development'/><category term='thirdlane'/><category term='SQL server 2005 memory consumption allocation AWE address tranlation'/><category term='Dynamic SQL table creation programming T-SQL sprocs'/><category term='Javascript guid client side web development'/><category term='iis 6.0 x64 ASP.net framework windows server'/><category term='SSL Gmail System.Net.Mail STunnel ASP.Net Email'/><title type='text'>Comments on Sagi Shkedy's Technical Blog: Temporary Tables and Dynamic SQL</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.shkedy.com/feeds/2724639717762561458/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html'/><author><name>Sagi E. Shkedy</name><uri>http://www.blogger.com/profile/14339923662454470396</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.shkedy.com/Portrait.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-3129230802273036089</id><published>2009-07-31T08:47:37.854-05:00</published><updated>2009-07-31T08:47:37.854-05:00</updated><title type='text'>A couple of questions:
1. 
SELECT * INTO #ins FROM...</title><content type='html'>A couple of questions:&lt;br /&gt;1. &lt;br /&gt;SELECT * INTO #ins FROM INSERTED&lt;br /&gt;SELECT * INTO #del FROM DELETED&lt;br /&gt;This follows an update I am guessing - is the update running in the same execuution batch?&lt;br /&gt;2.&lt;br /&gt;Are you sending all your SQL code as one batch or are you sending it over several times over the same connection? If that is the case - the requests might come on a different connection.&lt;br /&gt;Please let me know&lt;br /&gt;If the latter is the case</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/3129230802273036089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/3129230802273036089'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1249048057854#c3129230802273036089' title=''/><author><name>Sagi E. Shkedy</name><uri>http://www.blogger.com/profile/14339923662454470396</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.shkedy.com/Portrait.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-266084434'/></entry><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-3678795147008496945</id><published>2009-07-31T06:41:35.010-05:00</published><updated>2009-07-31T06:41:35.010-05:00</updated><title type='text'>Hi Sagi,
I &amp;#39;m facing the following issue.
Inva...</title><content type='html'>Hi Sagi,&lt;br /&gt;I &amp;#39;m facing the following issue.&lt;br /&gt;Invalid object name &amp;#39;#ins&amp;#39;. &lt;br /&gt;I don&amp;#39;t get the above exception when running from the query explorer window. But i get this exception when executing from .NET Code. The following is my situation where i use dynamic sql:&lt;br /&gt; SELECT * INTO #ins FROM INSERTED&lt;br /&gt; SELECT * INTO #del FROM DELETED&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; SELECT @field = 0, @maxfield = MAX(COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + &amp;#39;.&amp;#39; + TABLE_NAME), COLUMN_NAME, &amp;#39;ColumnID&amp;#39;)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName&lt;br /&gt; WHILE @field &amp;lt; @maxfield&lt;br /&gt; BEGIN&lt;br /&gt;  SELECT @field = MIN(COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + &amp;#39;.&amp;#39; + TABLE_NAME), COLUMN_NAME, &amp;#39;ColumnID&amp;#39;)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName AND COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + &amp;#39;.&amp;#39; + TABLE_NAME), COLUMN_NAME, &amp;#39;ColumnID&amp;#39;) &amp;gt; @field&lt;br /&gt;  SELECT @bit = (@field - 1 )% 8 + 1&lt;br /&gt;  SELECT @bit = POWER(2, @bit - 1)&lt;br /&gt;  SELECT @CHAR = ((@field - 1) / 8) + 1&lt;br /&gt;  IF SUBSTRING(COLUMNS_UPDATED(), @CHAR, 1) &amp;amp; @bit &amp;gt; 0 OR @Type in (&amp;#39;I&amp;#39;, &amp;#39;D&amp;#39;)&lt;br /&gt;  BEGIN&lt;br /&gt;   SELECT @fieldname = COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName AND COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + &amp;#39;.&amp;#39; + TABLE_NAME), COLUMN_NAME, &amp;#39;ColumnID&amp;#39;) = @field&lt;br /&gt;   --Columns not to be audited&lt;br /&gt;   IF @fieldname NOT IN (&amp;#39;TransactionType&amp;#39;, &amp;#39;UserID&amp;#39;, &amp;#39;CreatedDate&amp;#39;, &amp;#39;LastModifiedBy&amp;#39;, &amp;#39;LastModifiedOn&amp;#39;)&lt;br /&gt;   BEGIN&lt;br /&gt;    DECLARE @auditBody XML&lt;br /&gt;    DECLARE @ParmDefinition nvarchar(500)&lt;br /&gt;    --SELECT @sql =   &amp;#39;INSERT INTO &amp;#39; + @AuditTableName + &amp;#39; (ProgramCode, AttributeChanged, ChangedFrom, ChangedTo, ChangedDate, ChangedBy)&amp;#39;&lt;br /&gt;    SELECT @sql = &amp;#39;SELECT @auditBodyOUTPUT = (SELECT COALESCE(i.ProgramCode, d.ProgramCode) AS ProgramCode &amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39;,&amp;#39;&amp;#39;&amp;#39; + @fieldname + &amp;#39;&amp;#39;&amp;#39; AS AttributeChanged &amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39;,CONVERT(VARCHAR(1000),d.&amp;#39; + @fieldname + &amp;#39;) AS ChangedFrom &amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39;,CONVERT(VARCHAR(1000),i.&amp;#39; + @fieldname + &amp;#39;) AS ChangedTo &amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39;,&amp;#39;&amp;#39;&amp;#39; + @UpdateDate + &amp;#39;&amp;#39;&amp;#39; AS ChangedDate &amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39;, COALESCE(i.LastModifiedBy, d.LastModifiedBy) AS ChangedBy&amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; FROM #ins i FULL OUTER JOIN #del d&amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; on i.ProgramCode = d.ProgramCode&amp;#39;&lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; WHERE i.&amp;#39; + @fieldname + &amp;#39; &amp;lt;&amp;gt; d.&amp;#39; + @fieldname &lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; OR (i.&amp;#39; + @fieldname + &amp;#39; IS NULL AND  d.&amp;#39; + @fieldname + &amp;#39; IS NOT NULL)&amp;#39; &lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; OR (i.&amp;#39; + @fieldname + &amp;#39; IS NOT NULL AND  d.&amp;#39; + @fieldname + &amp;#39; IS NULL)&amp;#39; &lt;br /&gt;    SELECT @sql = @sql +  &amp;#39; FOR XML AUTO, ELEMENTS)&amp;#39;&lt;br /&gt;    SET @ParmDefinition = N&amp;#39;@auditBodyOUTPUT xml output&amp;#39;&lt;br /&gt;    PRINT @SQL&lt;br /&gt;    INSERT INTO BROKER_TEST VALUES (@auditBody, &amp;#39;Before EXEC Trigger&amp;#39;)&lt;br /&gt;    EXEC sp_executesql @sql, @ParmDefinition, @auditBodyOUTPUT = @auditBody OUTPUT&lt;br /&gt;    INSERT INTO BROKER_TEST VALUES (@auditBody, &amp;#39;Trigger&amp;#39;)&lt;br /&gt;    PRINT CAST(@auditBody as NVARCHAR(MAX))&lt;br /&gt;    EXEC BROKER_SendProgramAuditData @auditBody&lt;br /&gt;   END&lt;br /&gt;  END&lt;br /&gt; END&lt;br /&gt;&lt;br /&gt; DROP TABLE #ins&lt;br /&gt; DROP TABLE #del &lt;br /&gt;&lt;br /&gt;Can you guide me here.&lt;br /&gt;&lt;br /&gt;Thanks and Regards,&lt;br /&gt;Hemant.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/3678795147008496945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/3678795147008496945'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1249040495010#c3678795147008496945' title=''/><author><name>Hemant</name><uri>http://www.blogger.com/profile/09526519343820410790</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1848572438'/></entry><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-6725990174384330549</id><published>2009-04-01T12:45:00.000-05:00</published><updated>2009-04-01T12:45:00.000-05:00</updated><title type='text'>Worked like a charm! Thank you for your help.  I'm...</title><content type='html'>Worked like a charm! Thank you for your help.  I'm in the process of teaching myself SQL, and there are definitely nuances that I've yet to master.&lt;BR/&gt;&lt;BR/&gt;Again thank you.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/6725990174384330549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/6725990174384330549'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1238607900000#c6725990174384330549' title=''/><author><name>jfish222</name><uri>http://www.blogger.com/profile/04921322236076128371</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-369043404'/></entry><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-2174316237528395919</id><published>2009-04-01T08:49:00.000-05:00</published><updated>2009-04-01T08:49:00.000-05:00</updated><title type='text'>jfish222 -&lt;br&gt;Your problem is not with the dynamic...</title><content type='html'>jfish222 -&lt;BR/&gt;Your problem is not with the dynamic SQL but with the insert syntax you are using.&lt;BR/&gt;If you are using insert into without specifying column names SQL server will create a new table.&lt;BR/&gt;In order to do what you want (adjusted to some tables I have in one of my DBs):&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;declare @dynamicSQLString varchar(4000), @QueryString varchar(1500)&lt;BR/&gt;&lt;BR/&gt;DROP table #temp --so I can keep re-running this.&lt;BR/&gt;&lt;BR/&gt;CREATE Table #temp (uid int null)&lt;BR/&gt;&lt;BR/&gt;INSERT INTO #temp&lt;BR/&gt;(uid)&lt;BR/&gt;select Top(1) uid&lt;BR/&gt;From [Transaction]&lt;BR/&gt;&lt;BR/&gt;Set @QueryString = ' [CustomerID] = 1 '&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;Set @dynamicSQLString = '&lt;BR/&gt;ALTER TABLE #temp ADD Col1 int null'&lt;BR/&gt;Exec(@dynamicSQLString)&lt;BR/&gt;&lt;BR/&gt;Set @dynamicSQLString = '&lt;BR/&gt;INSERT INTO #temp&lt;BR/&gt;(uid, Col1)&lt;BR/&gt;SELECT row_number() over (ORDER BY uid ASC) as idx, uid&lt;BR/&gt;FROM [Transaction] Where ' + @QueryString + ' select * from #temp'&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;Exec(@dynamicSQLString)&lt;BR/&gt;&lt;BR/&gt;select * from #temp</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/2174316237528395919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/2174316237528395919'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1238593740000#c2174316237528395919' title=''/><author><name>Sagi E. Shkedy</name><uri>http://www.blogger.com/profile/14339923662454470396</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.shkedy.com/Portrait.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-266084434'/></entry><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-2823752939382252218</id><published>2009-03-31T21:10:00.000-05:00</published><updated>2009-03-31T21:10:00.000-05:00</updated><title type='text'>Hi, thanks for this post, its exactly what I'm loo...</title><content type='html'>Hi, thanks for this post, its exactly what I'm looking for. Unfortunately I can't get it to work.&lt;BR/&gt;&lt;BR/&gt;Not Sure What I'm doing wrong but this did not work for me.  The #temp referred to in my dynamic SQL doesn't appear to be the same #temp created in the calling code.&lt;BR/&gt;&lt;BR/&gt;To make things interesting, I pre-fill #temp to demonstrate the issue.&lt;BR/&gt;&lt;BR/&gt;#######&lt;BR/&gt;start&lt;BR/&gt;#######&lt;BR/&gt;&lt;BR/&gt;Declare @dynamicSQLString varchar(4000), @QueryString varchar(1500)&lt;BR/&gt;&lt;BR/&gt;drop table #temp --so I can keep re-running this.&lt;BR/&gt;&lt;BR/&gt;select Top(1) * into #temp&lt;BR/&gt;From Transactions&lt;BR/&gt;&lt;BR/&gt;Set @QueryString = ' [Customer ID] = 2 '&lt;BR/&gt;Set @dynamicSQLString = 'SELECT row_number() over (ORDER BY SettlementDate ASC) as idx, * into #temp&lt;BR/&gt;FROM Transactions Where ' + @QueryString + ' select * from #temp'&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;Exec(@dynamicSQLString)&lt;BR/&gt;&lt;BR/&gt;select * from #temp&lt;BR/&gt;&lt;BR/&gt;#######&lt;BR/&gt;end&lt;BR/&gt;#######&lt;BR/&gt;&lt;BR/&gt;Notice there are two selects, first in the dynamic code, then in the outer code.&lt;BR/&gt;The Dynamic code's Select returns 11k records, the second select returns 1 record.&lt;BR/&gt;&lt;BR/&gt;Any ideas?  Thanks.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/2823752939382252218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/2823752939382252218'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1238551800000#c2823752939382252218' title=''/><author><name>jfish222</name><uri>http://www.blogger.com/profile/04921322236076128371</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-369043404'/></entry><entry><id>tag:blogger.com,1999:blog-9220430976744875095.post-7004153318190969017</id><published>2008-04-25T15:56:00.000-05:00</published><updated>2008-04-25T15:56:00.000-05:00</updated><title type='text'>Thanks,  this was driving me crazy.&lt;br&gt;&lt;br&gt;Buddy S...</title><content type='html'>Thanks,  this was driving me crazy.&lt;BR/&gt;&lt;BR/&gt;Buddy Stein&lt;BR/&gt;Cheltenham High '69</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/7004153318190969017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9220430976744875095/2724639717762561458/comments/default/7004153318190969017'/><link rel='alternate' type='text/html' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html?showComment=1209156960000#c7004153318190969017' title=''/><author><name>bstein</name><uri>http://www.blogger.com/profile/16040090723771316906</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.shkedy.com/2007/01/temporary-tables-and-dynamic-sql.html' ref='tag:blogger.com,1999:blog-9220430976744875095.post-2724639717762561458' source='http://www.blogger.com/feeds/9220430976744875095/posts/default/2724639717762561458' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1024038168'/></entry></feed>
