<?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/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1297432409494533305</id><updated>2012-02-16T08:42:47.361-05:00</updated><category term='Reporting'/><category term='Auditing'/><category term='Change Management'/><category term='Analysis and Documentation'/><category term='Building and Deployments'/><category term='General'/><category term='Backup and Recovery'/><category term='Policy and Stds Enforcement'/><category term='SQL Development and Coding'/><category term='Source Control Integration'/><title type='text'>Solution Center</title><subtitle type='html'>Database Solutions for SQL Server DBAs and Developers</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dragan Radivojevic</name><uri>http://www.blogger.com/profile/12554964882822845598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_m03DxgYOd5E/SqfBFAI2L9I/AAAAAAAAAAM/mpxJgyKPVDk/S220/dragan.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-3860328323232835392</id><published>2010-05-27T23:22:00.016-04:00</published><updated>2010-06-29T14:40:17.289-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>How to safely remove parameters from stored procedures or functions</title><content type='html'>&lt;p&gt;&lt;u&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Removing a parameter from a stored procedure or function is often necessary during normal database maintenance.  However, safely removing a parameter requires updating all calls to the procedure or function, often making this a complex and time consuming task.  Extra arguments in unrevised function and procedure calls cause argument count errors.  Calls that don’t explicitly name arguments can pass arguments in the wrong order, cause data type errors, or improperly executed the function or procedure.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Unless all calls to the altered function or procedure are updated, these problems will proliferate and break the functionality of your database.  Additionally, function or procedure calls that are executed infrequently can go unnoticed, throwing errors in the future that can often be hard to resolve.&lt;/p&gt;&lt;p&gt;You can spend a large amount of time hunting down these calls by hand, which is at best a tedious process, and at worst an impossible one.  This is especially true if you are working on legacy databases created by other developers.  Using SQL Server’s own dependency tracking system, you can find some of these dependencies, but this system is often incomplete, inaccurate, or both.  You can read more about limitations of SQL Server’s dependency tracking system &lt;a href="http://blog.apexsql.com/2009/01/power-of-parser.htm"&gt;here&lt;/a&gt;, or on Microsoft’s own &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc879246.aspx"&gt;website&lt;/a&gt;.&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Solution:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;ApexSQL’s &lt;b&gt;Remove Parameters&lt;/b&gt; refactor, (available in both &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; and &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;), makes the process of removing parameters and updating dependent objects quick, simple, and accurate.  Our &lt;b&gt;Remove Parameters&lt;/b&gt; refactor takes advantage of ApexSQL’s &lt;a href="http://blog.apexsql.com/2009/01/power-of-parser.htm"&gt;proprietary parser&lt;/a&gt;, perfected with 3 years worth of development, to find and update all execution calls referencing the modified function or procedure.  With a single process you can safely remove parameters without directly scripting.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Here’s how to take advantage of ApexSQL’s &lt;b&gt;Remove Parameters&lt;/b&gt; refactor.&lt;/p&gt;&lt;div style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;p&gt;&lt;b&gt;Step One:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The &lt;b&gt;Remove Parameters&lt;/b&gt; refactor is available through the context (right-click) menu of every stored procedure or function in the Object Explorer pane, in both Edit and SSMS.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://2.bp.blogspot.com/_UTSwxUbMy2Y/S_83W7J5EQI/AAAAAAAAAFM/qIqKeoE8lXs/s1600/image001.png"&gt;&lt;img src="http://2.bp.blogspot.com/_UTSwxUbMy2Y/S_83W7J5EQI/AAAAAAAAAFM/qIqKeoE8lXs/s400/image001.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Right click the stored procedure or function that includes the parameter that you wish to remove, and select Refactors | Remove Parameters.  This opens the Remove Parameters dialog box.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step Two:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;From the list of parameters, uncheck the parameter you wish to delete.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_83XHuH-1I/AAAAAAAAAFU/GndU5U6Rgl4/s1600/image003.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_83XHuH-1I/AAAAAAAAAFU/GndU5U6Rgl4/s400/image003.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Click the &lt;b&gt;Preview&lt;/b&gt; button to see the SQL script that will be used to remove the parameter and update all dependent function or procedure calls.  When removing a parameter from a function, this script will also update the function signature.  You can then click &lt;b&gt;Refresh&lt;/b&gt; to update the script preview to reflect changes in parameters to be removed.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step Three:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Click &lt;b&gt;Remove Now&lt;/b&gt; to execute the generated script.  You can also click the &lt;b&gt;Open Script&lt;/b&gt; button to open the script in a new Query Editor window, in order to manually modify the script prior to running it.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;The Remove Parameters refactor of ApexSQL Edit and ApexSQL Refactor is a powerful addition to any developer’s tool set.  Combining the accuracy of our proprietary database parser and seamless integration with ApexSQL Edit or SSMS, ApexSQL’s Remove Parameter refactor makes SQL Development easier and more efficient.  For information about ApexSQL’s full set of refactors, see &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; or &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Availability&lt;/b&gt;&lt;br&gt;Currently available in ApexSQL Edit 2010.10 and later&lt;br&gt;&lt;span style="color:red;"&gt;Not yet released.&lt;/span&gt;  Will be available in ApexSQL Refactor 2010.03 and later&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-3860328323232835392?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/3860328323232835392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-safely-remove-parameters-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3860328323232835392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3860328323232835392'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-safely-remove-parameters-from.html' title='How to safely remove parameters from stored procedures or functions'/><author><name>Martin Locklear</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UTSwxUbMy2Y/S_83W7J5EQI/AAAAAAAAAFM/qIqKeoE8lXs/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-5261084090770020265</id><published>2010-05-27T23:09:00.014-04:00</published><updated>2010-06-29T14:04:54.281-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Easily find typos and simple scripting errors</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;u&gt;Problem&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Small typos and simple scripting errors are a common source of frustration and lost efficiency for developers. A small error can occur early in the script and not be noticed until the script is executed, and fails. Finding small errors like this in large scripts, especially if there are multiple typos, can be a huge drain on time, since it requires going through the script line by line.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;ApexSQL’s &lt;b&gt;Syntax Error Highlighting&lt;/b&gt; feature, (available in both &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; and our SSMS add-in, &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;), provides a quick and easy way to find syntax errors in real time. By underlining syntactic and semantic errors in red, similar to spell check, ApexSQL’s Syntax Error Highlighting helps prevent errors at runtime, and increases developer efficiency.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;This feature is easily accessible from the query editor via the editor’s context menu. To activate, right click in your query editor and select &lt;b&gt;Refactor | Check Syntax | Check Syntax &lt;i&gt;(On/Off)&lt;/i&gt;&lt;/b&gt;. You can also change the frequency that your script is checked for errors through this menu.&lt;/p&gt;&lt;p align="center" &gt;&lt;a class="zoom" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_80o45cQOI/AAAAAAAAAE0/WsoWjLl4Aw0/s1600/Capture.PNG"&gt;&lt;img src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_80o45cQOI/AAAAAAAAAE0/WsoWjLl4Aw0/s400/Capture.PNG"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ApexSQL’s syntax checking engine underlines script errors in red, like below.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://2.bp.blogspot.com/_UTSwxUbMy2Y/S_80Cu--NrI/AAAAAAAAAEk/yy4N-uR04S4/s1600/image003.png"&gt;&lt;img src="http://2.bp.blogspot.com/_UTSwxUbMy2Y/S_80Cu--NrI/AAAAAAAAAEk/yy4N-uR04S4/s400/image003.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In addition, you can get a quick error description by holding your mouse over the underlined words.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://3.bp.blogspot.com/_UTSwxUbMy2Y/S_80C5wKT7I/AAAAAAAAAEs/0N0-kYpCuWA/s1600/image005.png"&gt;&lt;img src="http://3.bp.blogspot.com/_UTSwxUbMy2Y/S_80C5wKT7I/AAAAAAAAAEs/0N0-kYpCuWA/s400/image005.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ApexSQL’s engine currently check for more than 200 common errors, and our list is constantly growing. Here are just a few examples.&lt;/p&gt;&lt;small&gt;&lt;ul&gt;&lt;li&gt;Variables are not allowed in the statement.&lt;/li&gt;&lt;li&gt;Query not allowed in WAITFOR.&lt;/li&gt;&lt;li&gt;Browse mode is invalid for a statement that assigns values to a variable.&lt;/li&gt;&lt;li&gt;The FOR UPDATE clause is invalid for statements containing set operators.&lt;/li&gt;&lt;li&gt;Batch/procedure exceeds maximum length of %d characters.&lt;/li&gt;&lt;li&gt;CREATE PROCEDURE contains no statements.&lt;/li&gt;&lt;li&gt;Case expressions may only be nested to level %d.&lt;/li&gt;&lt;li&gt;Correlation clause in a subquery not permitted.&lt;/li&gt;&lt;li&gt;Incorrect syntax for definition of the constraint.&lt;/li&gt;&lt;li&gt;Time value used with WAITFOR is not a valid value. Check date/time syntax.&lt;/li&gt;&lt;li&gt;Invalid money value.&lt;/li&gt;&lt;li&gt;The same large data placement option has been specified twice.&lt;/li&gt;&lt;li&gt;Incorrect syntax near the keyword.&lt;/li&gt;&lt;li&gt;Rule does not contain a variable.&lt;/li&gt;&lt;li&gt;Invalid expression in the TOP clause.&lt;/li&gt;&lt;li&gt;Cannot use SELECT INTO in browse mode.&lt;/li&gt;&lt;li&gt;Cannot use HOLDLOCK in browse mode.&lt;/li&gt;&lt;li&gt;The FOR BROWSE clause is no longer supported in views. Set the database compatibility level to 80 or lower for this statement to be allowed.&lt;/li&gt;&lt;li&gt;Cannot use the OUTPUT option when passing a constant to a stored procedure.&lt;/li&gt;&lt;li&gt;There are too many parameters in this statement. The maximum number is %d.&lt;/li&gt;&lt;li&gt;Cannot use the OUTPUT option in a DECLARE or CREATE FUNCTION statement.&lt;/li&gt;&lt;li&gt;Data stream is invalid for WRITETEXT statement in bulk form.&lt;/li&gt;&lt;li&gt;Data stream missing from WRITETEXT statement.&lt;/li&gt;&lt;li&gt;An invalid date or time was specified in the statement.&lt;/li&gt;&lt;li&gt;Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries.&lt;/li&gt;&lt;li&gt;The object or column name starting with '%.*ls' is too long. The maximum length is %d characters.&lt;/li&gt;&lt;li&gt;Cannot use an existing function name to specify a stored procedure name.&lt;/li&gt;&lt;li&gt;Mixing old and new syntax to specify cursor options is not allowed.&lt;/li&gt;&lt;li&gt;Browse mode is invalid for subqueries and derived tables.&lt;/li&gt;&lt;li&gt;Cannot set or reset the 'parseonly' option within a procedure or function.&lt;/li&gt;&lt;li&gt;Function requires at least %d argument(s).&lt;/li&gt;&lt;li&gt;The integer value is out of range.&lt;/li&gt;&lt;li&gt;Cannot use If UPDATE within this CREATE TRIGGER statement.&lt;/li&gt;&lt;li&gt;The ON clause is not valid for this statement.&lt;/li&gt;&lt;/ul&gt;&lt;/small&gt;&lt;p&gt;ApexSQL’s &lt;b&gt;Syntax Error Highlighting&lt;/b&gt;, with its large and growing library of possible errors, provides a quick and easy way to prevent typos and scripting errors in real time, saving you time, and increasing your efficiency. For information about ApexSQL’s full set of refactors, see &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; or &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Availability&lt;/b&gt;&lt;br&gt;Currently available in ApexSQL Edit 2008.06 and later&lt;br&gt;&lt;span style="color:red;"&gt;Not yet released.&lt;/span&gt; Will be available in ApexSQL Refactor 2010.03 and later&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-5261084090770020265?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/5261084090770020265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/easily-find-typos-and-simple-scripting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5261084090770020265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5261084090770020265'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/easily-find-typos-and-simple-scripting.html' title='Easily find typos and simple scripting errors'/><author><name>Martin Locklear</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_80o45cQOI/AAAAAAAAAE0/WsoWjLl4Aw0/s72-c/Capture.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-6789200342855144537</id><published>2010-05-27T23:03:00.008-04:00</published><updated>2010-06-29T16:45:23.730-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly convert SQL code to language-specific Client Code</title><content type='html'>&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-family:Calibri;"&gt;Problem&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Integrating SQL Server with business infrastructure often requires developers to prepare T-SQL scripts for use within various client codes, (such as C#, PHP, and Perl). However, there isn’t an easy way to &lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;simply cut and paste T-SQL from a query editor and have the script refactored for the syntax of the destination language.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-family:Calibri;"&gt;Solution&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;ApexSQL’s &lt;b style=""&gt;Copy SQL Code As&lt;/b&gt; refactor, (available in both &lt;/span&gt;&lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Calibri;"&gt;ApexSQL Edit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; and our SSMS add-in, &lt;/span&gt;&lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Calibri;"&gt;ApexSQL Refactor&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;), provides a simple way to convert your script into the syntax of client languages.&lt;span style=""&gt; &lt;/span&gt;Simply cut and paste your script, and ApexSQL’s refactor will automatically translate the script to the appropriate syntax for the target language.&lt;span style=""&gt; &lt;/span&gt;In addition to the predefined languages,&lt;span style=""&gt; &lt;/span&gt;our &lt;b style=""&gt;Copy SQL Code As &lt;/b&gt;refactor allows you to create custom language templates, allowing support for any coding language.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Here’s how it works.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;The &lt;b style=""&gt;Copy SQL Code As&lt;/b&gt; refactor is easily accessed through the context menu of the query editor.&lt;span style=""&gt; &lt;/span&gt;Simply select the script you wish to convert, right click, select Copy SQL Code As, and select your desired language.&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a target="_blank" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8ywkO9O1I/AAAAAAAAAEM/atq2_eN8OSw/s1600/image001.png"&gt;&lt;img style="width: 303px; height: 253px;" id="BLOGGER_PHOTO_ID_5476151481847331666" alt="" src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8ywkO9O1I/AAAAAAAAAEM/atq2_eN8OSw/s400/image001.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-family:Calibri;"&gt;Your script will now be refactored into the appropriate syntax, and placed on your clipboard, enabling you to easily paste it into the editor of your choice.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;From this same menu, you are able to access the Customize Language Templates dialog, allowing you to make changes to existing language templates, or create completely new ones.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a target="_blank" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8yxIeDcgI/AAAAAAAAAEU/3pE5wJDjJ7M/s1600/image003.png"&gt;&lt;img style="width: 400px; height: 392px;" id="BLOGGER_PHOTO_ID_5476151491574329858" alt="" src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8yxIeDcgI/AAAAAAAAAEU/3pE5wJDjJ7M/s400/image003.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal" align="left"&gt;&lt;span style="font-family:Calibri;"&gt;Below are some examples of scripts generated with our predefined templates.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Calibri;"&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal" align="left"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;v:shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" coordsize="21600,21600" spt="202"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:path gradientshapeok="t" connecttype="rect"&gt;&lt;/v:path&gt;&lt;/v:shapetype&gt;&lt;p style="text-align: center; margin: 0in 0in 0pt;" class="MsoNormal" align="left"&gt;&lt;v:shape style="width: 419.55pt; height: 121.95pt;" id="_x0000_s1026" type="#_x0000_t202"&gt;&lt;v:textbox style=""&gt;&lt;/v:textbox&gt;&lt;/v:shape&gt;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="border: medium none rgb(240, 240, 240);color:transparent;"&gt;&lt;div&gt;&lt;p style="text-align: center; margin: 0in 0in 0pt;" class="MsoNormal" align="center"&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style=""&gt;Original T-SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span class="fullpost"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;color:blue;"&gt;CREATE&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;[dbo]&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;[ErrorLog]&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;  &lt;span style="color:maroon;"&gt;[ErrorLogID]&lt;/span&gt;  &lt;i&gt;&lt;span style="color:black;"&gt;[INT]&lt;/span&gt;&lt;/i&gt;    &lt;span style="color:blue;"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt; &lt;span style="color:silver;"&gt;,&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#800000;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;[ErrorTime]&lt;/span&gt;   &lt;i&gt;&lt;span style="color:black;"&gt;[DATETI&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;i&gt;&lt;span style="color:black;"&gt;ME]&lt;/span&gt;&lt;/i&gt;    &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;  &lt;span style="color:maroon;"&gt;[UserName]&lt;/span&gt;    &lt;i&gt;&lt;span style="color:black;"&gt;[SYSNAME]&lt;/span&gt;&lt;/i&gt;    &lt;span style="color:blue;"&gt;COLLATE&lt;/span&gt;&lt;span style="color:maroon;"&gt;sql_latin1_&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;general_cp1_&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;ci_as&lt;/span&gt;    &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;[ErrorNumber&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;]&lt;/span&gt; &lt;i&gt;&lt;span style="color:black;"&gt;[INT]&lt;/span&gt;&lt;/i&gt;   &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:maroon;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;span class="fullpost"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:7pt;"&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;table&lt;/span&gt; &lt;span style="color:maroon;"&gt;errorlog&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:9pt;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;w:wrap type="none"&gt;&lt;/w:wrap&gt;&lt;w:anchorlock&gt;&lt;/w:anchorlock&gt;&lt;v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" coordsize="21600,21600" spt="75" stroked="f" filled="f" preferrelative="t"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path gradientshapeok="t" connecttype="rect" extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style=""&gt;&lt;u&gt;After Refactoring&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Tahoma, Arial;font-size:12px;"&gt;&lt;span style="font-weight: bold; "&gt;Copy SQL Code As C#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Tahoma, Arial;font-size:12px;"&gt;&lt;div&gt;string SQL = "CREATE TABLES [dbo].[ErrorLog]( \n"&lt;/div&gt;&lt;div&gt;           + "    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, \n"&lt;/div&gt;&lt;div&gt;           + "    [ErrorTime] [datetime] NOT NULL, \n"&lt;/div&gt;&lt;div&gt;           + "    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, \n"&lt;/div&gt;&lt;div&gt;           + "    [ErrorNumber] [int] NOT NULL) \n"&lt;/div&gt;&lt;div&gt;           + "GO \n"&lt;/div&gt;&lt;div&gt;           + "SELECT * FROM TABLE ErrorLog";&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Tahoma, Arial;font-size:12px;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold; "&gt;Copy SQL Code As VB .NET&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-family:'Courier New';color:#0000FF;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"   style="font-family:Tahoma, Arial;color:#000000;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Dim SQL As String&lt;/div&gt;&lt;div&gt;SQL = "CREATE TABLES [dbo].[ErrorLog]( " + char(10) _&lt;/div&gt;&lt;div&gt;    + "    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, " + char(10) _&lt;/div&gt;&lt;div&gt;    + "    [ErrorTime] [datetime] NOT NULL, " + char(10) _&lt;/div&gt;&lt;div&gt;    + "    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, " + char(10) _&lt;/div&gt;&lt;div&gt;    + "    [ErrorNumber] [int] NOT NULL) " + char(10) _&lt;/div&gt;&lt;div&gt;    + "GO " + char(10) _&lt;/div&gt;&lt;div&gt;    + "SELECT * FROM TABLE ErrorLog"&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; "&gt;Copy SQL Code As PHP&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-family:monospace;color:#A65700;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"   style="font-family:Tahoma, Arial;color:#000000;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Tahoma, Arial;font-size:12px;"&gt;&lt;span class="Apple-style-span"   style="font-family:monospace;color:#A65700;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"   style="font-family:Tahoma, Arial;color:#000000;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;div&gt;&amp;lt;?php&lt;/div&gt;&lt;div&gt;string s$SQL = "CREATE TABLES [dbo].[ErrorLog]( \n"&lt;/div&gt;&lt;div&gt;     . "    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, \n"&lt;/div&gt;&lt;div&gt;     . "    [ErrorTime] [datetime] NOT NULL, \n"&lt;/div&gt;&lt;div&gt;     . "    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, \n"&lt;/div&gt;&lt;div&gt;     . "    [ErrorNumber] [int] NOT NULL) \n"&lt;/div&gt;&lt;div&gt;     . "GO \n"&lt;/div&gt;&lt;div&gt;     . "SELECT * FROM TABLE ErrorLog";&lt;/div&gt;&lt;div&gt;?&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Calibri;font-size:130%;"&gt;&lt;span class="Apple-style-span"  style=" -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;font-size:16px;"&gt;&lt;span class="Apple-style-span"    style="font-family:Tahoma, Arial;font-size:100%;color:#A65700;"&gt;&lt;span class="Apple-style-span"  style=" -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal" align="left"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style=""&gt;ApexSQL’s &lt;b style=""&gt;Copy SQL Code As &lt;/b&gt;refactor provides a quick and easy way transfer T-SQL scripts into client code, saving you time, and increasing your efficiency&lt;/span&gt;.&lt;span style=""&gt;  &lt;/span&gt;For information about ApexSQL’s full set of refactors, see &lt;/span&gt;&lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Calibri;"&gt;ApexSQL Edit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; or &lt;/span&gt;&lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Calibri;"&gt;ApexSQL Refactor&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt; &lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;"&gt;Availability&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Currently available in ApexSQL Edit 2008.06 and later&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Currently available in ApexSQL Refactor 2010.01 and later&lt;span style="color:red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-6789200342855144537?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/6789200342855144537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/quickly-convert-sql-code-to-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6789200342855144537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6789200342855144537'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/quickly-convert-sql-code-to-language.html' title='Quickly convert SQL code to language-specific Client Code'/><author><name>Martin Locklear</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8ywkO9O1I/AAAAAAAAAEM/atq2_eN8OSw/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-7891164128843031256</id><published>2010-05-27T22:56:00.026-04:00</published><updated>2010-06-29T16:28:08.905-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>How to eliminate performance problems and prevent errors associated with “SELECT *”</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;u&gt;Problem:&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Database development best practices suggest that implicitly referencing columns using &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:grey;"&gt;*&lt;/span&gt;&lt;/tt&gt; in queries should be avoided, due to potential problems associated with code readability, script robustness and query performance.  &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:gray;"&gt;*&lt;/span&gt;&lt;/tt&gt; forces SQL Server to reconcile the referenced columns, creating an extra step in the query execution process that can result in as much as a 50% decrease in performance. In addition, wildcards can result in queries that return excessive data, returning unneeded columns in the result set.  You can read more about this issue &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ff647793.aspx#scalenetchapt14%20_topic7"&gt;here&lt;/a&gt;, in an article from the MSDN library.&lt;/p&gt;&lt;p&gt;In addition to potential performance problems, &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:gray;"&gt;*&lt;/span&gt;&lt;/tt&gt; obscures the specific list of columns that have been referenced, which can result in unanticipated errors in calling code (i.e. client code) that are difficult to diagnose.&lt;/p&gt;&lt;p&gt;&lt;i&gt;Explicitly&lt;/i&gt; referencing columns can avoid these performance issues, but implementing this practice by manually typing each column name is time consuming and error prone.&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;ApexSQL's Expand Wildcards refactor, (available in both &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt; and &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt;), takes advantage of the power of our proprietary parser to quickly and accurately replace the asterisk in &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:gray;"&gt;*&lt;/span&gt;&lt;/tt&gt; with the explicit column list, allowing developers to code both quickly and correctly.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;This simple but powerful refactor can make significant increases developer efficiency and query performance by:&lt;ul&gt;&lt;li&gt;Making queries more transparent, increasing both individual and team efficiency&lt;/li&gt;&lt;li&gt;Eliminating a step from SQL Server’s execution process, when executing &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt; statements internally&lt;/li&gt;&lt;li&gt;Stabilizing queries against changes in referenced tables&lt;/li&gt;&lt;li&gt;Enabling developers to use only those columns specifically needed, preventing the query from taxing database resources in order to return unnecessary data&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img style="WIDTH:20px; HEIGHT:20px;" border="0" src="http://3.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8nr1uMI/AAAAAAAAAG0/4T627stbtbM/s400/image001.png"&gt;&lt;i&gt;Tech Note: Propagating column name changes to all explicit column references is easy with ApexSQL’s &lt;a href="http://solutioncenter.apexsql.com/2010/05/how-to-implement-risk-free-name-change.html"&gt;Smart Rename refactor&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;To make use of this refactor in ApexSQL Edit, right-click the SQL script in a query window (or use the hotkey, Ctrl+Shift+E), and select &lt;b&gt;Refactor Expand | Wildcards&lt;/b&gt;.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8bksBbI/AAAAAAAAAGs/WaIssOMfXRo/s1600/image003.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8bksBbI/AAAAAAAAAGs/WaIssOMfXRo/s400/image003.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;To make use of this refactor via the ApexSQL Refactor add-in for SSMS, select &lt;b&gt;Tools | ApexSQL Refactor | Expand Wildcards&lt;/b&gt; from the menu (or use the hotkey, Ctrl+Shift+E).&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://2.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8EE6cOI/AAAAAAAAAGk/UHHIfMuxhnk/s1600/image005.png"&gt;&lt;img src="http://2.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8EE6cOI/AAAAAAAAAGk/UHHIfMuxhnk/s400/image005.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here’s an example of a &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt; statement that has been refactored.&lt;/p&gt;&lt;table border="0" align="center"&gt;&lt;tr&gt;&lt;td&gt;&lt;u&gt;Before:&lt;/u&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;u&gt;After:&lt;/u&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:gray;"&gt;*&lt;/span&gt;&lt;br&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:royalblue;"&gt;SalesLT&lt;/span&gt;&lt;span style="color:navy;"&gt;.Address&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.AddressID,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.AddressLine1,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.AddressLine2,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.City,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.StateProvince,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.CountryRegion,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.PostalCode,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.rowguid,&lt;/span&gt;&lt;br&gt;&lt;span style="color:navy;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Address&lt;/span&gt;&lt;span style="color:black;"&gt;.ModifiedDate&lt;/span&gt;&lt;br&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;&lt;span style="color:royalblue;"&gt;&amp;nbsp;SalesLT&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:navy;"&gt;Address&lt;/span&gt;&lt;br&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;The &lt;b&gt;Expand Wildcards&lt;/b&gt; refactor of ApexSQL Edit and ApexSQL Refactor is an effective tool for preventing errors associated with asterisks in &lt;tt&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt; statements, improving quality and readability of scripts, improving query performance, and increasing developer efficiency. For more information about ApexSQL’s powerful refactors, see &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; or &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Availability&lt;/b&gt;&lt;br&gt;Currently available in ApexSQL Edit 2008.05 and later&lt;br&gt;Currently available in ApexSQL Refactor 2010.01 and later&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-7891164128843031256?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/7891164128843031256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-eliminate-performance-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/7891164128843031256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/7891164128843031256'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-eliminate-performance-problems.html' title='How to eliminate performance problems and prevent errors associated with “SELECT *”'/><author><name>Martin Locklear</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UTSwxUbMy2Y/TBGT8nr1uMI/AAAAAAAAAG0/4T627stbtbM/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-1064605854987066796</id><published>2010-05-27T21:42:00.037-04:00</published><updated>2010-06-29T14:28:17.168-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>How to implement risk free name changes for objects, columns, and parameters</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;u&gt;Problem:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Changing the name of an object, column, or parameter is a simple procedure, significantly complicated by the presence of referencing objects. A single name change can cause a cascade of broken dependencies, potentially compromising the structure and integrity of your entire database. Unless all dependent objects are updated, foreign key references to dependent columns will be broken, views and stored procedures that explicitly reference the old name will fail causing application breakage, and many other problems can be created.&lt;br /&gt;SQL Server’s own dependency tracking systems (sysdepends, sp_msdependencies),are often incomplete, inaccurate, or both. You can read more about limitations of SQL Server’s dependency tracking system &lt;a href="http://blog.apexsql.com/2009/01/power-of-parser.htm"&gt;here&lt;/a&gt;, or on Microsoft’s own &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc879246.aspx"&gt;website&lt;/a&gt;. You can spend large amounts of time hunting down dependencies manually, which is at best a tedious process, and at worst an impossible one, if you are working on legacy databases created by other developers.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;Solution:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;ApexSQL has spent the equivalent of 3 years developing and testing our own &lt;a href="http://blog.apexsql.com/2009/01/power-of-parser.htm"&gt;proprietary parser&lt;/a&gt; that monitors dependencies in real time, quickly and accurately.Our &lt;b&gt;Smart Rename&lt;/b&gt; refactor harness the power of this proprietary parser to easily propagate name changes throughout databases, consistently preventing broken dependencies and related errors. The &lt;b&gt;Smart Rename&lt;/b&gt; refactor enables you to implement a name change without modifying a single line of script. This refactor is included in both &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Edit&lt;/a&gt;, and our SSMS add-in, &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Here’s how to take advantage of ApexSQL’s &lt;b&gt;Smart Rename refactor&lt;/b&gt;.&lt;/p&gt;&lt;div style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;p&gt;&lt;b&gt;Step One:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The &lt;b&gt;Smart Rename&lt;/b&gt; refactor is available through the context (right-click) menu of each column.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8gTp4lMTI/AAAAAAAAADU/7A7_ADOee_c/s1600/image001.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8gTp4lMTI/AAAAAAAAADU/7A7_ADOee_c/s400/image001.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Right click the column, parameter, or object that you wish to rename, and select &lt;b&gt;Refactors | Smart Rename&lt;/b&gt;. This opens the Smart Rename dialog box.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step Two:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Enter your desired new name. For items other than columns and parameters, you are also able to select a new schema.&lt;/p&gt;&lt;p align="center"&gt;&lt;a class="zoom" href="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8gMMwn-SI/AAAAAAAAADM/3aqEeJfvXWw/s1600/image002.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8gMMwn-SI/AAAAAAAAADM/3aqEeJfvXWw/s400/image002.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Click the &lt;b&gt;Preview&lt;/b&gt; button to see the SQL script that contains all SQL commands necessary to rename the selected object, column, or parameter and all dependent objects. You can then click &lt;b&gt;Refresh&lt;/b&gt; to update the script preview if any changes have been made.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step Three:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Click &lt;b&gt;Rename Now&lt;/b&gt; to execute the generated script. You can also click &lt;b&gt;Open Script&lt;/b&gt; to open the script in a new Query Editor window, in order to manually modify the script.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;The &lt;b&gt;Smart Rename&lt;/b&gt; refactor of ApexSQL Edit and ApexSQL Refactor is a powerful addition to any developer’s tool set. Combining the accuracy of our proprietary database parser and seamless integration into ApexSQL Edit or SSMS, ApexSQL’s Smart Rename refactor makes SQL Development easier and more efficient. For information about ApexSQL’s full set of refactors, see &lt;a href="http://www.apexsql.com/sql_tools_edit.asp"&gt;ApexSQL Edit&lt;/a&gt; or &lt;a href="http://www.apexsql.com/sql_tools_refactor.asp"&gt;ApexSQL Refactor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Availability&lt;/b&gt;&lt;br&gt;&lt;span style="color:red;"&gt;Not yet released.&lt;/span&gt; Will be available in ApexSQL Edit 2008.11 and later&lt;br&gt;&lt;span style="color:red;"&gt;Not yet released.&lt;/span&gt; Will be available in ApexSQL Refactor 2008.11 and later&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-1064605854987066796?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/1064605854987066796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-implement-risk-free-name-change.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/1064605854987066796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/1064605854987066796'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/05/how-to-implement-risk-free-name-change.html' title='How to implement risk free name changes for objects, columns, and parameters'/><author><name>Martin Locklear</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UTSwxUbMy2Y/S_8gTp4lMTI/AAAAAAAAADU/7A7_ADOee_c/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-6448944576825687815</id><published>2010-01-31T08:05:00.066-05:00</published><updated>2010-05-11T04:25:05.967-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Source Control Integration'/><title type='text'>Use ApexSQL products to manage your databases  releases</title><content type='html'>ApexSQL Diff and ApexSQL Edit allow you to manage your database versions releases.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;A database release management automates the process of applying SQL code updated by developers to your production database. Use the links to several videos to review how this process can look like if you use ApexSQL Diff and ApexSQL Edit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 1: How to create a initial project for your database in a Source Control system using ApexSQL Diff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apexsql.com/solutioncenter/uploaded_images/step1-756126.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 178px;" src="http://www.apexsql.com/solutioncenter/uploaded_images/step1-756123.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The step shows an architecture used in this example and explains how to export your current database structure to a Source Control system.&lt;br /&gt;Click the &lt;a href="http://www.apexsql.com/video/flash/ApexSQLSourceControl/Export_Prod_db_to_SC/Step1_Export_Prod_db_to_SC_v1_01_custom.htm"&gt;link &lt;/a&gt; to review this step.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 2: How to create a developer's database based on the current state of the Source Control project using ApexSQL Diff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apexsql.com/solutioncenter/uploaded_images/step2-782790.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 181px;" src="http://www.apexsql.com/solutioncenter/uploaded_images/step2-782787.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The step shows how developers can synchronize their local, empty databases with a database structure stored in a Source Control system.&lt;br /&gt;Click the &lt;a href="http://www.apexsql.com/video/flash/ApexSQLSourceControl/Sync_dev_db_with_Sc/Ste2_Sync_dev_db_with_Sc_system_v1_01_custom.htm"&gt;link &lt;/a&gt; to review this step.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 3: How developers can change their local databases' structure using ApexSQL Edit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apexsql.com/solutioncenter/uploaded_images/step3-718897.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 387px; height: 294px;" src="http://www.apexsql.com/solutioncenter/uploaded_images/step3-718895.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The step shows how developers can add their local databases to the previously defined Source Control project, how to change definitions for database objects and saves changes in a Source Control system.&lt;br /&gt;Click the &lt;a href="http://www.apexsql.com/video/flash/A6/A6_demo_v1_2.htm"&gt;link &lt;/a&gt;&lt;br /&gt; to review the step.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 4: How to update a production database structure with a Source Control system using ApexSQL Diff.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apexsql.com/solutioncenter/uploaded_images/step4-736167.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 177px;" src="http://www.apexsql.com/solutioncenter/uploaded_images/step4-736162.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The step explains how to propagate changes saved in your Source Control system project to your database by using ApexSQL Diff and its synchronization feature. &lt;br /&gt;Click the &lt;a href="http://www.apexsql.com/video/flash/A7/A7_demo_v1_3.htm"&gt;link &lt;/a&gt; to review the step. &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-6448944576825687815?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/6448944576825687815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/use-apexsql-products-to-manage-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6448944576825687815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6448944576825687815'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/use-apexsql-products-to-manage-your.html' title='Use ApexSQL products to manage your databases  releases'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-3022133357640004437</id><published>2010-01-19T16:59:00.002-05:00</published><updated>2010-01-19T16:59:57.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Find errors in your SQL code fast</title><content type='html'>When you turn on the Syntax error highlighting option, our refactor engine will start checking your queries for any errors. Errors found will be marked by a red underline allowing you to find them quickly.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.apexsql.com/devblog/uploaded_images/syntax-error-highlightning-738463.JPG" target="_blank"&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://www.apexsql.com/devblog/uploaded_images/syntax-error-highlightning-738463.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you can see from above, all of the following errors are underlined:&lt;br /&gt;&lt;br /&gt;1) the extra “OF” beside “SET QUOTED_IDENTIFIER”&lt;br /&gt;2) TABLES is misspelled (should be “TABLE”)&lt;br /&gt;3) The last select statement has an extra word “TABLE” &lt;br /&gt;&lt;br /&gt;Here are some items that will be checked by this Syntax Error Highlighter refactor:&lt;br /&gt;Note! There are more syntax checking rules then mentioned here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Syntax Errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Unclosed quotation mark after the character string &lt;br /&gt;      select name as 'alias from sys.objects&lt;br /&gt;- Missing end comment mark '*/'&lt;br /&gt;      select * from sys.objects/*&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Semantic errors – SELECT Statement Errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.&lt;br /&gt;- ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.&lt;br /&gt;- The column prefix does not match with a table name or alias name used in the query. &lt;br /&gt;&lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;table1&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;table2&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt; &lt;br /&gt;- The ORDER BY position number %ld is out of range of the number of items in the select list.&lt;br /&gt; &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;-&lt;/font&gt;&lt;font color = "black"&gt;1&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "black"&gt;100&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- A COMPUTE BY item was not found in the order by list. All expressions in the compute by list must also be present in the order by list.&lt;br /&gt; &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;employeeid&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;orderdate&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;freight&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;northwind&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;dbo&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;customerid&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;orderdate&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;COMPUTE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;SUM&lt;/font&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "maroon"&gt;freight&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;employeeid&lt;/font&gt;&lt;font color = "silver"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- ORDER BY items must appear in the select list if SELECT DISTINCT is specified.&lt;br /&gt;&lt;br /&gt;(All columns in ORDER BY should be present in select list if SELECT DISTINCT is used.)&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;DISTINCT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;name&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- A column has been specified more than once in the order by list. Columns in the order by list must be unique.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "black"&gt;2&lt;/font&gt;&lt;br /&gt;&lt;br&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- The IDENTITY function can only be used when the SELECT statement has an INTO clause.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;select&lt;/font&gt;&amp;nbsp;&lt;font color = "#FF0080"&gt;&lt;b&gt;identity&lt;/font&gt;&lt;/b&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "blue"&gt;int&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;font color = "black"&gt;1&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;font color = "black"&gt;1&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;as&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;from&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- ORDER BY must not be the first query in a statement containing a UNION, INTERSECT or EXCEPT operator.&lt;br /&gt;&lt;br /&gt;  select object_id from sys.objects  order by object_id&lt;br /&gt;  union&lt;br /&gt;  select object_id from sys.objects&lt;br /&gt;  order by object_id&lt;br /&gt;&lt;br /&gt;- The correlation name '%.*ls' is specified multiple times in a FROM clause.&lt;br /&gt;(The same aliases can’t be used inside single SELECT statement)&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;name&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;AS&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "maroon"&gt;customerid&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;font color = "maroon"&gt;nbr&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;JOIN&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;object_id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;name&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;AS&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "maroon"&gt;customerid&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;font color = "maroon"&gt;nbr&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;ON&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;customerid&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;=&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;customerid&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Other semantic errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;INSERT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;INTO&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;t&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "maroon"&gt;id&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;name&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;VALUES&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "black"&gt;1&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "red"&gt;'name'&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "red"&gt;'comment'&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- A TOP N value may not be negative.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TOP&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;-&lt;/font&gt;&lt;font color = "black"&gt;10&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;northwind&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;dbo&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Subqueries are not allowed in this context. Only scalar expressions are allowed.&lt;br /&gt;(Sub-queries are not allowed for some statements)&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TABLE&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;#t&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;id&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;CHAR&lt;/font&gt;&lt;/i&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "black"&gt;10&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;NULL&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;c1&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;TEXT&lt;/font&gt;&lt;/i&gt;&amp;nbsp;&lt;font color = "blue"&gt;CONSTRAINT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;df_working&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;DEFAULT&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- A GOTO statement references the label, but the label has not been declared.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;GOTO&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;label2&lt;/font&gt;&lt;br /&gt;LABEL1:&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Variable should be declared before usage.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SET&lt;/font&gt;&amp;nbsp;&lt;font color = "#8000FF"&gt;@a&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;=&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;1&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Cannot use a BREAK statement outside the scope of a WHILE statement.&lt;br /&gt; &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;PROCEDURE&lt;/font&gt;&amp;nbsp;&lt;font color = "#FF0080"&gt;&lt;b&gt;P1&lt;/font&gt;&lt;/b&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "#8000FF"&gt;@id&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;INT&lt;/font&gt;&lt;/i&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;AS&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;BREAK&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;RETURN&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;2&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Cannot use a CONTINUE statement outside the scope of a WHILE statement.&lt;br /&gt; &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;PROCEDURE&lt;/font&gt;&amp;nbsp;&lt;font color = "#FF0080"&gt;&lt;b&gt;P1&lt;/font&gt;&lt;/b&gt;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "#8000FF"&gt;@id&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;INT&lt;/font&gt;&lt;/i&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;AS&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;CONTINUE&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;RETURN&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;2&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Rule does not contain a variable.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;RULE&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;R1&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;AS&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;2&lt;/font&gt;&lt;font color = "silver"&gt;&amp;gt;&lt;/font&gt;&lt;font color = "black"&gt;3&lt;/font&gt;&lt;font color = "silver"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- The definition for column '%.*ls' must include a data type.&lt;br /&gt; &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TABLE&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;t&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;c1&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Percent values must be between 0 and 100.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;TOP&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;150&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;PERCENT&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;northwind&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;dbo&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;orders&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;ORDER&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;BY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;orderid&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- The number of rows in the TOP clause must be an integer.&lt;br /&gt;  &lt;font face="Courier New" size="2"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TOP&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;0.25&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;br&gt;&lt;font color = "blue"&gt;DECLARE&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "#8000FF"&gt;@p&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "blue"&gt;AS&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;FLOAT&lt;/font&gt;&lt;/i&gt;&lt;font color = "silver"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "#8000FF"&gt;@p&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;=&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;10&lt;/font&gt;&lt;br /&gt;&lt;br&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TOP&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&amp;nbsp;&lt;font color = "#8000FF"&gt;@p&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;sys&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;objects&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Other Errors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Other Errors that will be checked, but don’t have example (this list is not complete).&lt;br /&gt;&lt;br /&gt;1. Query not allowed in WAITFOR.&lt;br /&gt;2. Variables are not allowed in the statement.&lt;br /&gt;3. Browse mode is invalid for a statement that assigns values to a variable.&lt;br /&gt;4. The FOR UPDATE clause is invalid for statements containing set operators.&lt;br /&gt;5. Batch/procedure exceeds maximum length of %d characters.&lt;br /&gt;6. CREATE PROCEDURE contains no statements.&lt;br /&gt;7. Case expressions may only be nested to level %d.&lt;br /&gt;8. Correlation clause in a subquery not permitted.&lt;br /&gt;9. Incorrect syntax for definition of the constraint.&lt;br /&gt;10. Time value used with WAITFOR is not a valid value. Check date/time syntax.&lt;br /&gt;11. Invalid money value.&lt;br /&gt;12. The same large data placement option has been specified twice.&lt;br /&gt;13. Incorrect syntax near the keyword.&lt;br /&gt;14. Rule does not contain a variable.&lt;br /&gt;15. Invalid expression in the TOP clause.&lt;br /&gt;16. Cannot use SELECT INTO in browse mode.&lt;br /&gt;17. Cannot use HOLDLOCK in browse mode.&lt;br /&gt;18. The FOR BROWSE clause is no longer supported in views. Set the database compatibility level to 80 or lower for this statement to be allowed.&lt;br /&gt;19. Cannot use the OUTPUT option when passing a constant to a stored procedure.&lt;br /&gt;20. There are too many parameters in this statement. The maximum number is %d.&lt;br /&gt;21. Cannot use the OUTPUT option in a DECLARE or CREATE FUNCTION statement.&lt;br /&gt;22. Data stream is invalid for WRITETEXT statement in bulk form.&lt;br /&gt;23. Data stream missing from WRITETEXT statement.&lt;br /&gt;24. An invalid date or time was specified in the statement.&lt;br /&gt;25. Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries.&lt;br /&gt;26. The object or column name starting with '%.*ls' is too long. The maximum length is %d characters.&lt;br /&gt;27. Cannot use an existing function name to specify a stored procedure name.&lt;br /&gt;28. Mixing old and new syntax to specify cursor options is not allowed.&lt;br /&gt;29. Browse mode is invalid for subqueries and derived tables.&lt;br /&gt;30. Cannot set or reset the 'parseonly' option within a procedure or function.&lt;br /&gt;31. Function requires at least %d argument(s).&lt;br /&gt;32. The integer value is out of range.&lt;br /&gt;33. Cannot use If UPDATE within this CREATE TRIGGER statement.&lt;br /&gt;34. The ON clause is not valid for this statement.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Syntax Highlighting in ApexSQL Edit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It can be turned on/off by using context menu command on query editor. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apexsql.com/devblog/uploaded_images/syntax-check---context-menu-763633.JPG" target="_blank"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 116px;" src="http://www.apexsql.com/devblog/uploaded_images/syntax-check---context-menu-763630.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While turned on, this refactor will perform syntax checks on specified check interval. When something wrong is found you can see additional error description by hovering your mouse over underlined words. You will get text tooltip that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apexsql.com/devblog/uploaded_images/syntax-check---tooltip-787711.JPG" target="_blank"&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 336px; height: 50px;" src="http://www.apexsql.com/devblog/uploaded_images/syntax-check---tooltip-787711.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Get your developers the tools they need to do the job fast and right - &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;ApexSQL Developer Studio&lt;/a&gt; is the ultimate combat multiplier for SQL Developers.  Best of Class tools - one download, install and discounted &lt;a href="http://www.apexsql.com/purchase.asp"&gt;price&lt;/a&gt;.  Click &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;Here&lt;/a&gt; for more info.&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-3022133357640004437?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/3022133357640004437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/find-errors-in-your-sql-code-fast.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3022133357640004437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3022133357640004437'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/find-errors-in-your-sql-code-fast.html' title='Find errors in your SQL code fast'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-3303221811233849412</id><published>2010-01-19T16:58:00.015-05:00</published><updated>2010-06-29T05:02:16.751-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly Convert your selected SQL code to a new Scalar Inline Function</title><content type='html'>For helping you to make your T-SQL code more readable we developed a new refactor that enables you to extract large expressions or a set of multiple expressions into a separate scalar function that can be used then from within different areas of your code.&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;Let’s review how Encapsulate as Scalar Inline Function refactor works on the below examples.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before refactoring &lt;/strong&gt;select a scalar expression to encapsulate:&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@days&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;br&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@holidays&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacation_period&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;money&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@totalsalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacationpayment&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;br&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: blue; "&gt;set&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@days&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;set&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@totalsalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style= "background-color:yellow"&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;BR&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;&lt;BR&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;set&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacationpayment&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@totalsalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; "&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;365&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@holidays&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacation_period&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;After refactoring&lt;/strong&gt; the selected expression will be encapsulated into the scalar function and the original code modified as follows:&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;background-color:yellow;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FUNCTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;TotalSalary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURNS&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;RETURN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: 8pt;color: #8000FF"&gt;&lt;span style="color: #8000FF"&gt; @monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;br&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;/&lt;/span&gt;&lt;span style="color: black; "&gt;100&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@days&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@holidays&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacation_period&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;int&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;money&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;declare&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@totalsalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@vacationpayment&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;br&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;float&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;set&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@monthlysalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@days&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue; "&gt;set&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@totalsalary&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;TotalSalary&lt;/span&gt;&lt;span style="color: maroon"&gt;(&lt;/span&gt;&lt;span style="color: #8000FF"&gt;@monthlysalary&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@unemployment&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@insurance&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@pensionFund&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Please note that the name of the created scalar function (dbo.name in example) can be customized. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="width:460;height:130" src="http://www.apexsql.com/devblog/uploaded_images/refactor-703978.jpg" border="0" alt="Context menu" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="width:396;height:384" src="http://www.apexsql.com/devblog/uploaded_images/image007-737361.png"/&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Let’s review another example of Encapsulate as Scalar Inline Function refactor that shows how you can work with statements querying data.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;ProductNumber&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Category&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style= "background-color:yellow"&gt;&lt;span style="color: blue; "&gt;CASE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;ProductLine&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@road&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Road'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@mountain&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Mountain'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@touring&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Touring'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@other&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Other&amp;nbsp;sale&amp;nbsp;items'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;ELSE&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Not&amp;nbsp;for&amp;nbsp;sale'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Production&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Product&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;ORDER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;BY&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;ProductNumber&lt;/span&gt;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;After refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;span style="background-color:yellow"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FUNCTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@ProductLine&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@road&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@other&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@touring&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@mountain&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURNS&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURN&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;CASE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@ProductLine&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@road&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Road'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@mountain&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Mountain'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@touring&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Touring'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@other&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;THEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Other&amp;nbsp;sale&amp;nbsp;items'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;ELSE&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Not&amp;nbsp;for&amp;nbsp;sale'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;background-color:yellow "&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic;font-family: Courier New; font-size: 8pt"&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:yellow;font-family: Courier New; font-size: 8pt"&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;ProductNumber&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;span style="color: maroon; "&gt; Category&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name(&lt;/span&gt;&lt;span style="color: maroon"&gt;ProductLine&lt;/span&gt;&lt;span style="color: #FF0080"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note how all variables from the query are ported to the function variables. However you still need to customize the refactored code to make ProductLine field being a parameter as well. We plan to improve this refactor in the future version of ApexSQL Edit to catch up data fields automatically.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: Courier New; font-size: 8pt"&gt;&lt;em&gt;Get your developers the tools they need to do the job fast and right - &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;ApexSQL Developer Studio&lt;/a&gt; is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted &lt;a href="http://www.apexsql.com/purchase.asp"&gt;price&lt;/a&gt;. Click &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;Here&lt;/a&gt; for more info.&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-3303221811233849412?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/3303221811233849412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code_593.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3303221811233849412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3303221811233849412'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code_593.html' title='Quickly Convert your selected SQL code to a new Scalar Inline Function'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-1783253510635344085</id><published>2010-01-19T16:56:00.002-05:00</published><updated>2010-01-19T16:56:52.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly Convert your selected SQL code to a new Inline Table-Valued Function</title><content type='html'>&lt;b&gt;Encapsulate As Inline Table-Valued Function&lt;/b&gt; refactor allows extracting a query fragment as inline table-valued function. This can be useful if same data query was used in multiple locations, so this allows just referring to a new function from the code.&lt;span class="fullpost"&gt;&lt;br /&gt;Encapsulate As Inline Table-Valued Function refactor will recognize all variables and parameters used inside data query and transfer them into the result function parameters.&lt;br /&gt;&lt;strong&gt;Before refactoring &lt;/strong&gt;highlight SELECT statement:&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;VIEW&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CustomersByRegion&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style= "background-color:yellow"&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;DISTINCT&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Name&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Store&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@city&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;','&lt;/span&gt;&amp;nbsp;&lt;br&gt;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressLine1&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;','&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;PostalCode&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;UserAddress&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Sales&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Store&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Sales&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CAstomerAddress&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CastomerID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CUstomerID&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Person&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Address&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressID&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Person&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvince&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvence&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvinceID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Name&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@name&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;After refactoring&lt;/strong&gt; the selected statement will be encapsulated into the table valued function and the original code will be modified as follows:&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;background-color:yellow;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FUNCTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@city&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@name&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURNS&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TABLE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt; &lt;span style="color: blue;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;DISTINCT&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Name&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Store&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@city&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;','&lt;/span&gt;&amp;nbsp;&lt;br&gt;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressLine1&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;','&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;PostalCode&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;UserAddress&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Sales&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Store&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Sales&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CAstomerAddress&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CastomerID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;S&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;CUstomerID&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Person&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Address&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CA&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;AddressID&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Person&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvince&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvence&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;A&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StateProvinceID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;SP&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Name&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;VIEW&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CustomersByRegion&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color: yellow; "&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@city&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@name&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Please note that the name of the created table valued function (dbo.name in example) can be customized. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="width:460;height:130" src="http://www.apexsql.com/devblog/uploaded_images/refactor-703978.jpg" border="0" alt="Context menu" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="width:396;height:384" src="http://www.apexsql.com/devblog/uploaded_images/image009-712062.png" alt="Encapsulate As... dialog"/&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Let’s review another example of Encapsulate Inline Table – Valued Function refactor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0080; font-weight: bold; "&gt;ImployeesInfo&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JoTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style= "font-family: Courier New; font-size: 8pt; background-color:yellow"&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;FirstName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;LastName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Department&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;':&amp;nbsp;'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Position&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;HumanResources&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;vEmployeeDepartment&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AND&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;LastName&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;After refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;background-color:yellow"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FUNCTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;SQL_VARIANT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURNS&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TABLE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;RETURN&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: Courier New; font-size: 8pt"&gt;&amp;nbsp;SELECT &amp;nbsp;&lt;span style="color: maroon; "&gt;FirstName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;LastName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;Department&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;':&amp;nbsp;'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: silver; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;Position&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;HumanResources&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;vEmployeeDepartment&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AND&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;vEmployee&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;LastName&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0080; font-weight: bold; "&gt;ImployeesInfo&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JoTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;nvarchar&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow;"&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: #8000FF; "&gt;@FirstName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@LastName&lt;/span&gt;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: Courier New; font-size: 8pt"&gt;&lt;br /&gt;&lt;em&gt;Get your developers the tools they need to do the job fast and right - &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;ApexSQL Developer Studio&lt;/a&gt; is the ultimate combat multiplier for SQL Developers.  Best of Class tools - one download, install and discounted &lt;a href="http://www.apexsql.com/purchase.asp"&gt;price&lt;/a&gt;.  Click &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;Here&lt;/a&gt; for more info.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-1783253510635344085?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/1783253510635344085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/1783253510635344085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/1783253510635344085'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code_19.html' title='Quickly Convert your selected SQL code to a new Inline Table-Valued Function'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-4984998716108094072</id><published>2010-01-19T16:54:00.002-05:00</published><updated>2010-01-19T16:54:49.133-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly Convert your selected SQL code to a new stored procedure</title><content type='html'>This refactoring allows extracting code fragment into a separate stored procedure. &lt;span class="fullpost"&gt;New procedure is created encapsulating the selected code fragment. It doesn’t matter for this refactors what kind of query you plan to encapsulate: scalar one or returning data as stored procedures can contain both types. Seamlessly to Encapsulate as Scalar Function and Encapsulate as Table-Valued Function refactors this refactor will determine required parameters for the encapsulated query and define them as new procedure parameters.&lt;br /&gt;Let’s review some examples of such refactoring.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Before refactoring&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;[uspUpdateEmployeeHireInfo]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[int]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[nvarchar]&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[money]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[tinyint]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[flag]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WITH&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CALLER&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;NOCOUNT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&lt;span style="background-color:yellow "&gt;UPDATE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&lt;span style="color: blue; "&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[JobTitle]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HireDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[CurrentFlag]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;&lt;span style="background-color:yellow "&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&lt;span style="color: blue; "&gt;INSERT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INTO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[EmployeePayHistory]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[RateChangeDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[Rate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[PayFrequency]&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;&lt;span style="background-color:yellow "&gt;VALUES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: Courier New; font-size: 8pt; "&gt;&lt;span style="color: blue;"&gt;COMMIT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;CATCH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Rollback&amp;nbsp;any&amp;nbsp;active&amp;nbsp;or&amp;nbsp;uncommittable&amp;nbsp;transactions&amp;nbsp;before&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;inserting&amp;nbsp;information&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ErrorLog&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;IF&lt;/span&gt;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;@@TRANCOUNT&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; "&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;ROLLBACK&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;[dbo]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;[uspLogError]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;CATCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;After refactoring&lt;/b&gt; the highlighted statement will be encapsulated into the separate stored procedure and the original code will be modified as follows:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;span style="background-color:yellow"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[int]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[nvarchar]&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[tinyint]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[flag]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[money]&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;UPDATE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;SET&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[JobTitle]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HireDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[CurrentFlag]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;INSERT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INTO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[EmployeePayHistory]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[RateChangeDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[Rate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[PayFrequency]&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;VALUES&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;[uspUpdateEmployeeHireInfo]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[int]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[nvarchar]&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: black; "&gt;50&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[datetime]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[money]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[tinyint]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;[flag]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WITH&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;CALLER&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;NOCOUNT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue;"&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@HireDate&lt;/span&gt;&lt;span style="color: silver; "&gt;&amp;nbsp;,&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color:yellow"&gt;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@JobTitle&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@CurrentFlag&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;COMMIT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;CATCH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Rollback&amp;nbsp;any&amp;nbsp;active&amp;nbsp;or&amp;nbsp;uncommittable&amp;nbsp;transactions&amp;nbsp;before&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;inserting&amp;nbsp;information&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ErrorLog&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;IF&lt;/span&gt;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;@@TRANCOUNT&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; "&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;ROLLBACK&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;[dbo]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;[uspLogError]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;CATCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Please note that the name of the created stored procedure (dbo.name in example) can be customized.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="WIDTH: 460px; HEIGHT: 130px" alt="Context menu" src="http://www.apexsql.com/devblog/uploaded_images/refactor-703978.jpg" border="0" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="WIDTH: 396px; HEIGHT: 384px" alt="Encapsulate As... dialog" src="http://www.apexsql.com/devblog/uploaded_images/image003-739913.png" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Let’s review another example for Encapsulate as Stored Procedure refactor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;DELETE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@date&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HireDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[VocationHours]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[SickLeaveHours]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[VocationHours]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;INSERT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INTO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[EmployeePayHistory]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[RateChangeDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon"&gt;[Rate]&amp;nbsp;&lt;/span&gt;&lt;span style="color: silver"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon"&gt;[PayFrequency]&amp;nbsp;&lt;/span&gt;&lt;span style="color: maroon"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;VALUES&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;strong&gt;After refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;span style="background-color:yellow"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@date&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-style: italic; "&gt;sql_variant&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;DELETE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;HireDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@date&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HireDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[VocationHours]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[SickLeaveHours]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[Employee]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;WHERE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[VocationHours]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;INSERT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INTO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[HumanResources]&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[EmployeePayHistory]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[BusinessEntityID]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[RateChangeDate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[Rate]&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[PayFrequency]&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue; "&gt;VALUES&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue; "&gt;END&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green; font-style: italic; "&gt;&amp;#45;&amp;#45;&amp;nbsp;Modified&amp;nbsp;source:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color:yellow"&gt;&lt;span style="color: blue; "&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: #FF0080; font-weight: bold; "&gt;name&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@RateChangeDate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@BusinessEntityID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br&gt;&lt;span style="color: #8000FF; "&gt;@Hours&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@PayFrequency&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@Rate&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000FF; "&gt;@date&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 8pt;"&gt;&lt;em&gt;Get your developers the tools they need to do the job fast and right - &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;ApexSQL Developer Studio&lt;/a&gt; is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted &lt;a href="http://www.apexsql.com/purchase.asp"&gt;price&lt;/a&gt;. Click &lt;a href="http://www.apexsql.com/sql_tools_dev_studio.asp"&gt;Here&lt;/a&gt; for more info.&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-4984998716108094072?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/4984998716108094072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/4984998716108094072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/4984998716108094072'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code.html' title='Quickly Convert your selected SQL code to a new stored procedure'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-5784710757124521118</id><published>2010-01-19T16:51:00.001-05:00</published><updated>2010-01-19T16:52:14.831-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly modify a SQL script so all object names are qualified</title><content type='html'>The Qualify Object Names refactor:&lt;br /&gt;&lt;br /&gt;- Adds missing schema name to object names &lt;br /&gt;- Adds missing datasource name (tables, views, etc) to column names&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;The schema name is added to the object name only if&lt;br /&gt;- the object name doesn’t contain schema name yet,&lt;br /&gt;- the object can have a schema (For example, Assembly can’t have a schema), and&lt;br /&gt;- the object exists in the database&lt;br /&gt;&lt;br /&gt;The datasource name is added to the column name in the following cases:&lt;br /&gt;- Datasource name is not specified yet&lt;br /&gt;- Datasource(table) has column with this name&lt;br /&gt;&lt;br /&gt;Below is an example:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Before refactoring&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;DISTINCT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;ReportName&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;DATEPART&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon; "&gt;hh&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Hour'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Day&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Day'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Month&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Month'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Year&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Year'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;[MyReport]&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INNER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;[MyStats]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;StatsReportID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;ReportID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;ORDER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;BY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;ReportName&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;After refactoring&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;DISTINCT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;MyReport&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;ReportName&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;DATEPART&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon; "&gt;hh&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;MyStats&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Hour'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Day&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;MyStats&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Day'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Month&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;MyStats&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Month'&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: fuchsia; font-style: italic; "&gt;Year&lt;/span&gt;&lt;span style="color: maroon; "&gt;(&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;MyStats&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsDateNow&lt;/span&gt;&lt;span style="color: maroon; "&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: red; "&gt;'Year'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[MyReport]&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;INNER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;JOIN&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;dbo&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;[MyStats]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;ON&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;MyStats&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;StatsReportID&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;MyReport&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;ReportID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;ORDER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;BY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;MyReport&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;ReportName&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue; "&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To use this refactor, select your code and from the context menu, select Refactor &gt; Qualify Object Name&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.apexsql.com/poweruser/uploaded_images/qualify_object_ctxt_menu-791891.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;This refactor is available in ApexSQL Edit 2008.05 and ApexSQL Refactor 2010.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-5784710757124521118?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/5784710757124521118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-modify-sql-script-so-all-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5784710757124521118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5784710757124521118'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-modify-sql-script-so-all-object.html' title='Quickly modify a SQL script so all object names are qualified'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-5340686757096149409</id><published>2010-01-19T16:50:00.002-05:00</published><updated>2010-01-19T16:50:37.442-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Quickly convert SQL code to language-specific (e.g. C#, VB .Net) Client code</title><content type='html'>The Copy SQL Code As refactor will add syntax for a selected language (e.g. C#, PHP, Ruby, C++) to your SQL code and copy it to the clipboard. You can customize how syntax will be added for each language as well as add new languages. &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Below are some examples of how the refactor works.&lt;br /&gt;&lt;br /&gt;If you had following SQL code:&lt;br /&gt;&lt;br /&gt;&lt;font face="Courier New" size="1"&gt;&lt;br /&gt;&lt;font color = "blue"&gt;CREATE&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;TABLE&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;[dbo]&lt;/font&gt;&lt;font color = "silver"&gt;.&lt;/font&gt;&lt;font color = "maroon"&gt;[ErrorLog]&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;[ErrorLogID]&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;[INT]&lt;/font&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;IDENTITY&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;(&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;1&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;,&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;1&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;)&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;NOT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;NULL&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;[ErrorTime]&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;[DATETIME]&lt;/font&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;NOT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;NULL&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;[UserName]&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;[SYSNAME]&lt;/font&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;COLLATE&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;sql_latin1_general_cp1_ci_as&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;NOT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;NULL&lt;/font&gt;&lt;font color = "silver"&gt;,&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;[ErrorNumber]&lt;/font&gt;&amp;nbsp;&lt;font color = "black"&gt;&lt;i&gt;[INT]&lt;/font&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;font color = "blue"&gt;NOT&lt;/font&gt;&amp;nbsp;&lt;font color = "blue"&gt;NULL&lt;/font&gt;&lt;font color = "maroon"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;GO&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;SELECT&lt;/font&gt;&amp;nbsp;&lt;font color = "silver"&gt;*&lt;/font&gt;&lt;br /&gt;&lt;font color = "blue"&gt;FROM&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color = "maroon"&gt;table&lt;/font&gt;&amp;nbsp;&lt;font color = "maroon"&gt;errorlog&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you used Copy SQL Code As [name of language], your clipboard will hold properly transformed SQL code. Here are some examples on what will you get in your clipboard when using different languages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As C#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; SQL &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"CREATE TABLES [dbo].[ErrorLog]( \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"    [ErrorTime] [datetime] NOT NULL, \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"    [ErrorNumber] [int] NOT NULL) \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"GO \n"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"SELECT * FROM TABLE ErrorLog"&lt;/span&gt;;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As VB .NET&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;Dim&lt;/span&gt; SQL &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;As&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;String&lt;/span&gt;&lt;br /&gt;SQL &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; "CREATE TABLES [dbo].[ErrorLog]( " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "    [ErrorLogID] [int] IDENTITY(1,1) &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;NOT&lt;/span&gt; NULL, " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "    [ErrorTime] [datetime] &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;NOT&lt;/span&gt; NULL, " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;NOT&lt;/span&gt; NULL, " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "    [ErrorNumber] [int] &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;NOT&lt;/span&gt; NULL) " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "GO " &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; char(10) _&lt;br /&gt;    &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; "&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;SELECT&lt;/span&gt; &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;*&lt;/span&gt; FROM TABLE ErrorLog"&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;br /&gt;This options gives same results for previous versions of Visual Basic meaning you can use it for creating code for Visual Basic 6, too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As PHP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#a65700; background:#ffffe8; '&gt;&amp;lt;?php&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#bb7977; background:#ffffe8; '&gt;string&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; s$SQL &lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;=&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"CREATE TABLES [dbo].[ErrorLog]( &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"    [ErrorTime] [datetime] NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"    [ErrorNumber] [int] NOT NULL) &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"GO &lt;/span&gt;&lt;span style='color:#0f69ff; background:#ffffe8; '&gt;\n&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;.&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt; &lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"SELECT * FROM TABLE ErrorLog"&lt;/span&gt;&lt;span style='color:#800080; background:#ffffe8; '&gt;;&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#a65700; background:#ffffe8; '&gt;?&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As Perl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;$SQL &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'CREATE TABLES [dbo].[ErrorLog]( \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorTime] [datetime] NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorNumber] [int] NOT NULL) \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'GO \n'&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#808030; '&gt;.&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'SELECT * FROM TABLE ErrorLog'&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As Delphi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;var&lt;/span&gt;&lt;br /&gt;  SQL &lt;span style='color:#bb7977; '&gt;string&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;begin&lt;/span&gt;&lt;br /&gt;  SQL &lt;span style='color:#808030; '&gt;:&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'CREATE TABLES [dbo].[ErrorLog]( '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorTime] [datetime] NOT NULL, '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'    [ErrorNumber] [int] NOT NULL) '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'GO '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#008c00; '&gt;#10&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'SELECT * FROM TABLE ErrorLog'&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;end&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As Ruby&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;SQL &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;'CREATE TABLES [dbo].[ErrorLog]( \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'    [ErrorTime] [datetime] NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'    [ErrorNumber] [int] NOT NULL) \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'GO \n'&lt;/span&gt;&lt;br /&gt;   &amp;lt;&amp;lt; &lt;span style='color:#0000e6; '&gt;'SELECT * FROM TABLE ErrorLog'&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy SQL Code As C++&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#666616; '&gt;std&lt;/span&gt;&lt;span style='color:#800080; '&gt;::&lt;/span&gt;&lt;span style='color:#603000; '&gt;string&lt;/span&gt; SQL&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;SQL &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;CREATE TABLES [dbo].[ErrorLog]( &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;    [ErrorLogID] [int] IDENTITY(1,1) NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;    [ErrorTime] [datetime] NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;    [UserName] [sysname] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;    [ErrorNumber] [int] NOT NULL) &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;GO &lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;SELECT * FROM TABLE ErrorLog&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Language Customization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to customizehow the SQL script is “copied” into the language of your choice, you can manually change each language’s settings. You will also be able to add and remove languages as well as modify existing ones. This can be done using the Customize Language Templates dialog, available from the context menu when you right click your code: Refactor &gt; Copy SQL Code As &gt; Customize Languages ...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.apexsql.com/poweruser/uploaded_images/customize_language-769937.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;This refactor comes with several predefined languages: &lt;br /&gt;Java, Visual Basic, C#, C++, Ruby, PHP, Perl, Power Builder, Delphi, Dynamic SQL (T-SQL). &lt;br /&gt;&lt;br /&gt;To use this refactor, simply select your code and right-click. From the Refactor context menu, select Copy SQL Code As &gt; Language.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.apexsql.com/poweruser/uploaded_images/copy_sql_as-767641.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;This refactor is available in ApexSQL Edit 2008.06 or higher and ApexSQL Refactor 2010.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-5340686757096149409?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/5340686757096149409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-sql-code-to-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5340686757096149409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5340686757096149409'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/quickly-convert-sql-code-to-language.html' title='Quickly convert SQL code to language-specific (e.g. C#, VB .Net) Client code'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-6177413086844115088</id><published>2010-01-19T16:48:00.003-05:00</published><updated>2010-01-19T16:48:48.564-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><title type='text'>Expand * in SELECT statements to List all columns</title><content type='html'>The Expand Wildcards Refactor replaces all * wildcards in your SQL statements with its corresponding list of columns. &lt;span class="fullpost"&gt;Expanding wildcards allow you to make your code more resistant to breaking changes.&lt;br /&gt;&lt;br /&gt;Here is an example of how this refactor expands the wildcard on this SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before Refactoring&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver; "&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;apexsql&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;titles&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;After refactoring&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;span style="color: blue; "&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;title_id&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;title&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;types&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;pub_id&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;price&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;advance&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;royalty&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;ytd_sales&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;notes&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;background-color: yellow; "&gt;titles&lt;/span&gt;&lt;span style="color: silver;background-color: yellow; "&gt;.&lt;/span&gt;&lt;span style="color: maroon;background-color: yellow; "&gt;pubdate&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; "&gt;FROM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon; "&gt;apexsql&lt;/span&gt;&lt;span style="color: silver; "&gt;.&lt;/span&gt;&lt;span style="color: maroon; "&gt;titles&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;To use this feature in ApexSQL Edit, simply right-click the SQL code and select Refactor &gt; Expand Wildcards from the context menu.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.apexsql.com/poweruser/uploaded_images/context_menu_edit-769282.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;This feature is available in both ApexSQL Edit and ApexSQL Refactor 2010.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-6177413086844115088?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/6177413086844115088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/expand-in-select-statements-to-list-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6177413086844115088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/6177413086844115088'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/expand-in-select-statements-to-list-all.html' title='Expand * in SELECT statements to List all columns'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-3781061138826622784</id><published>2010-01-19T16:39:00.019-05:00</published><updated>2010-06-29T07:24:15.354-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Auditing'/><title type='text'>Improving the Readability of your Audit data</title><content type='html'>&lt;p&gt;This article describes how to use two of advanced features of ApexSQL Audit - watches and lookups. These features help improve the readability of your audit data by:&lt;br /&gt;&lt;br /&gt;a) Adding fields to your audit data that can be easily recognized by the users viewing your audit reports. For example, you can show the employee name of an audited row even if the employee name wasn't the actual column that was changed&lt;br /&gt;b) Showing a more readable supporting value to an audited field. For example, if you're auditing a store id, showing  "Ajax Health Store" (the store name) is better than showing 5568 (the store id itself).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is a Watch?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A Watch is a field selected to be added to the audit log when another field in a table is changed (inserted, updated, deleted) even if the Watched field, itself, isn't. Multiple Watch fields can be set up for an audited table. Several different Watch fields can be added to a single audited field. And a single Watch field can be associated with multiple audited fields in the same column.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why use Watches?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Watches allow you to add readily recognizable fields to any audit change which is helpful for people looking at reports. For example, no matter the change is in Sales you can see the Store Name for example, even if the Store itself was not changed. This makes audit reports more readable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to Create a Watch?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Watches are added at the special Watch panel. The Watch panel can be accessed from the View Menu and it is in the same panel group as Field Grid, Row Key, and Lookups. To access it from there, just select the Panel Tab for "Watches".&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To explain it better we'll use one example. Let assume that we have table Sales.SpecialOffer with the following structure:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; DISPLAY: block;"  border="0" alt="" src="http://www.apexsql.com/poweruser/uploaded_images/p1-739495.png" /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Now, let assume that we want to audit changes in Discount Percents. This can be easily done by adding this column to audited columns.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; DISPLAY: block; " border="0" alt="" src="http://www.apexsql.com/poweruser/uploaded_images/p2-799302.png" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Every change on this column will be included to report:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;a class="zoom" href="http://www.apexsql.com/poweruser/uploaded_images/p3-1-758112.png"&gt;&lt;img  alt="" src="http://www.apexsql.com/poweruser/uploaded_images/p3-1-758112.png" width="520" height="21" /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now we can see that change was made on column DiscountPct and that old value was 10 and now it's 15. But we don't have additional information. We only have key - 2.&lt;br /&gt;&lt;br /&gt;To add more information, we can use watch. So, every time when change happens, we want to beside these information have another one - description to make it more readable. This must be added every time when DiscoundPct is changed.&lt;br /&gt;&lt;br /&gt;We should set Audit Field Name to DiscountPct and Watch Field Name to Description.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; DISPLAY: block; " border="0" alt="" src="http://www.apexsql.com/poweruser/uploaded_images/p4-753985.png" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;To make this working, we must recreate triggers.&lt;br /&gt;&lt;br /&gt;Now, if DiscountPct is changed, we will see that Cup Sale, DVD Sale and Door Handle Sale discount is changed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p5-1-745014.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Lookup is another very useful possibility. This makes reports even more readable.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is a Lookup?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Lookups are a powerful feature of ApexSQL Audit that allows you to show the Literal, from a related table, along with the Value of a field that was audited. This way a more human readable value can be seen in the audit reports. For example "Ajax Health Store" (the store name) is much better than 5568 (the store id).&lt;br /&gt;&lt;br /&gt;Lookups are associated with the audited field so they will be triggered any time a row is inserted or deleted. They will be triggered if the specific column is changed in an update.&lt;br /&gt;&lt;br /&gt;Using lookups, you can define an ad hoc relationship between columns from different tables. As with watch columns, if no audited columns are affected by the data change, then none of the lookup values are captured either.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why use Lookups&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;Lookups provide Human Readable Audit data for reporting purposes. For example, there may be a numeric ID field in a table that was changed but would be meaningless to someone viewing the audit report. By adding a Lookup though, the literal, from the related code table, can be shown in addition to the ID field.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to Create a Lookup?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Lookups are added at the special Lookups panel. The Lookups panel can be accessed from the View Menu and it is in the same panel group as Field Grid, Row Key, and Watches. To access it from there, just select the Panel Tab for "Lookups".&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;To explain it better, let's see another simple example.&lt;br /&gt;Let assume that we have two tables Person.Person and Person.EmailAddress and they are connected via foreign key:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p6-783151.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Now, let say we want to audit all newly added Email Addresses. This is easy to achieve. We only need to set insert trigger to Person.EmailAddress table.&lt;br /&gt;&lt;br /&gt;&lt;/sp&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p7-1-709919.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;If we add new email address, report will contain:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p8-1-761320.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Also, we want to know real user name which is bound this email. We will achieve this by using lookups:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p9-711697.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;And, after recreating triggers, every new mail will be shown like this:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p10-1-763971.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;But, there is more space for improvements. You can combine field into custom expression, so if you want to see full name with First and Last name, you can do this as follows:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p11-706303.png" border="0" alt="" /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;And report will contain full name like this:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://www.apexsql.com/poweruser/uploaded_images/p12-1-746976.png" border="0" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-3781061138826622784?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/3781061138826622784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/improving-readability-of-your-audit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3781061138826622784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/3781061138826622784'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2010/01/improving-readability-of-your-audit.html' title='Improving the Readability of your Audit data'/><author><name>Anna Lesniak</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_fGVGQO-b0U0/SZwi0-wBP7I/AAAAAAAAAAM/5Mwz2mURcV8/S220/al21_a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1297432409494533305.post-5002575060261718169</id><published>2009-11-06T04:37:00.004-05:00</published><updated>2010-06-28T20:00:55.611-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting'/><category scheme='http://www.blogger.com/atom/ns#' term='Policy and Stds Enforcement'/><category scheme='http://www.blogger.com/atom/ns#' term='Auditing'/><category scheme='http://www.blogger.com/atom/ns#' term='Change Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Backup and Recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Source Control Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Building and Deployments'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Development and Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Analysis and Documentation'/><title type='text'>Welcome to Solution Center blog</title><content type='html'>&lt;span class="fullpost"&gt; &lt;p&gt;Welcome to the ApexSQL Solution Center Blog!&lt;/p&gt;&lt;p&gt;On this blog you will find answers to common problems that SQL DBAs and developers face, along with ways to use ApexSQL tools to solve these problems quickly and easily.&lt;/p&gt;&lt;/span&gt;&lt;p&gt;Here are a few articles to get you started:&lt;/p&gt;&lt;ul&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/05/how-to-eliminate-performance-problems.html"&gt;&lt;li&gt;How to eliminate performance problems and prevent errors associated with “SELECT *”&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/01/quickly-convert-your-selected-sql-code.html"&gt;&lt;li&gt;Quickly convert you selected SQL code to a new stored procedure&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/01/improving-readability-of-your-audit.html"&gt;&lt;li&gt;Improving the readability of you audit data&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/05/how-to-safely-remove-parameters-from.html"&gt;&lt;li&gt;How to safely remove parameters from stored procedures or functions.&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/01/quickly-modify-sql-script-so-all-object.html"&gt;&lt;li&gt;Quickly modify a SQL script so all object names are qualified&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/01/use-apexsql-products-to-manage-your.html"&gt;&lt;li&gt;Use ApexSQL products to manage you database releases&lt;/li&gt;&lt;/a&gt;&lt;a href="http://solutioncenter.apexsql.com/2010/05/how-to-implement-risk-free-name-change.html"&gt;&lt;li&gt;How to implement risk free name changes for objects, column, and parameters&lt;/li&gt;&lt;/a&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1297432409494533305-5002575060261718169?l=solutioncenter.apexsql.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solutioncenter.apexsql.com/feeds/5002575060261718169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://solutioncenter.apexsql.com/2009/11/welcome-to-solution-center-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5002575060261718169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1297432409494533305/posts/default/5002575060261718169'/><link rel='alternate' type='text/html' href='http://solutioncenter.apexsql.com/2009/11/welcome-to-solution-center-blog.html' title='Welcome to Solution Center blog'/><author><name>Dragan Radivojevic</name><uri>http://www.blogger.com/profile/12554964882822845598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_m03DxgYOd5E/SqfBFAI2L9I/AAAAAAAAAAM/mpxJgyKPVDk/S220/dragan.JPG'/></author><thr:total>0</thr:total></entry></feed>
