<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en"><title type="text">Technology with Vivek Johari</title><link rel="alternate" type="text/html" href="http://vivekjohari.blogspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TechnologyWithVivekJohari" /><subtitle type="html">Learn database in a simple and easy way.</subtitle><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2013-06-15T08:24:25+00:00</updated><generator uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">50</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="technologywithvivekjohari" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><id>tag:blogger.com,1999:blog-2007575913516513302</id><feedburner:emailServiceId>TechnologyWithVivekJohari</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry><title type="text">Replication in SQL Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/AG6J3FVIrEc/replication-in-sql-server.html" /><category term="Replication in SQL Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-12-31T10:48:03-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-8139997171801768011</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: left;"&gt;
&lt;strong style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;strong style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt;"&gt;Replication&lt;/span&gt;&lt;/strong&gt;&lt;span class="apple-converted-space" style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;is a way of distribution of database and their objects from one master database to one or more recipient databases which can be on the same server or on the remote server.It&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; font-family: Verdana, sans-serif; font-size: 11.5pt;"&gt;is a set of technologies for copying and
distributing data and database objects from one database to another and then
synchronizing between databases to maintain consistency. Using replication, we
can distribute data to different locations and to remote users over local and
wide area &lt;/span&gt;&lt;span style="background-color: white; font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;networks.&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: white; font-family: Verdana, sans-serif; font-size: 11.5pt;"&gt;It is the process of sharing data between databases in different
locations. Using replication, we can create copies of a database and share the
copy with different users so that they can make changes to their local copy of
the database.&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: white;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Replication Components&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;SQL Server replication consists of three components:
The Publisher, the Distributor and the Subscriber. These components act on
articles that are defined within publications and subscriptions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Article&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;For each SQL Server object that should be
replicated, a replication article needs to be defined. Each article corresponds
to a single SQL Server object, or a subset of an object. The objects that are
replicated most often are tables, views and stored procedures. The properties
of an article determine whether the article contains the entire object, or if a
filtered subset of the objects makes up the replicated article.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Publication&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;A group of articles that logically belong
together can be combined into a publication. The publication has options
defined that apply to all the articles in that publication. The main option
defined by a publication is the type of replication that is to be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Publisher&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;The SQL Server instance that makes a
publication available for replication is called the publisher.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;The publisher monitors all articles for
changes, and makes information about those changes available to the
distributor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Distributor&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;The distributor is the SQL Server instance
keeps track of all subscribers and all published changes and makes sure that each
subscriber gets notified of each change. Most of the changes are tracked in a
distribution database. The distributor can be a separate SQL Server instance,
but often the distribution service runs on the same machine as the publisher.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Subscriber&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;The subscriber is the SQL Server instance
that receives all the published information through subscriptions.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Subscription&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;A subscription is the counterpart of the
publication. A subscription defines which server (subscriber) is to receive the
updates published in a publication. Each subscription creates a link between
one publication and one subscriber. There are two types of subscriptions: push
subscriptions and pull subscriptions. In a push subscription, the distributor
directly updates the data in the subscriber database. In a pull subscription,
the subscriber asks the distributor regularly if any new changes are available,
and then updates the data itself.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: white; line-height: 14.25pt; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: .1in;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Types of replication:-&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;&lt;span style="font-size: 7pt; line-height: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;Snapshot Replication&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;&lt;span style="font-size: 7pt; line-height: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;Transactional Replication&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;&lt;span style="font-size: 7pt; line-height: normal;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; text-indent: -0.25in;"&gt;Merge Replication&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;!--[if !supportLists]--&gt;&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Snapshot Replication:-&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;Snapshot&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;replication&amp;nbsp;is also
known as static&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;replication. Snapshot&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;replication&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;copies
and distributes data and database objects exactly as they appear at the current
moment in time. Every time snapshot replication is run, everything is recopied
from scratch, so it has high bandwidth and storage requirements.&amp;nbsp;Therefore
this replication is advisable only when the size of the database is small.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Transactional Replication:-&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Transactional replication works on a transaction
basis. In Transactional replication only the committed changes are logged into
the subscribers. Transactional replication allows for close to real time
synchronization and leaves only a small footprint on the publisher. It is the
best way of replication to work one way only.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Merge Replication:-&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-size: 11.5pt; line-height: 115%;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Merge replication was designed to allow the changes to the data to be made on the publisher as well as the subscriber side.
In Merge Transaction, a subscriber might not be connected during the day. That
subscriber would synchronize after reconnecting in the evening. If a row gets
updated in two different places at the same time, a conflict occurs. Merge
replication have many built in options to resolve those conflicts.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=AG6J3FVIrEc:nxDzfkHlkaM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=AG6J3FVIrEc:nxDzfkHlkaM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/AG6J3FVIrEc" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T00:18:03.383+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2013/01/replication-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Log Shipping in SQL Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/pxWmHMg73I8/log-shipping-in-sql-server.html" /><category term="Log Shipping in SQL Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-12-31T10:47:42-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-1806177052524848936</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Log Shipping:-&lt;/b&gt; Log Shipping is a process of keeping the latest copy of the database of the primary database server on the secondary database server with the help of transaction logs backup. It is done on a regular basis to minimize the loss of the database in case of database&amp;nbsp;fail over. It is a continuous process in which the backup of the transaction logs has been taken on the regular basics and then they are &amp;nbsp;transported to the secondary server. In the secondary server, the transactions backups are restored to make the database on the&amp;nbsp;secondary&amp;nbsp;database server as the exact replica of the primary database or near to the current primary database.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;This process can have three components:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Primary database Server:-&lt;/b&gt;&amp;nbsp;This server contains the primary database .The backup of the transaction logs of the Primary database is taken on this server and send to the Secondary database server.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Secondary database Server:-&lt;/b&gt; This server contains the secondary database . There can be one or more than one&amp;nbsp;secondary&amp;nbsp;database server. Here backup of the primary database server transactions log are applied to the secondary database server databases&amp;nbsp;individuality so that they have database which is close to the Primary server database.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Monitor Server:-&lt;/b&gt; This optional server, monitor the log shipping process by recording the history and the status of the the backups of the transaction logs. It also monitor the restore operations on the secondary server. It can also raise alarm if the process is not completed as per scheduled.&lt;/span&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=pxWmHMg73I8:bz2Z0dcN2yE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=pxWmHMg73I8:bz2Z0dcN2yE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/pxWmHMg73I8" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T00:17:42.657+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2013/01/log-shipping-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Rebuild And Reorganization of Indexes</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/PJTAKkLuH0A/rebuild-and-reorganization-of-indexes.html" /><category term="Rebuild And Reorganization of Indexes" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-12-31T10:46:01-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-8923741394508005724</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Rebuild and &amp;nbsp;Reorganization of Indexes:-&lt;/b&gt; SQL Server has the ability of maintaining the indexes whenever we makes changes (update, Insert, Delete) in the tables. Over a period of time, the may causes the &lt;a href="http://vivekjohari.blogspot.in/2013/01/fragmentation-in-sql-server.html" target="_blank"&gt;&lt;span style="color: blue;"&gt;fragmentation&lt;/span&gt; &lt;/a&gt;on the table in which &amp;nbsp;the logical&amp;nbsp;ordering&amp;nbsp;based on the key value pairs does not match with the physical ordering inside the&amp;nbsp;data files. This causes the&amp;nbsp;degradation of the&amp;nbsp;performance&amp;nbsp;of the SQL Query.To solve this problem of fragmentation, we use rebuilding or reorganization of the indexes.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;In case of Rebuilding, it drop the particular index and again recreate it.It removes fragmentation, reclaims the disk space by compacting the pages based on the specified or existing fill factor setting, and again reorders the index rows in those contiguous pages. We can rebuild all the indexes of the table within a single transaction by specifying the ALL with it.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: 12px; line-height: 19.450000762939453px;"&gt;ALTER INDEX [Indexname] ON [tablename] REBUILD&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="background-color: white; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;&lt;span style="color: blue; margin: 0px; padding: 0px;"&gt;ALTER INDEX&amp;nbsp;&lt;/span&gt;&lt;span style="color: grey; margin: 0px; padding: 0px;"&gt;ALL&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; margin: 0px; padding: 0px;"&gt;ON&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: 12px; line-height: 19.450000762939453px; text-align: justify;"&gt;[tablename]&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-size: 12px; line-height: 19.450000762939453px; text-align: justify;"&gt;REBUILD&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In case of Reorganization, it defragments the leaf level nodes of indexes by physically reordering the leaf-level pages to match the logical, left to right, order of the leaf nodes. &amp;nbsp;It uses minimal system&amp;nbsp;resources and also compact the index pages&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-size: 12px; line-height: 19.450000762939453px; text-align: justify;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;ALTER INDEX [Indexname] ON [tablename] REORGANIZE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; color: blue; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;ALTER INDEX&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: grey; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;ALL&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: blue; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;ON&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-size: 12px; line-height: 19.450000762939453px; text-align: justify;"&gt;[tablename]&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-size: 12px; line-height: 19.450000762939453px; text-align: justify;"&gt;REORGANIZE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; font-size: 12px; line-height: 19.450000762939453px; margin: 0px; padding: 0px; text-align: justify;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Rebuild should be used when the fragmentation index is greater than 30% and&amp;nbsp;reorganization option should be used when the fragmentation index is between 5% and 30%. Rebuilding of an Index can be done online or offline. But to achieve the availability of the index, rebuilding should be done online. Reorganization can be done online.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Related Article&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://vivekjohari.blogspot.in/2013/01/fragmentation-in-sql-server.html" target="_blank"&gt;Fragmentation&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=PJTAKkLuH0A:fS7kvSZM0h4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=PJTAKkLuH0A:fS7kvSZM0h4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/PJTAKkLuH0A" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T00:16:01.064+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2013/01/rebuild-and-reorganization-of-indexes.html</feedburner:origLink></entry><entry><title type="text">Fragmentation in SQL Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/8Z_sw17Sj14/fragmentation-in-sql-server.html" /><category term="Fragmentation in SQL Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-12-31T10:47:07-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-2127267549205813228</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Fragmentation:-&lt;/b&gt; Fragmentation can be defined as condition where data is stored in a non&amp;nbsp;continuous manner. In can be defined into two types&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. Internal Fragmentation&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2. External Fragmentation&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Internal Fragmentation:-&lt;/b&gt; In this fragmentation, there exists a space between the different records within a page. This is caused due to the Insert, delete or Update process and due to this Index takes more space than it needs to and it result in more read operation during&amp;nbsp;scanning.&amp;nbsp;It can also be caused due to the low value of fill factor of the page which determine how much % of the page should be used for storing the records.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;External Fragmentation:- &lt;/b&gt;In this fragmentation, the extents of the table is not physically stored&amp;nbsp;continuously on the disk which causes the jump from one extent to another extent which takes longer time.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Both the fragmentation can be resolved by Rebuilding or Reorganization of the indexes of the tables.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For&amp;nbsp;Rebuilding or Reorganization of the indexes , please refers the below link:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;http://vivekjohari.blogspot.in/2013/01/rebuild-and-reorganization-of-indexes.html&lt;/span&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=8Z_sw17Sj14:6MM8Ts9rxrg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=8Z_sw17Sj14:6MM8Ts9rxrg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/8Z_sw17Sj14" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T00:17:07.309+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2013/01/fragmentation-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Welcome 2013</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/FuLbVEjKUZI/welcome-2013.html" /><category term="Happy New Year" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-12-31T07:19:20-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-940200795191469042</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;span style="color: #cc0000;"&gt;Happy&lt;/span&gt; &lt;span style="color: lime;"&gt;New&lt;/span&gt; &lt;span style="color: blue;"&gt;Year&lt;/span&gt; &lt;span style="color: magenta;"&gt;2013&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-SKrnORjxGe8/UOGrt48dtmI/AAAAAAAABIA/wP-y-LxJjLw/s1600/happy-new-year-2013.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-SKrnORjxGe8/UOGrt48dtmI/AAAAAAAABIA/wP-y-LxJjLw/s400/happy-new-year-2013.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;May this new year bring lots of Happiness in all of your life. Let &amp;nbsp;welcome 2013 together with lots of Hopes and happiness.&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=FuLbVEjKUZI:gQ6fzGfukuU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=FuLbVEjKUZI:gQ6fzGfukuU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/FuLbVEjKUZI" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-31T20:49:20.956+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-SKrnORjxGe8/UOGrt48dtmI/AAAAAAAABIA/wP-y-LxJjLw/s72-c/happy-new-year-2013.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/12/welcome-2013.html</feedburner:origLink></entry><entry><title type="text">Happy Diwali</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/UqSBWV0N8xw/happy-diwali.html" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-11-13T01:28:35-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-7658192631800026872</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-MT6N55HzMvE/UKISdASLjQI/AAAAAAAAA_M/Q5BRXa7LTwY/s1600/Diwali.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="http://4.bp.blogspot.com/-MT6N55HzMvE/UKISdASLjQI/AAAAAAAAA_M/Q5BRXa7LTwY/s400/Diwali.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: red; font-size: large;"&gt;Wish you all a very happy and blessed festive season. May this festival of lights brings more brightness in your lives in every way. Happy Diwali :)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-size: large;"&gt;Play safe...!&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UqSBWV0N8xw:OGXEQVcLdKk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UqSBWV0N8xw:OGXEQVcLdKk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/UqSBWV0N8xw" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-13T14:58:35.662+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-MT6N55HzMvE/UKISdASLjQI/AAAAAAAAA_M/Q5BRXa7LTwY/s72-c/Diwali.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/11/happy-diwali.html</feedburner:origLink></entry><entry><title type="text">Boyce - Codd Normal Form (BCNF)</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/iA255zzRDtk/boyce-codd-normal-form-bcnf.html" /><category term="Boyce - Codd Normal Form" /><category term="BCNF" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-08-19T05:10:23-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-4154451362949858764</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;Boyce - Codd Normal Form (BCNF) &amp;nbsp;:-&lt;/b&gt; A normal form is said to be a&amp;nbsp;Boyce - Codd Normal Form if it is in 3NF and there is not a&amp;nbsp;possibility of a key attribute is determined by a Non Key attribute.&lt;br /&gt;
&lt;br /&gt;
For example , suppose there are 5 columns says A,B,C,D,E and &amp;nbsp;combination of the&amp;nbsp;columns&amp;nbsp;&amp;nbsp;A and B &amp;nbsp;constitute the Primary key for this table.&lt;br /&gt;
&lt;br /&gt;
Suppose, there is no transitive dependencies are existed in this table, but column C can determine the value of column B. In other words, the value of Column B is determined by the Column C then this table can not be in the Boyce&amp;nbsp;- Codd Normal Form. To make this table in BCNF we needs to&amp;nbsp;divide&amp;nbsp;this table into two tables "table 1" and "table2" . The table1 will contains the following columns A, B, D,E where primary key is the combination of the column A and B and&amp;nbsp;&amp;nbsp;table2 will contains the two columns B , C where C will be the primary key.&lt;br /&gt;
&lt;br /&gt;
Table 1 &amp;nbsp;(Primary key :-A,B) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Table2 (Primary Key :- C)&lt;br /&gt;
A,B,D,E &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B,C&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Thus every table satisfying the 3NF condition cannot be said to be in BCNF normal form but a table in BCNF will always be in 3NF form.&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=iA255zzRDtk:syAm3oD82Vg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=iA255zzRDtk:syAm3oD82Vg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/iA255zzRDtk" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-19T17:40:23.621+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/08/boyce-codd-normal-form-bcnf.html</feedburner:origLink></entry><entry><title type="text">Isolation levels in SQL Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/ZbnqedZYQ5E/isolation-levels-in-sql-server.html" /><category term="Isolation levels in SQL Server" /><category term="CodeProject" /><category term="SQLServerPediaSyndication" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-08-19T04:46:16-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-122605293669644883</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Isolation levels :-&lt;/b&gt; Isolation level is required to isolate a resource and protect it from other transactions. This is achieved with the help of locks but what locks are needed and how they can be established is decided on the isolation level set on the database level. If low level of Isolation is set, it allows multiple users to access the resources concurrently but it may result in many &amp;nbsp;concurrency related problems like phantom reads, dirty reads etc. If higher levels of Isolation is set then it eliminate the concurrency related problem but it results in less number of concurrent access and it may result in data blocking&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Dirty reads:-&lt;/b&gt; This situation happens when a transaction tries to read a data by some other concurrent&amp;nbsp;transaction which is not committed yet. There is a &amp;nbsp;risk, that this other transaction may never be&amp;nbsp;committed, &amp;nbsp;leaving the original transaction with wrong data.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;Lost updates:-&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;It happen when more than one transaction tries to update the same data. In Lost update, a successfully updated value of a data written in the database is overrides&amp;nbsp;accidentally&amp;nbsp;by the some another transaction updating the same data concurrently.&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Repeatable reads:-&lt;/b&gt; Repeatable reads condition occur when a transaction tries to read a data multiple times and and between the two reads, another transaction modified that data. Therefore when the original transaction tries to read that data second time, it find different value for that data. In other words, the original transaction reads two different values for the same data.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;Phantom reads:-&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;This condition happen when a transaction needs to execute a same query twice(or multiple times) and it gets different set of rows from what it get earlier due to the execution of the query first time. This happens if some another transaction add or delete rows between the two executions of the query and these added/deleted rows are the part of the&amp;nbsp;record set&amp;nbsp;reruns&amp;nbsp;by &amp;nbsp;the execution of the query.&lt;/span&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;There are the &amp;nbsp;five Isolation levels (from lower level to higher level) defined in the SQL Server.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Read Uncommitted&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Read Committed&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Repeatable Read&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Serializable&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Snapshot&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Read Uncommitted:-&lt;/b&gt; In this Isolation level, a transaction can read the data which is modified by some other transactions but still not committed. This Isolation level do not issue shared locked to prevent data modification which is read by some other transactions. Also it is not issue exclusive locks to prevents transactions from reading data which is modified from other transaction by not committed yet. It may results in problem like dirty read, lost updates, phantom reads etc. It is the least restrictive Isolation level.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Read Committed:-&lt;/b&gt; &lt;span style="color: blue;"&gt;It is the default Isolation set by the SQL Server for any Database&lt;/span&gt;. This Isolation level prevents the transaction from reading data which are modified by some other transactions but still are not committed yet. Thus it eliminates the problem of Dirty read. But it do not eliminates the&amp;nbsp;occurrence&amp;nbsp;of Phantom reads and Repeatable reads.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Repeatable Read:-&amp;nbsp;&lt;/b&gt;This&amp;nbsp;isolation&amp;nbsp;level is higher than the previous two mention isolation level and it does not allows any transaction to read a data that is being modified by some other transaction but not&amp;nbsp;committed yet. Also it doesn't allow any transaction to modify a data if it is being read by some other transaction until the transaction reading that data complete its operation. &amp;nbsp;This way it eliminates the dirty read and Repeatable reads problem but it doesn't eliminates the Phantom reads.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Serializable:-&lt;/b&gt; This Isolation level do not allow any transaction to read the data unless the other transactions completed their data modification operation. Also it doesn't allow other transactions to modify the data&amp;nbsp;until&amp;nbsp;the current transaction completed its read operation. This isolation level allows a transaction to acquire a read lock (if only read operation) or write lock (for insert,delete,update) for the entire range of records that the transaction is going to affect. For example, if the query is "Select * from employees" then the transaction will acquire the read lock for whole table and no other transaction is allowed to add new rows or delete the rows&amp;nbsp;until&amp;nbsp;the current transaction&amp;nbsp;releases&amp;nbsp;its lock. Similarly, if the query is "Select * from Employee where country='India", then the current transaction will acquire the read lock for all the records of the table where country is India, and no other transaction is allowed to add or delete new rows until the current transaction releases its read lock. Thus, if we executes the same query twice , then each time it will get the same set of rows of a data &amp;nbsp;and therefore it eliminates the Phantom read problem.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Snapshot:-&lt;/b&gt;In this isolation level, a transaction recognise only data which is&amp;nbsp;committed&amp;nbsp;before the start of the transaction. Any modification of the data after the transaction is begin, &amp;nbsp;is not visible to any statements of the currently executing transaction. It is like a snapshot of data, given to each transaction. It is done with the help of row version where a&amp;nbsp;separate&amp;nbsp;version of each modified row is maintain in the&amp;nbsp;temp db&amp;nbsp;database dedicated to the transactions. This &amp;nbsp;isolation level eliminates dirty reads, lost updates, repeatable reads and Phantom reads problem.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Isolation level can be set by using the following command:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;SET TRANSACTION ISOLATION LEVEL &lt;level&gt;&lt;/level&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=ZbnqedZYQ5E:L5JTEUcYiLc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=ZbnqedZYQ5E:L5JTEUcYiLc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/ZbnqedZYQ5E" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-19T17:16:16.815+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">13</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/08/isolation-levels-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Merge Command In Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/CQrlj4vlT2s/merge-command-in-sql-server.html" /><category term="Merge Command In Sql Server" /><category term="Merger statement" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-04-17T11:15:03-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-3027355831542143946</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Merge Command:-&lt;/b&gt; Merge command is a new feature introduced in the SQL Server 2008. It can perform Update, Insert and delete operations at a single statement which means all the data is processed and read only once instead of three times(In case of Insertion, deletion and update statements.) It has a target table and Source table. These two tables are join based on a conditions and depending upon whether the Condition is matched or not, Update, Insertion and Deletion Operations are performed.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The Syntax of the Merge command is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;MERGE &amp;nbsp;[AS TARGET]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;USING &amp;nbsp;[AS SOURCE]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;ON&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;[WHEN MATCHED&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;THEN &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;[WHEN NOT MATCHED [BY TARGET]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;THEN &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;[WHEN NOT MATCHED BY SOURCE&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;THEN &amp;nbsp;];&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, suppose we have two tables in which Import_Employee is a source table and Employee is a target table.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The query for creating the Source table Import_Employee and inserting its data is &amp;nbsp;given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="color: blue;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Create table Import_Employee (Empno int, firstname nvarchar(100), lastname nvarchar(100))&lt;br /&gt;&lt;br /&gt;Insert into Import_Employee (Empno, firstname, lastname)&lt;br /&gt;&lt;br /&gt;select 1,'Vivek', 'Johari'&lt;br /&gt;&lt;br /&gt;Union All&lt;br /&gt;&lt;br /&gt;select 2,'Ravi', 'Kumar'&lt;br /&gt;&lt;br /&gt;Union All&lt;br /&gt;&lt;br /&gt;select 3,'Uma', 'Sharma'&lt;br /&gt;&lt;br /&gt;Union All&lt;br /&gt;&lt;br /&gt;select 4,'Neha', 'Sharma'&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Select * from&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-IcfxQsRTMU0/T4ulNj55WaI/AAAAAAAAA6k/vbhS27-4CVw/s1600/Merged_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-IcfxQsRTMU0/T4ulNj55WaI/AAAAAAAAA6k/vbhS27-4CVw/s1600/Merged_1.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The query for creating the Target table Employee and inserting its data is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;create table Employee(Empno int, fname nvarchar(100), lname nvarchar(100),enddate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert into Employee (Empno, fname, lname)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select 3,'Jagdish', 'Johari'&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select 4,'Neha', 'Sharma'&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select 5,'Sunny', 'Rana'&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select &amp;nbsp;* &amp;nbsp;from&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Employee&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-Lrdfxx_e8Po/T4ulWku1reI/AAAAAAAAA6s/tgMUdEU0bS8/s1600/Merged_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Lrdfxx_e8Po/T4ulWku1reI/AAAAAAAAA6s/tgMUdEU0bS8/s1600/Merged_2.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose we have the following requirements:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1) If a empno is exists in both the table then the corresponding values of the column Fname and Lname for the empno in the table Employee is updated by the corresponding values of the column&amp;nbsp;&amp;nbsp;firstname&amp;nbsp;and&amp;nbsp;&amp;nbsp;lastname&amp;nbsp;of the Empno from the source table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2) If there is no corresponding empno in the Target table Employee for a empno of the table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee,&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;then the data from the Source table is inserted into the target table for that empno.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3) If there exists a records for a empno in the Target table whose corresponding records are not in the Source table, these these record should be deleted from the target table.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Therefore, the condition on which the target table and Source table is joined will be the Empno.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The merged statement&amp;nbsp;fulfilling&amp;nbsp;all the above three requirements are given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;MERGE employee AS TARGET&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;USING Import_Employee AS SOURCE&lt;br /&gt;&lt;br /&gt;ON TARGET.empno=SOURCE.empno &lt;br /&gt;&lt;br /&gt;WHEN MATCHED &lt;br /&gt;&lt;br /&gt;THEN update set TARGET.fname=SOURCE.firstname,&lt;br /&gt;&lt;br /&gt;TARGET.lname = SOURCE.lastname&lt;br /&gt;&lt;br /&gt;WHEN NOT MATCHED BY TARGET THEN &lt;br /&gt;&lt;br /&gt;insert(empno,fname,lname)&lt;br /&gt;&lt;br /&gt;values(SOURCE.empno,SOURCE.firstname,SOURCE.lastname)&lt;br /&gt;&lt;br /&gt;WHEN NOT MATCHED BY SOURCE THEN &lt;br /&gt;&lt;br /&gt;Delete;&lt;br /&gt;&lt;br /&gt;Select * from&amp;nbsp;&lt;/span&gt;
&lt;span style="color: blue;"&gt;Employee&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-ff1sCu3yu0g/T4ulcUybQuI/AAAAAAAAA60/G3OTz55rUvM/s1600/Merged_3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ff1sCu3yu0g/T4ulcUybQuI/AAAAAAAAA60/G3OTz55rUvM/s1600/Merged_3.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In the above example, the target table "Employee" and the source table "&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;" has the same empno 3, so the fname and the lname of the table employee is updated with the corresponding &amp;nbsp;firstname and lastname&amp;nbsp;column&amp;nbsp;value from the table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; for empno 3.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Also the table employee does not have the record for the empno 1 and 2. Therefore the corresponding record for the empno 1 and 2 will be inserted from&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(source) table to the Employee(Target) table.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Again, the target table employee contains the records for the empno 5 whereas the source table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Import_Employee&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; do not contains any records for empno 5 , therefore the record for empno 5 is deleted from the target table by this Merge statement.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;So we can see from the above example that with the help of Merge&amp;nbsp;statement, we can perform the update, delete and insert commands within a single statement.&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=CQrlj4vlT2s:jV--MeKh0tY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=CQrlj4vlT2s:jV--MeKh0tY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/CQrlj4vlT2s" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-17T23:45:03.638+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-IcfxQsRTMU0/T4ulNj55WaI/AAAAAAAAA6k/vbhS27-4CVw/s72-c/Merged_1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/04/merge-command-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Adding , Deleting and Updating a Column in a table</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/36MIIXasSsQ/adding-deleting-and-updating-column-in.html" /><category term="Adding" /><category term="Alter table" /><category term="Deleting and Updating a Column in a table" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-04-15T01:33:14-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-1708218569558967637</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Many times we need to alter the table definition by adding , deleting or updating a column in the table. In this article, I am trying to explain the following :-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. How to add a column&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2. How to update a column&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3. How to drop a column&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose we have a table say &lt;b&gt;Employee &lt;/b&gt;whose structure is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TABLE Employee (Emplyeeid int identity(1,1),&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Empnumber nvarchar(10),&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Firstname nvarchar(50), &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Lastname nvarchar(150),&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Age int, &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Phoneno nvarchar(15), &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Address nvarchar(200),&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Insert query for Inserting data in the table is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into employee Values&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;('mani123','Manish', 'Arora',27,'245121','Delhi',getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can see the data in table employee through the following SQL Statement:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select * from Employee&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Vnqsey6X_fI/T4qFSHe15yI/AAAAAAAAA5s/92JztiZjdnc/s1600/aud_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="23" src="http://1.bp.blogspot.com/-Vnqsey6X_fI/T4qFSHe15yI/AAAAAAAAA5s/92JztiZjdnc/s400/aud_1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Now suppose we want to update the column &lt;/span&gt;&lt;b style="font-family: Verdana, sans-serif;"&gt;Firstname &lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;of the table Employee by increasing its character limits from 50 to 100. &amp;nbsp;The &lt;/span&gt;SQL&lt;span style="font-family: Verdana, sans-serif;"&gt; statement used for this&amp;nbsp;column&amp;nbsp;&lt;/span&gt;updation&lt;span style="font-family: Verdana, sans-serif;"&gt; will be:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter table Employee Alter column Firstname nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Again suppose we want to add a column Regdate into the table Employee then the Sql statement for adding the column into the table Employee will be given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter table Employee Add Regdate datetime null&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The above SQL statement will add a nullable column Regdate to the table which have the datatype as datetime.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The insert command after the addition of the new column regdatum will be given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into employee Values&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;('VJO','Vivek', 'Johari',28,'244555121','Delhi',getdate(),'01/01/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br class="Apple-interchange-newline" /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select * from Employee&lt;/span&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-EFwlOWUSS4k/T4qF3BQhd-I/AAAAAAAAA50/Xg6S61QFCaw/s1600/aud_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="26" src="http://3.bp.blogspot.com/-EFwlOWUSS4k/T4qF3BQhd-I/AAAAAAAAA50/Xg6S61QFCaw/s400/aud_2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose if we want to delete a column from the table then we have to write the following SQL Statement&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter Table Employee Drop Column Regdate&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;This command will drop the column&amp;nbsp;Regdate&amp;nbsp;from the table Employee which we can verify with the help of the select command.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select * from Employee&lt;/span&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-wcM8VUKwpJ8/T4qGRSKpERI/AAAAAAAAA58/aSe5ECjcdQQ/s1600/aud_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="31" src="http://2.bp.blogspot.com/-wcM8VUKwpJ8/T4qGRSKpERI/AAAAAAAAA58/aSe5ECjcdQQ/s400/aud_3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;from the above picture, it can be easily see that the column Regdate is not a column of the table Employee anymore.
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=36MIIXasSsQ:BvYJfvM76HY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=36MIIXasSsQ:BvYJfvM76HY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/36MIIXasSsQ" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-15T14:03:14.075+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Vnqsey6X_fI/T4qFSHe15yI/AAAAAAAAA5s/92JztiZjdnc/s72-c/aud_1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/04/adding-deleting-and-updating-column-in.html</feedburner:origLink></entry><entry><title type="text">Derived Table In Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/710xip1J0b8/derived-table-in-sql-server.html" /><category term="Derived table" /><category term="Derived Table In Sql Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-04-15T00:07:28-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-4864817411457346452</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Derived tables:-&amp;nbsp;&lt;/b&gt;
Derived&amp;nbsp;tables are the tables which are created on the fly with the help of the Select statement. It is different from the temporary table in the way that&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;in case of temporary table,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;first we have to create a temporary table, &amp;nbsp;insert the data into the table, select the data from the temporary table and then we have to drop the temporary table. But in case of derived table, SQL Server itself create and populate the table in the memory and we can directly use it. Also we don,t need to drop it. But it can only be&amp;nbsp;referenced&amp;nbsp; by the outer Select query who created it. Also since it is reside in the memory itself, it is faster then Temporary tables which are created in the temp database.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose, there is a table say&amp;nbsp;tbl_studentcoursereg to store the id of the students registered for various courses, registration month and date. Table structure is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;create table tbl_studentcoursereg&amp;nbsp;(id int identity(1,1), &amp;nbsp;studentid int, coursename nvarchar(100), Regmonth nvarchar(50), regdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The insert command to populate this table with the data is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (1, 'C#', 'JAN','01/01/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (2, 'SQL', 'JAN','01/02/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (3, 'C++', 'JAN','01/03/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (4, 'C#', 'FEB','02/02/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (5, 'C#', 'MAR','03/03/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (6, 'JAVA', 'APR','04/04/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (7, 'JAVA', 'APR','04/04/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (8, 'ORACLE', 'APR','04/04/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (9, 'C#', 'APR','04/23/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;insert into tbl_studentcoursereg&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values (10, 'C#', 'MAY','05/05/2012')&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Now if we want to know in which month number of students registered for a particular months is greater than 2, the we can use the following query which uses the derived table.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select regmonth, totalstud, totalcourse from&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;(select &amp;nbsp;regmonth ,count(studentid) as totalstud ,&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;count(coursename)as totalcourse from tbl_studentcoursereg group by regmonth )as tbl1 &amp;nbsp;where tbl1.totalstud&amp;gt;2&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In the above query, the following is the derived table:-&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style="color: blue;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;(select &amp;nbsp;regmonth ,count(studentid) as totalstud ,&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: blue;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;count(coursename)as totalcourse from tbl_studentcoursereg group by regmonth ) as tbl1&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: blue;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In case of derived table, we have to give the alias name to the derived table as tbl1 is the alias for the above mention derived table.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=710xip1J0b8:8xMRkzy0qlg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=710xip1J0b8:8xMRkzy0qlg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/710xip1J0b8" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-15T12:37:28.785+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/04/derived-table-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Pivot  and Unpivot table in SQL SERVER</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/KSDWmOr4b5E/pivot-table-in-sql-server.html" /><category term="Pivot table" /><category term="Pivot  and Unpivot table in SQL SERVER" /><category term="Unpivot table" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-04-14T02:34:36-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-238162424579979098</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Pivot Table:-&lt;/b&gt; Pivot tables are used to summarize and display the data, specially in case of report data by means of aggregating the values.&amp;nbsp;Pivot table can be used if we want to display the unique values of the column of a&amp;nbsp;table as the columns of another table. It turns the unique values of a specified column into another table columns.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;The syntax for the Pivot is given below:-&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT non-pivoted column,&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; firstpivotedcolumn AS column name,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; secondpivotedcolumn AS column name,&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; lastpivotedcolumn AS column name&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; (SELECT query that produces the data&amp;gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; AS aliasforsourcequery&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;PIVOT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; aggregation function(column being aggregated)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;FOR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;column that contains the values that will become column headers&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; IN ( firstpivotedcolumn,secondpivotedcolumn,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; last pivoted column)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;) AS aliasforthepivottable&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;(optional ORDER BY clause)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, suppose we have a table called tbl_student which contains the columns studentname, grade and marks. The query for creating this table and inserting data is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Syntax for creating the database:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create database DB_Pivot&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;Query for creating table:-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create table tbl_student (studentname nvarchar(200), grade nvarchar(10), marks int)&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Query for inserting the data into the table:-&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert into tbl_student (studentname,grade,marks)&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari','I',30&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari','II',20&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari','III',35&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari','IV',40&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari','V',45&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Avinash Dubey','I',30&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Avinash Dubey', 'II', 2&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Avinash Dubey', 'III' ,35&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Chandra Singh', 'I', 30&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Chandra Singh', 'II', 20&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Chandra Singh', 'III', 35&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select &amp;nbsp;' Pankaj Kumar', 'I', 33&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Union All&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Select ' Pankaj Kumar', 'II', 29&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Now if we want to see the data in the table tbl_student, it will looks like shown below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select &amp;nbsp;* &amp;nbsp;from&amp;nbsp;tbl_student&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Wg6kvJgyFsg/T4km2ZoAuvI/AAAAAAAAA48/Jy8Mvtz_xDk/s1600/pivottable_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-Wg6kvJgyFsg/T4km2ZoAuvI/AAAAAAAAA48/Jy8Mvtz_xDk/s320/pivottable_1.png" width="235" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose we want to display the data as shown below:-&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="color: lime; font-family: Verdana, sans-serif;"&gt;Studentname &amp;nbsp; &amp;nbsp; &amp;nbsp; I &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;II &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; III &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IV &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: lime; font-family: Verdana, sans-serif;"&gt;Vivek Johari &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 35 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;40 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;45&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: lime;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Chandra Singh &amp;nbsp; &amp;nbsp; &amp;nbsp;30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 35&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: lime; font-family: Verdana, sans-serif;"&gt;Avinash Dubey &amp;nbsp; &amp;nbsp; &amp;nbsp;30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 35 &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&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: lime;"&gt;Pankaj Kumar &amp;nbsp; &amp;nbsp; &amp;nbsp; 33 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 29&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Then we can either use the Select......... Case statement or the Pivot command.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In this article I am going to show the use of the Pivot operator to display data as shown above:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select studentname, [I], [II], [III], [IV] , [V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;from&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;( Select grade, studentname, marks from tbl_student) as sourcetable&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Pivot ( &amp;nbsp;avg(marks) for grade in ([I],[II],[III],[IV],[V])) as pivotable order by V desc,IV desc,III desc,II desc,I desc&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-itbRYEj0__A/T4kszYbIwEI/AAAAAAAAA5M/RWabM3qPMN0/s1600/pivot_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://4.bp.blogspot.com/-itbRYEj0__A/T4kszYbIwEI/AAAAAAAAA5M/RWabM3qPMN0/s320/pivot_2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Or we can use the given below query also:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select studentname, [I], [II], [III], [IV] , [V] from tbl_student&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Pivot &amp;nbsp;( &amp;nbsp;avg(marks) for grade in ([I],[II],[III],[IV],[V])) as pivotable order by V desc,IV desc,III desc,II desc,I desc&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-XgUlM1lCLMI/T4ks4f4r72I/AAAAAAAAA5U/ex-2yZgiTO0/s1600/pivot_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://3.bp.blogspot.com/-XgUlM1lCLMI/T4ks4f4r72I/AAAAAAAAA5U/ex-2yZgiTO0/s320/pivot_2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Both the query will gives the same result. In the first query we use the Derived table as the Source table and in the 2nd query we use the table&amp;nbsp;tbl_student as the source table.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Unpivot table:-&lt;/b&gt; Unpivot table is reverse of Pivot table as it rotate the columns of a table into the value of a column. For example, suppose we have a table say tbl_stdmarksdata whose structure us given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create table tbl_stdmarksdata &amp;nbsp;(studentname nvarchar(100), I int, II int, III int, IV int, V int)&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query for inserting data in this table is given below:-&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into tbl_stdmarksdata (studentname,I,II,III,IV,V)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Vivek Johari',30,20,35,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;40,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;45&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Chandra Singh',30,20,35,44,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;80&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Avinash Dubey',30,25,35,20,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;39&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Union All&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select 'Pankaj Kumar',33,29,30,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60,&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;50&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;After insert, &amp;nbsp;the data in the table :-&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;select * from&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;tbl_stdmarksdata&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-XaR3YZkWx9s/T4lCWoZIs6I/AAAAAAAAA5c/zxxbMcJx82Y/s1600/Unpivot_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://4.bp.blogspot.com/-XaR3YZkWx9s/T4lCWoZIs6I/AAAAAAAAA5c/zxxbMcJx82Y/s320/Unpivot_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The Query for the Unpivot table will be as follow:-&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;select studentname,Marks,Grade&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;div&gt;
&lt;span style="color: blue;"&gt;from tbl_stdmarksdata&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue;"&gt;unpivot&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue;"&gt;(Marks for Grade in (I,II,III,IV,V) ) as tblunpvt&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ah4Rk5SKGEI/T4lCmAr0zeI/AAAAAAAAA5k/oRnTYIQPmUo/s1600/Unpivot_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-ah4Rk5SKGEI/T4lCmAr0zeI/AAAAAAAAA5k/oRnTYIQPmUo/s400/Unpivot_2.png" width="201" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Please &amp;nbsp;note:-&lt;/b&gt; Also as per the MSDN,&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 16px;"&gt;When PIVOT and UNPIVOT are used against databases that are upgraded to SQL Server 2005 or later, the compatibility level of the database must be set to 90 or higher.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 16px;"&gt;Futher reading about the Pivot operator can be done at the following&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms177410.aspx" target="_blank"&gt;Pivot Operator&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: lime; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=KSDWmOr4b5E:fuU2Y7_s2w8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=KSDWmOr4b5E:fuU2Y7_s2w8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/KSDWmOr4b5E" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-14T15:04:36.109+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Wg6kvJgyFsg/T4km2ZoAuvI/AAAAAAAAA48/Jy8Mvtz_xDk/s72-c/pivottable_1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/pivot-table-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">SQL Server- Output clause</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/H6E80PJk0lI/sql-server-output-clause.html" /><category term="output Clause in SQL Server" /><category term="SQL Server- Output clause" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-22T09:51:45-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-8373286233235831290</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Output Clause:-&lt;/b&gt; The SQL SERVER 2005 gives us an Output Clause which gives us the&amp;nbsp;information&amp;nbsp;about each row affected by the Insert, Update , Delete and Merge statement. It is more useful than @@scope_Identity and @@Identity&amp;nbsp;column&amp;nbsp;since these global variables gives us the information about the last inserted identity column value, but the Output clause gives us the last affected identity in case of Inserted, deleted, updated and merge&amp;nbsp;statement. Output clause has the access to the Magic tables (Inserted and deleted) and we can&amp;nbsp;capture&amp;nbsp;the records of affected rows into the temporary tables too for latter use.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create table Tbl_output (id int identity(1,1), fname nvarchar(100), lname nvarchar(100))&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Example of Output clause in case of Insert command&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Declare @outputtemp Table &amp;nbsp;(id int , fname nvarchar(100), lname nvarchar(100))&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert into tbl_output(fname,lname)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Output&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;inserted.id,&amp;nbsp;inserted.fname, inserted.lname into @outputtemp&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;values('Vivek', 'Johari')&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Select * from&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;@outputtemp&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-JkpOj4_vdDc/TxxLObx3YrI/AAAAAAAAA1c/7OLztWuPKjk/s1600/Output_insert.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="65" src="http://1.bp.blogspot.com/-JkpOj4_vdDc/TxxLObx3YrI/AAAAAAAAA1c/7OLztWuPKjk/s200/Output_insert.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Example of Output clause in case of Update command
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Update tbl_output set fname='Vibodh'&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Output&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;inserted. fname , deleted.fname&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;where id=1&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-GVWSwUhk3ZE/TxxKgbiC54I/AAAAAAAAA1U/MSmCDRH1MRg/s1600/Output_insert.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="http://3.bp.blogspot.com/-GVWSwUhk3ZE/TxxKgbiC54I/AAAAAAAAA1U/MSmCDRH1MRg/s200/Output_insert.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Example of Output clause in case of Delete command
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Delete from tbl_output&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Output&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;deleted.*&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;where id=1&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-gB3i2CPe-KA/TxxLj0t7YTI/AAAAAAAAA1k/iX7Pvd9wNNA/s1600/Output_delete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="74" src="http://3.bp.blogspot.com/-gB3i2CPe-KA/TxxLj0t7YTI/AAAAAAAAA1k/iX7Pvd9wNNA/s200/Output_delete.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/ms177564.aspx" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Read more about Output Clause&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=H6E80PJk0lI:a-MzfMp37sQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=H6E80PJk0lI:a-MzfMp37sQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/H6E80PJk0lI" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T23:21:45.953+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-JkpOj4_vdDc/TxxLObx3YrI/AAAAAAAAA1c/7OLztWuPKjk/s72-c/Output_insert.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/sql-server-output-clause.html</feedburner:origLink></entry><entry><title type="text">CTE command In Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/WXQH7NouoFg/cte-command-in-sql-server.html" /><category term="CTE command In Sql Server" /><category term="Common table expression" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-17T10:44:59-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-3373271378705218618</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Common table expression (CTE):-&lt;/b&gt; Common table expression or CTE can be described as the temporary, named record set return by the execution of the query (insert, delete, update, select or update view statement). It is not stored as an object in the database and it last only till the execution of the SQL Query.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;It also can reference itself. It can be referenced multiple times. The SQL Scripts of creation of all the tables and their insert data statement is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query for creation of the database used in this article and then using it.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create database CTE_Learning&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query to used the database created above&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Use CTE_Learning&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;SQL Query for creation of the table Employee&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create table Employee (Employeeid int identity(1,1), EmpFname nvarchar(150), EmpLname nvarchar(150), Managerid int, regdate datetime)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;SQL Query for creation of the table Project&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create table Project (Projectid int identity(1,1), Projectname nvarchar(150))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;SQL Query for creation of the table Empproj&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create table Empproj (Empprojid int identity(1,1), Employeeid int, Projectid int)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query for inserting the data in the table Employee&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into Employee(EmpFname, EmpLname, Managerid, regdate)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Select 'Samir', 'Sethi', 0, getdate()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Select 'Vivek', 'Johari', 1, getdate()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Select 'Avinash', 'Dubey', 2, getdate()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Select 'Sunny', 'Rana', 3, getdate()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Select 'Himanshu','Aggarwal',3,getdate()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query for inserting the data in the table Project&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into Project (Projectname)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Select 'Project1'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Select 'Project2'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Select &amp;nbsp;'Project3'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Query for inserting the data in the table Empproj&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into Empproj (Employeeid, Projectid)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Select 1,1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union &amp;nbsp;all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select 1, 2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union &amp;nbsp;all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select 1,3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union &amp;nbsp;all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select 2,1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union &amp;nbsp;all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Select 2,2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union &amp;nbsp;all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Select 3,1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Union all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Select 4,2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;The Common table&amp;nbsp;expression&amp;nbsp;has the following syntax:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;With Expressionname (Column list)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;CTE query definition&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Here, Expressionname is the name of the CTE, Column list is the name of the unique column names which are return as the&amp;nbsp;record set&amp;nbsp;through the execution of the CTE query and CTE query definition is the SQL query which we are going to use in the CTE.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose, we want to get the recordset which contains the details of the employees who are attacted to more than 1 projects then we can use the CTE as given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;With CTE_Projinfo (employeeid, total_projects)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; select employeeid, count(employeeid) from empproj group by employeeid having count(employeeid)&amp;gt;1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;select e.employeeid , e.empfname + ' ' + e.empLname, e.regdate from employee e inner join CTE_Projinfo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;on e.employeeid = CTE_Projinfo.employeeid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://1.bp.blogspot.com/-hKpZv38tWDw/TxW8OJkf_MI/AAAAAAAAA08/EqJKDT_GKvM/s1600/cte_example1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="101" src="http://1.bp.blogspot.com/-hKpZv38tWDw/TxW8OJkf_MI/AAAAAAAAA08/EqJKDT_GKvM/s400/cte_example1.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Here CTE_Projinfo is the CTE expression name&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; employeeid, total_projects are the names of the columns return by the execution of the CTE query&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;select employeeid, count(employeeid) from empproj group by employeeid having count(employeeid)&amp;gt;1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In the above example, we have used the CTE "CTE_Projinfo " to get the details of the employees by using the inner join with the table employee.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Also we can includes multiple CTEs within a WITH Clause&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example,&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;With&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; CTE_Projinfo (employeeid, total_projects)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; select employeeid, count(employeeid) from empproj group by employeeid having count(employeeid)&amp;gt;1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;CTE_Empproject (employeeid, projectname)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; Select CTE_Projinfo.employeeid,Projectname from CTE_Projinfo &amp;nbsp;inner join &amp;nbsp;Empproj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;on CTE_Projinfo.Employeeid=Empproj.employeeid inner join Project&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;on Empproj.projectid=Project.projectid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;select e.employeeid , e.empfname + ' ' + e.empLname, e.regdate,CTE_Empproject.projectname from employee e inner join CTE_Empproject&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;on e.employeeid = &amp;nbsp;CTE_Empproject.employeeid&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;a href="http://3.bp.blogspot.com/-K5Nge-psf6U/TxW8Xsw8IkI/AAAAAAAAA1E/yPOOfU-TlzQ/s1600/cte_example2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://3.bp.blogspot.com/-K5Nge-psf6U/TxW8Xsw8IkI/AAAAAAAAA1E/yPOOfU-TlzQ/s400/cte_example2.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Here we have includes two CTEs expressions &amp;nbsp;CTE_Projinfo and CTE_Empproject within a same With caluse. In this example, we have seperated the two CTEs with the help of ",".&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Since a CTE can reference itself also, we can use the CTE to get the hierarchy of an organization.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, we can use the following CTE to get the &amp;nbsp;hierarchical data of the employees of an organisation.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;With CTE_managerlevel (Employeeid,employeename,managerid,joblevel) as&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; select e.employeeid , e.empfname + ' ' + e.empLname, e.Managerid,0 from employee e where e.employeeid=1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; UNION ALL&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;select m.employeeid , m.empfname + ' ' + m.empLname, m.Managerid,CTE_managerlevel.joblevel+1 from employee m inner join CTE_managerlevel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;on m.Managerid=CTE_managerlevel.employeeid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;select Employeeid,employeename,managerid,joblevel from CTE_managerlevel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://3.bp.blogspot.com/-B8H8tT0ii34/TxW8ea4x2PI/AAAAAAAAA1M/XjSUb09RgRI/s1600/cte_example3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://3.bp.blogspot.com/-B8H8tT0ii34/TxW8ea4x2PI/AAAAAAAAA1M/XjSUb09RgRI/s400/cte_example3.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=WXQH7NouoFg:AIBxgmdHJVk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=WXQH7NouoFg:AIBxgmdHJVk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/WXQH7NouoFg" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T00:14:59.095+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-hKpZv38tWDw/TxW8OJkf_MI/AAAAAAAAA08/EqJKDT_GKvM/s72-c/cte_example1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/cte-command-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">SQL Server-Table Variable</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/UivwQMdBiGo/sql-server-table-variable.html" /><category term="Temp Variable" /><category term="SQL Server-Table Variable" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-10T02:45:09-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-1488543047366850933</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Table variable:-&lt;/b&gt;&amp;nbsp;SQL&amp;nbsp;Server&amp;nbsp;provides an variable known as table variable which is used to store data in a similar way as we store data in physical tables but with some limitations. Like other SQL variable, it is also declare with the help of the Declare keyword with @ prefix. The Syntax of declaring a table variable is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Declare @tablename table(col1 datatype, col2 datatype, col3 datatype........coln datatype)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose we want to declare a table variable named @tbl3, the we will use the following syntax:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Declare @employee table (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Also to insert data into the table variable , we can use the insert command similar to physical, and&amp;nbsp;temporary tables&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;@employee&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;empFname&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;,&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;empEname&amp;nbsp;&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span style="color: blue;"&gt;empdate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Scope of the table variable is limited to the block of code in which it is defined or within the stored&amp;nbsp;procedure in which it is defined. Unlike temporary tables (local or global) table variable it is not&amp;nbsp;accessible in the procedures&amp;nbsp;executed within the procedure in which it is defined. Like other variables, table variable is also created on the memory. Also since table variable is itself a variable, we doesn't need to force it&amp;nbsp;deletion through the use of Drop statement.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Example of using a table variable inside a stored procedure.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create &amp;nbsp;procedure test_tablvariable&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;as&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @employee table (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Insert into &amp;nbsp;@employee &amp;nbsp;( empFname &amp;nbsp;, &amp;nbsp;empEname &amp;nbsp;, empdate )&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; select * from @employee&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;end&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Unlike local and global temporary tables, we can't apply transaction on the table variable.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter procedure test_tablvariable&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;as&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;b&gt; begin tran&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @employee table (id int identity(1,1), empFname nvarchar(100), &amp;nbsp;empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Insert into &amp;nbsp;@employee &amp;nbsp;( &lt;/span&gt;empFname&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt; &amp;nbsp;, &amp;nbsp;&lt;/span&gt;empEname&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt; &amp;nbsp;, &lt;/span&gt;empdate&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt; )&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Rollback&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; select * from @employee&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;The execution of the above store procedure will give the following result set&amp;nbsp;in spite of the &lt;b&gt;Rollback &lt;/b&gt;statement written above the select command.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-kFc2UJnz11g/TwvnBrIwU9I/AAAAAAAAA0k/Lb0bepsvjQo/s1600/trans_tabvariable.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="78" src="http://2.bp.blogspot.com/-kFc2UJnz11g/TwvnBrIwU9I/AAAAAAAAA0k/Lb0bepsvjQo/s400/trans_tabvariable.JPG" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Also unlike temporary tables and physical tables, we can't add constraints on it. For example, if we try to add primary key on the table&amp;nbsp;@employee, it will throw an error.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter Procedure test_tablvariable&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;As&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @employee table (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: red;"&gt;alter table @employee add constraint pk_temp primary key (id)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Insert into &amp;nbsp;@employee &amp;nbsp;( empFname &amp;nbsp;, &amp;nbsp;empEname &amp;nbsp;, empdate )&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; select * from @employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;End&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The execution of the above procedure will give the following error.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-J7NIlQEDA8A/Twvllxt1AfI/AAAAAAAAA0c/LUlbEFeAHOs/s1600/error.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="clear: right; float: right; font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="57" src="http://4.bp.blogspot.com/-J7NIlQEDA8A/Twvllxt1AfI/AAAAAAAAA0c/LUlbEFeAHOs/s400/error.JPG" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Similarly we also can't define indexes on the table variable.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Table variable is good when we need to store less number of &amp;nbsp;rows. But if the size of the data or number of rows keeps on &amp;nbsp;increasing &amp;nbsp;then storing the data into the table variable will not going to be a good idea. Since we can't use temporary tables inside the SQL Functions, table variable can be very useful to store temporary data and return the data in the table format.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UivwQMdBiGo:veOXYfr1T3w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UivwQMdBiGo:veOXYfr1T3w:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/UivwQMdBiGo" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T16:15:09.059+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-kFc2UJnz11g/TwvnBrIwU9I/AAAAAAAAA0k/Lb0bepsvjQo/s72-c/trans_tabvariable.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/sql-server-table-variable.html</feedburner:origLink></entry><entry><title type="text">SQL Server - Local temporary table</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/GnligDNoXe0/sql-server-local-temporary-table.html" /><category term="Local temporary table in SQL Server" /><category term="SQL Server - Local temporary table" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-08T10:39:48-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-4323301621329699021</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Local temporary table:-&lt;/b&gt; Local temporary table is created in the tempdb and it is visible to the current user's session only. It remains exists till the current user session is connected. Once the user connection is disconnected it gets destroyed. Since the local temporary table is created in the tempdb, whenever we use temporary tables there is a interaction between the two database (tempdb and the database in which block of code is written) which may slow down the performance. We can use the temporary tables in the joins as well like physical tables.&amp;nbsp;We can also use the temporary table with the While loop to replace the cursor.&amp;nbsp;Temporary table is created with the prefix #. The syntax for the creation of local temporary table is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create table #[table name] (col1 datatype, col2 datatype........coln datatype)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, below is the SQL command to create a temporary table #employee&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;CREATE table #employee (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can also defines constraints on the local temporary table. For example, the syntax to add primary key on the table #employee is given bellow:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER &amp;nbsp;Table #employee add constraint pk_LTT primary key (id)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can also create indexes on the local temporary table also. For example&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;create index indx_LTT on #employee (empFname)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Insert command for temporary table is similar to insert command in the physical table. For example , if we want to insert data in the table # employee &amp;nbsp;we can use the following the SQL Statements:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into &amp;nbsp;#employee ( empFname &amp;nbsp;, &amp;nbsp;empEname &amp;nbsp;, empdate )&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; Values ( 'Vivek',' Johari',getdate())&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;we can verify the creation of the local temporary table in the tempdb with the help of system view 'sys.objects'.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;SELECT * FROM sys.objects where type='U'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Local temporary tables are itself dropped when the current user session is closed but it is better to drop it manually at the end of the block of the code in which it is defined or at the end of the stored procedure in which it is defined.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create Procedure test_LTT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Begin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;CREATE table #employee (id int identity(1,1), empFname nvarchar(100), &amp;nbsp; empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;Exec insert_LTT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;select * from #employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;Drop table #employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Create procedure insert_LTT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;as&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; Insert into &amp;nbsp;#employee ( empFname &amp;nbsp;, &amp;nbsp;empEname &amp;nbsp;, empdate )&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; Values ( 'Vibodh','Johari',getdate())&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Transactions are also applicable in local temporary tables.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Alter Procedure test_LTT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Begin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Begin Transaction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp;CREATE table #employee (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; EXEC Insert_LTT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Rollback&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Select * from #employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Drop table #employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Since transactions are applicable in the Local temporary tables, the rollback command in the above procedure will rollback the entire transactions including the creation of the table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;#employee,&amp;nbsp;execution of the above procedure will return the error that&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;#employee does not exists.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Limitations&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can't use local temporary table inside a SQL Function.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can't create trigger on a temporary tables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can't create View on the temporary tables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=GnligDNoXe0:QuL9eOIGjF0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=GnligDNoXe0:QuL9eOIGjF0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/GnligDNoXe0" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T00:09:48.005+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Dwarka, New Delhi, Delhi, India</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">28.5921401 77.0460481</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">28.536371600000003 76.9670841 28.6479086 77.12501209999999</georss:box><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/sql-server-local-temporary-table.html</feedburner:origLink></entry><entry><title type="text">SQL Server - Global temporary tables</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/cZuwmVd--Gc/sql-server-global-temporary-tables.html" /><category term="Global temporary tables in SQL Server" /><category term="SQL Server - Global temporary tables" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-08T10:38:46-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-5434335001293524551</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Global temporary table:-&lt;/b&gt;&amp;nbsp;Global temporary table is created in the tempdb &amp;nbsp;and it is&amp;nbsp;visible to all other sessions as well. Global temporary tables are only destroyed when the current user disconnected and all the sessions referring&amp;nbsp;to it closed. It means no user sessions refers it.&amp;nbsp;Since the global temporary table is created in the tempdb, whenever we use temporary tables there is a&amp;nbsp;interaction between the two database (tempdb and the database in which block of code is written) which may slow down the performance. Global temporary table can be used in Joins. Global table is created with the help of the ##.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The syntax for creating the global temporary table is given below:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;create table ##[table name] (col1 datatype, col2 datatype, ......coln datatype)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, the syntax to create the global temporary table &amp;nbsp;##employeedetails is given below:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE table ##employeedetails (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can also create indexes on the Global temporary tables. For example,&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create index indx_GTT on ##employeedetails (empFname)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can also define constraints on the Global temporary tables. For Example&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter table ##employeedetails add constraint pk_GTT primary key(id)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Similar&amp;nbsp;to physical table and local temporary table, the values in the global temporary table can also be inserted with the help of the Insert command. For example, to insert the value in the global&amp;nbsp;temporary&amp;nbsp;table ##
employeedetails&amp;nbsp;&amp;nbsp;, we can use the following SQL Statement:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;Insert into ##&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;employeedetails&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;empFname&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;,&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;empEname&amp;nbsp;&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span style="color: blue;"&gt;empdate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We can access the global table within the stored procedure in which it is defined and also in the stored procedure which is called inside this stored procedure.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create procedure test_GTT&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;as&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;CREATE table ##employeedetails (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;exec insert_GTT&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select * from ##employeedetails&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;drop table ##employeedetails&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Create procedure insert_GTT&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;as&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Insert into ##employeedetails ( empFname &amp;nbsp;, &amp;nbsp;empEname &amp;nbsp;, empdate )&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Values ( 'Vivek', ' Johari', getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;In the above example, we create a global temporary table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;##employeedetails&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;in the stored procedure&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;test_GTT. This procedure call another procedure &lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;insert_GTT. The procedure contains the Insert command for the table&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;##employeedetails. When we&amp;nbsp;execute&amp;nbsp;the procedure&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;test_GTT, it will give the following result.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Exec&amp;nbsp;test_GTT&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-WtmXqisizVg/TwhEFljZrvI/AAAAAAAAA0M/D79EmtFUYEw/s1600/GlobalTable_proc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="77" src="http://2.bp.blogspot.com/-WtmXqisizVg/TwhEFljZrvI/AAAAAAAAA0M/D79EmtFUYEw/s400/GlobalTable_proc.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Global temporary tables are itself dropped when the current user session is closed and no other user is&amp;nbsp;referring&amp;nbsp;to it, but it is better to drop it manually at the end of the block of the code in which it is defined or at the end of the stored procedure in which it is defined.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The global temporary tables can viewed with the help of the system view 'sys.objects'.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT * FROM sys.objects where type='U'&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Transactions are also applicable on the Global temporary tables.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;Alter &amp;nbsp;procedure test_GTT&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;as&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;begin transaction&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;CREATE table ##employeedetails (id int identity(1,1), empFname nvarchar(100), empEname nvarchar(100), empdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;exec insert_GTT&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;rollback&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;select * from ##employeedetails&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;drop table ##employeedetails&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;If we execute the above procedure the it will give the following output.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-HzXTvVYufWg/TwhFbSz9g4I/AAAAAAAAA0U/ngyh0r6cILg/s1600/Transaction_GTE.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="97" src="http://2.bp.blogspot.com/-HzXTvVYufWg/TwhFbSz9g4I/AAAAAAAAA0U/ngyh0r6cILg/s400/Transaction_GTE.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Limitations:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can't use global temporary table inside a SQL Function.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can't create triggers on the temporary tables.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;We can create View on the temporary tables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=cZuwmVd--Gc:7vGrtxT6SoY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=cZuwmVd--Gc:7vGrtxT6SoY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/cZuwmVd--Gc" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T00:08:46.857+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-WtmXqisizVg/TwhEFljZrvI/AAAAAAAAA0M/D79EmtFUYEw/s72-c/GlobalTable_proc.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Dwarka, New Delhi, Delhi, India</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">28.635308 77.22496</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">28.4123265 76.909103 28.858289499999998 77.54081699999999</georss:box><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/sql-server-global-temporary-tables.html</feedburner:origLink></entry><entry><title type="text">How to remane a Table in Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/UzVPsxkWkiI/how-to-remane-table-in-sql-server.html" /><category term="How to remane a Table in Sql Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-03T09:43:07-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-7987247938674620613</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;To rename a column in a SQL Table following command can be reused:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;SP_RENAME &amp;nbsp;'old table name', 'New table name'&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;For example, if we want to rename the table from employee to employeemaster, following&amp;nbsp;command can be used.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;SP_RENAME&amp;nbsp;&amp;nbsp;'employee', 'employeemaster'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; font-family: Verdana, sans-serif;"&gt;This command will rename the table from employee to employeemaster.&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UzVPsxkWkiI:fJaK6PwkyfU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=UzVPsxkWkiI:fJaK6PwkyfU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/UzVPsxkWkiI" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T23:13:07.772+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2010/08/how-to-remane-table-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">How to change the database collation</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/v2UYno3gPZI/how-to-change-database-collation.html" /><category term="How to change the database collation" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-03T09:43:25-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-6064856333293581393</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;To change the collation of an database following commands can be used:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;[database name]&amp;nbsp;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&amp;nbsp;SINGLE_USER&amp;nbsp;&lt;span style="color: blue;"&gt;WITH&lt;/span&gt;&amp;nbsp;R&lt;span style="color: blue;"&gt;OLLBACK&amp;nbsp;&lt;/span&gt;IMMEDIATE&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;&amp;nbsp;[database name]&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;COLLATE&lt;/span&gt;&amp;nbsp;Newcollation&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;&amp;nbsp;[database name]&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&amp;nbsp;MULTI_USER&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: #222222;"&gt;For example , suppose if the name of your database is &lt;b&gt;learningdb &lt;/b&gt;and you want to change the collation to the collation&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #222222;"&gt;SQL_Latin1_General_CP1257_CI_&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/b&gt;&lt;span style="color: #222222;"&gt;&lt;b&gt;AS&lt;/b&gt;, then following&amp;nbsp;commands&amp;nbsp;can be used:-&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; text-align: -webkit-auto;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;
learningdb&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&amp;nbsp;SINGLE_USER&amp;nbsp;&lt;span style="color: blue;"&gt;WITH&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;ROLLBACK&lt;/span&gt;IMMEDIATE&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;
learningdb&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;COLLATE&lt;/span&gt;&amp;nbsp;SQL_Latin1_General_CP1257_CI_&lt;wbr&gt;&lt;/wbr&gt;AS&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: blue;"&gt;ALTER&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;DATABASE&lt;/span&gt;&amp;nbsp;
learningdb&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&amp;nbsp;MULTI_USER&lt;/span&gt;&lt;span style="font-family: arial, sans-serif;"&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: 'Courier New';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="font-family: arial, sans-serif;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=v2UYno3gPZI:56i8DC_n2bI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=v2UYno3gPZI:56i8DC_n2bI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/v2UYno3gPZI" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T23:13:25.137+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2012/01/how-to-change-database-collation.html</feedburner:origLink></entry><entry><title type="text">SQL Triggers - An Introduction</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/RYpcGkALtMs/sql-triggers-introduction.html" /><category term="Sql Server" /><category term="CodeProject" /><category term="SQLServerPediaSyndication" /><category term="Sql Triggers" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-28T20:51:13-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-6846065918997074914</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Introduction&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Triggers can be&amp;nbsp;defined as the database objects which perform some action for automatic execution whenever users try to do execute data modification commands (INSERT, DELETE and UPDATE) on the specified&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 115%;"&gt;tables&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;. Triggers are bound to &lt;span class="Apple-style-span" style="line-height: 18px;"&gt;specific&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;tables. As per &lt;b&gt;MSDN&lt;/b&gt;, triggers can be defined as the special kind of&amp;nbsp;stored procedures. Before describing the types of triggers, we should first understand the Magic tables which are&amp;nbsp;referenced in triggers and used for reuse.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Magic Tables&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; There are two tables Inserted and deleted in the SQL Server, which are popularly known as the Magic tables. These are not the physical tables but the SQL Server internal tables usually used with the triggers to&amp;nbsp;retrieve&amp;nbsp;the inserted, deleted or updated rows. These tables contain the information about inserted rows, deleted rows and the updated rows. This information can be summarized as follows:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;table border="1"&gt;&lt;tbody&gt;
&lt;tr&gt;  &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Action&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Inserted&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Deleted&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;
&lt;tr&gt;  &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Insert&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains all the inserted rows&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains no row&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;
&lt;tr&gt;  &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Delete&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains no rows&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains all the deleted rows&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;
&lt;tr&gt;  &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Update&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains rows after update&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table contains all the rows before update&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;Difference between Stored Procedure and Trigger&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1) We can execute a stored procedure whenever we want with the help of the exec command, but a trigger can only be executed whenever an event (insert, delete and update) is fired on the table on which the trigger is defined.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2) We can call a stored procedure from inside another stored procedure but we can't&amp;nbsp;directly&amp;nbsp;call another trigger within a trigger. We can only achieve nesting of triggers in which action (insert, delete and update) defined within a trigger can&amp;nbsp;initiate the execution of another trigger defined on the same table or different&amp;nbsp;table.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3) Stored procedures can be scheduled through a job to execute on a&amp;nbsp;predefined&amp;nbsp;time, but we can't schedule a trigger.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4) Stored procedure can take the input parameters, but we can't pass the parameters as an input to a trigger.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5) Stored procedures can return values but a trigger cannot return a value.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6) We can use the Print commands inside the stored procedure to debug purpose but we can't use the print command inside a trigger.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7) We can use the transaction statements like begin transaction, commit transaction and rollback inside a stored&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 18px;"&gt;procedure but&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;we can't use the transaction statements inside a trigger.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;8) We can call a stored procedure from front end (.asp files, .aspx files, .ascx files etc.) but we can't call a trigger from these files.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;DML Triggers&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Types of trigger&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;In SQL Server, there are two types of triggers which are given below:-&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;After Triggers&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Instead of Triggers&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In this article, we will use three tables named customer, customerTransaction and Custmail whose structure is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Create table customer (customerid int identity (1, 1) primary key,Custnumber nvarchar(100),&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;custFname nvarchar(100), CustEnamn nvarchar(100), email nvarchar(100), Amount int, regdate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Create table customerTransaction(Transactionid int identity(1,1)primary key,custid int,&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Transactionamt int, mode nvarchar, trandate datetime)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Create table Custmail (Custmailid int identity (1, 1) primary key, custid int, Amt int, Mailreason nvarchar(1000))&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;After Triggers:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;"After Triggers" are executed after the data modification action (Insert, Delete, Update) is executed on the respective tables. A table can have multiple triggers defined on it.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Syntax of the After trigger&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Trigger trigger_name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;On Table name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;For Insert/Delete/update&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;As&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; //SQL Statements&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example of After Trigger for Insert&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Suppose we have a requirement that whenever a new customer is added then automatically its corresponding value must be inserted into the table Custmail so that an email can be send to the customer and an authorized person in the Bank. To solve this problem we can create a After Insert trigger on the table customer whose syntax is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Trigger trig_custadd on Customer&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;For Insert&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;As&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @Custnumber as nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @amount as int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @custid as int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Select @Custnumber=Custnumber, @amount=Amount&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; From inserted&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Select @custid=customerid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; From customer&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Where Custnumber =@Custnumber&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Insert Into Custmail (custid,Amt,Mailreason)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Values (@custid,@amount,'New Customer')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This trigger will be fired, whenever a new Customer is added to the bank and the corresponding entry is inserted into the table Custmail. The mail functionality will use the entries from the table custmail to send the mail to the&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Customer&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example of After Trigger for Delete&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Suppose, there is an another requirement that whenever a customer is deleted from the system, a mail is send to the&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;customer&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;containing the notification about deletion.To sends the mail, we need to insert an entry of the&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;customer&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;in the table custmail, whenever a&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;customer&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;is deleted from the&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;master table customer. To achieve this we will use the after trigger for deletion. In the example given below, we will use the magic table Deleted.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;Create trigger trig_custdelete
on customer
for delete
as
begin
 Declare @Custnumber as nvarchar(100)
 Declare @custid as int
 select @Custnumber=Custnumber from deleted
 select @custid=customerid from customer where Custnumber =@Custnumber
 delete from customerTransaction where custid=@custid
   insert into Custmail 
   values(@custid,0,'Customer delete')

end&lt;/span&gt;

&lt;b&gt;Example of After Trigger for Update&lt;/b&gt;

Suppose, we have also a requirement that whenever a client credit his account or updated his name (first name as well as last name), a mail should be send to the customer containing this information. In this case, we can use the After trigger for update. In this example,we are going to use the Magic table Inserted.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;create trigger trig_Custupdate
on customer
for update
as
begin
  declare @Custnumber as nvarchar(100)
  declare @amount as int
  Declare @custid as int
  if update(amount)
    begin
        select @Custnumber=Custnumber, @amount=Amount from inserted
        select @custid=customerid from customer where Custnumber =@Custnumber
        insert into Custmail 
        values(@custid,@amount,'Customer Amount Update')
    end
  if update(custFname)or update(CustEnamn)
    begin
   insert into Custmail 
   values(@custid,0,'Customer Name Update')
    end
end&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In the above example, we used the Update function on the&amp;nbsp;columns&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;amount, custfname and custEname&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;which initiates the update trigger on modification of these columns.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Instead of Triggers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Instead of trigger is used when we want to perform another action instead of the action which causes the trigger to fire. Instead of trigger can be defined in case of Insert, Delete and Update. For example, suppose we have a condition that in a single transaction a user could not be able to debit more than $15000. We can use the&amp;nbsp;Instead&amp;nbsp;of trigger, to implement this constraint. If the user try to debit more than $15000 from his account at a time then error is raised with the message "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Cannot Withdraw more than 15000 at a time". In this example we use the magic table Inserted.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create trigger trigg_insteadofdelete&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;on customerTransaction&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;instead of insert&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;as&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; declare @Custnumber as nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; declare @amount as int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Declare @custid as int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Declare @mode as nvarchar(10)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select @custid=custid , @amount=Transactionamt,@mode=mode from&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; inserted&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;if @mode='c'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;update customer set amount=amount+@amount where&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;customerid=@custid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;insert into Custmail&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;values(@custid,@amount,'Customer Amount Update')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if @mode='d'&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if @amount&amp;lt;=15000&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp;&amp;nbsp;update customer set amount=amount-@amount&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;where&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;customerid=@custid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp;&amp;nbsp;insert into Custmail&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp;&amp;nbsp;values(@custid,@amount,'Customer Amount Update')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp; Raiserror ('Cannot Withdraw more than 15000 at a time',16,1)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp; rollback;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;DDL Triggers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;DDL Triggers has the similar&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 115%;"&gt;behavior&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;as the DML triggers to have except that they are fired in response to a DDL type event like Alter command, Drop command and Create commands. In other words, it will fire in response to the events which try to change the schema of the database. Therefore, these triggers are not created for a particular table, but they are applicable to all the tables on the database. Also DDL triggers can be fired only after the commands which make them fire is executed. They can be used for the following purposes:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1) To prevent any changes to the database Schema&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2) If we want to store the records of all the events, which change the database schema.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For example, suppose we want to create a table command_log which will store all the user commands for creating tables (Create table) and commands which alter the tables. Also we&amp;nbsp;don't&amp;nbsp;want any table to be dropped. Therefore if any drop table command is fired, a DDL trigger will rollback the command with a message that "You&amp;nbsp;can't drop a table".&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The script for the table &amp;nbsp;command_log will be given below:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TABLE Command_log(id INT identity(1,1), Commandtext NVARCHAR(1000), Commandpurpose nvarchar(50))&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;DDL Trigger for Create_table&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For storing the create table command in the table command_log , we first need to create a trigger which will be fired in response to the execution of the Create table command.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TRIGGER DDL_Createtable&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;ON database&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;FOR CREATE_Table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;AS&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PRINT '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table has been successfully created&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;.'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;insert into command_log ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Select EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/ CommandText ) [1] ','nvarchar(1000)')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This trigger will be fired whenever any command for the table creation is fired and will insert the command into the table&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;command_log and also print the message that "Table has been successfully created".&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Note:&amp;nbsp;&lt;/b&gt;&amp;nbsp;Eventdata() is a functions which returns information about the server or database events.It returns value of XML type. &lt;a href="http://msdn.microsoft.com/en-us/library/ms173781.aspx"&gt;Read more about Eventdata()&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;DDL Trigger for Alter_Table&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Suppose if we want to store the alter table commands also in the table&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;command_log&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;, we need to make a trigger for Alter_table command.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Trigger DDL_Altertable&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;On Database&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;for Alter_table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;as&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;declare @coomand as nvarchar(max)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print 'Table has been altered successfully'&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;insert into command_log(commandtext)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Select EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/ CommandText)[1]','nvarchar(1000)')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This trigger will be fired whenever any alter table command is fired on the database and will print the message "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Table has been altered successfully.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;"&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;DDL Trigger for Drop_Table&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;To stop the user from dropping any table in the database, we need to create a trigger for drop table command.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create TRIGGER DDL_DropTable&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;ON database&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;FOR Drop_table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;AS&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PRINT 'Table cannot be dropped.'&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;INSERT into command_log(commandtext)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Select EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/ CommandText)[1]','nvarchar(1000)')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Rollback;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This trigger will not allow any table to be dropped and also print the message the "Table cannot be dropped."&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Nested Triggers&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Nested Trigger: - In Sql Server, triggers are said to be nested when the action of one trigger initiates another trigger that may&amp;nbsp;be on the same table or on the different table.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For example, suppose there is a trigger t1 defined on the table tbl1 and there is another trigger t2 defined on the table tbl2, if the action of the trigger t1 initiates the trigger t2 then both the triggers are said to be nested. In SQL Server, triggers can be nested&amp;nbsp;up to&amp;nbsp;32 levels. If the action of nested triggers results&amp;nbsp;in an infinite&amp;nbsp;loop, then after the 32 level, the trigger terminates.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Since the triggers are executed within a transaction, therefore failure at any level of within nested triggers can cancel&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;the entire transaction, and it result in total rollback.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can also stop the execution of nested triggers through the following SQL Command:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;sp_CONFIGURE&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;'nested_triggers'&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;,&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;0&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; color: blue; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;RECONFIGURE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; color: blue; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Recursive triggers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; In SQL Server, we can have the recursive triggers where the action of a trigger can&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 115%;"&gt;initiate&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;itself again. In SQL Server, we have two types of recursion.&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Direct recursion&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Indirect recursion&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; In Direct recursion, action of a trigger initiates the trigger itself again which results in trigger calling itself recursively.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; In Indirect recursion, action on a trigger initiates another trigger and the execution of that trigger again calls the original trigger, and this happen recursively. Both the triggers can be on the same table or created on the different tables.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Please note: &lt;/b&gt;Recursive trigger can only be possible when the recursive trigger option is set.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Recursive trigger option can be set using the following SQL Command:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;ALTER DATABASE&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;databasename&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;SET&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;RECURSIVE_TRIGGERS&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;ON |&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;OFF&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;How to find the Triggers in a database&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1)&amp;nbsp;&lt;u&gt; Finding all the triggers defined on whole the database&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Suppose we want to get the list of all the triggers and their respective tables name then we can use the following SQL Statement.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="color: blue;"&gt;select o1.name, o2.name from sys.objects o1 inner join sys.objects o2 on &amp;nbsp;o1.parent_object_id=o2.object_id and o1.type_desc='sql_trigger'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-2IfxZi0pKW4/TpQaBsT2aXI/AAAAAAAAAsw/Xzv1mgWh3XM/s1600/AllDBTriggers.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-2IfxZi0pKW4/TpQaBsT2aXI/AAAAAAAAAsw/Xzv1mgWh3XM/s1600/AllDBTriggers.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2) &lt;u&gt;Finding all the triggers defined on a particular table&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;For example if we want to find out all the triggers created on the table Customer then we can use the following SQL Statement:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;sp_helptrigger Tablename&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;example:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;sp_helptrigger '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Customer'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-VPDf_g1K2pY/TpQdhDoW2iI/AAAAAAAAAs4/Mzeus4Hj3bM/s1600/table_trigger.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-VPDf_g1K2pY/TpQdhDoW2iI/AAAAAAAAAs4/Mzeus4Hj3bM/s1600/table_trigger.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3)&amp;nbsp;&lt;u&gt; Finding the definition of a trigger&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Suppose if we want to find out the definition of the trigger, we can use the following SQL Statement:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&lt;/b&gt;sp_helptext triggername&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For example:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;sp_helptext '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;trig_custadd'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Result&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-OooN6JaP44w/TpQdtg-7c4I/AAAAAAAAAtA/Bb8mv2dNoro/s1600/show_trigger.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-OooN6JaP44w/TpQdtg-7c4I/AAAAAAAAAtA/Bb8mv2dNoro/s640/show_trigger.PNG" width="427" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;How to Disable a trigger&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;





















&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;Disabling a DML trigger on a table&lt;/span&gt;&lt;/h3&gt;
&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;DISABLE TRIGGER '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; white-space: normal;"&gt;trig_custadd'&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; ON Customer;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold; white-space: normal;"&gt;Disabling a DDL trigger&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; DISABLE TRIGGER '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; white-space: normal;"&gt;DDL_Createtable'&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ON DATABASE;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold; white-space: normal;"&gt;Disabling all triggers that were defined with the same scope&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; white-space: normal;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt; DISABLE Trigger ALL ON ALL SERVER;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;b style="white-space: normal;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;How to enable a trigger&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold;"&gt;&amp;nbsp;Enabling a DML trigger on a table&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ENABLE Trigger '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; white-space: normal;"&gt;trig_custadd'&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; ON &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Customer&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; word-break: break-all; word-wrap: break-word;"&gt;&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;





















&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;Enabling a DDL trigger&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;




&lt;span class="Apple-style-span" style="color: blue; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal; white-space: pre;"&gt;ENABLE TRIGGER '&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"&gt;DDL_Createtable'&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal; white-space: pre;"&gt;ON DATABASE;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;




&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;Enabling all triggers that were defined with the same scope&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;












&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif; font-size: small; font-weight: normal; white-space: pre;"&gt;ENABLE Trigger ALL ON ALL SERVER;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="subHeading" style="white-space: normal;" xmlns="http://www.w3.org/1999/xhtml"&gt;












&lt;b style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;How to drop a trigger.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold;"&gt;Dropping a DML trigger&lt;/span&gt;&lt;br /&gt;
&lt;h3 class="subHeading" xmlns="http://www.w3.org/1999/xhtml"&gt;






               &lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; white-space: pre;"&gt;DROP TRIGGER &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;trig_custadd&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal; white-space: pre;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;h3 class="subHeading" xmlns="http://www.w3.org/1999/xhtml"&gt;






               &lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;Dropping a DDL trigger&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="subHeading" xmlns="http://www.w3.org/1999/xhtml"&gt;






               &lt;span class="Apple-style-span" style="color: blue; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; white-space: pre;"&gt;DROP TRIGGER &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"&gt;DDL_Createtable&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal; white-space: pre;"&gt;ON DATABASE;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Real life example&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Some weeks ago one of my friends gets a task which needs to be completed on a very old written code. The task includes that a mail should be sent to the user in the following cases:&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. The user is added to the system.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2. Whenever any information regarding the user is updated or deleted or added.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3. A user is deleted.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;The&amp;nbsp;challenges in this task&amp;nbsp;&lt;span class="context_menu blackClass" id="ws1093" next="ws1102" originalword="include:-" prev="ws1083" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="phrase_anchor"&gt;include&lt;/span&gt;&lt;/span&gt;:-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. The code is very old and unstructured. Therefore, it has many inline queries written on the various .aspx pages.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2. Queries for the insert, delete and update is also written in many stored procedures.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;So the code doesn't have a common library function or a standard stored procedure which is used throughout the application which can be used to insert, update and delete a user, which&amp;nbsp;is&amp;nbsp;not a good practice. But it happen sometimes with the old code. The required queries are written on many .aspx pages and stored procedures.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Possible solutions:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 20px;"&gt;To complete this task, we need to insert an entry into the table tblmail with proper flags indicating the insert, delete and update. A scheduled application built in .net application will read the rows from the table tblmail and send the mails.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Two approaches to insert the rows:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. Find all the places in the .aspx files and the stored procedures where the queries for the&amp;nbsp;insert, delete and update and after these queries, add the insert query for&amp;nbsp;the table tblmail.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2. Instead of finding these queries in all the .axps files and stored procedures, create after (insert, update and delete) trigger on the user master table will insert the date in the table tblmail after the execution of the insert, update and delete statement.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;We used the second approach because of the following 4 reasons:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1) It is very difficult to search so many .aspx files and stored procedures to find the&amp;nbsp;required queries.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2) It has the risk that a new developer may not know about this requirement of sending mail and forget to add the code for inserting the values in the table tblmail.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3) If we need to change anything in the requirement, it has to be changed in all these files and stored procedures.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;4) With the second approach, we only need to create triggers on the table and the developer, and it will also&amp;nbsp;minimize the risk mention in the three 3 points mention above.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Advantages of SQL Triggers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;1) It helps in maintaining the&amp;nbsp;integrity&amp;nbsp;constraints in the database tables,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 115%;"&gt;especially&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;when the primary key and foreign key constrain are not defined.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;2) It sometimes also helps in keeping the&amp;nbsp;SQL codes short and simple as I show in the real-life&amp;nbsp;example.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3) It helps in&amp;nbsp;maintaining&amp;nbsp;the track of all the changes (update, deletion and insertion) occurs in the tables through inserting the changes values in the audits tables.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4) Sometimes if the code is not well managed, then it can help in maintaining the database constraints defined on the tables on which the trigger is defined. For example, suppose if have a situation that there is an online learning system in which a user can register in the multiple course.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Suppose the organization wants to define a constraint is defined that a user cannot be deleted&amp;nbsp;until&amp;nbsp;he/she passed all the course in which he is registered or the user has to first himself from all the&amp;nbsp;incomplete&amp;nbsp;or failed courses.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Since the code is not well managed and the code to delete the user is defined as the inline query in many .net pages and multiple stored procedures (this is not a good thing, but it happens), one has to write the code for enforcing this constraint in to all these .net files and stored procedures, which take so much time and also if the new developer does not this&amp;nbsp;constraint and forgets to include the constrain enforcing code which corrupt the database.&amp;nbsp;In this&amp;nbsp;case, we can defines an instead&amp;nbsp;of trigger on the&amp;nbsp;table which checks&amp;nbsp;every time a user is deleted and if the condition of the above constraint is not met, display the error message&amp;nbsp;instead&amp;nbsp;of&amp;nbsp;&amp;nbsp;deleting user.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Disadvantages of Triggers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1) Hard to maintain since this may be a possibility that the new developer doesn't able to know about the trigger defined in the database and wonder how data is inserted, deleted or updated automatically.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2) They are hard to debug since they are difficult to view as compared to stored procedures, views, functions, etc.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3) Excessive or over use of triggers can slow down the performance of the application since if we defined the triggers in many tables then they kept automatically executing every time data is inserted, deleted or updated in the tables (based on the trigger's definition) and it makes the processing very slow.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;4) If complex code is written in the triggers, then it will slow down the performance of the applications.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;5) The cost of creation of triggers can be more on the tables on which frequency of DML (insert, delete and update) &amp;nbsp;operation like bulk insert is high.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 115%;"&gt;Trigger is bad or good depends upon its use and its proper documentation. It can be very&amp;nbsp;useful&amp;nbsp;when it is used to&amp;nbsp;maintain the&amp;nbsp;integrity&amp;nbsp;constraints in the database tables in the&amp;nbsp;absence of primary key and foreign key, or it is very useful for the auditing purpose in tracking all the changes. But,&amp;nbsp;if it is used extensively, it can reduce the performance. Also to maintain it and making&amp;nbsp;debugging simple, proper documentation of the Triggers is&amp;nbsp;necessary, which records the trigger name, table name on which it is created, its definition and its purpose. &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=RYpcGkALtMs:ETm3snE1C2Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=RYpcGkALtMs:ETm3snE1C2Y:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/RYpcGkALtMs" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T10:21:13.730+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-2IfxZi0pKW4/TpQaBsT2aXI/AAAAAAAAAsw/Xzv1mgWh3XM/s72-c/AllDBTriggers.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">21</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Noida, Delhi, India</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">28.58 77.33</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">28.566056 77.310259 28.593943999999997 77.349741</georss:box><feedburner:origLink>http://vivekjohari.blogspot.com/2011/11/sql-triggers-introduction.html</feedburner:origLink></entry><entry><title type="text">SQL Server Functions- An Introduction</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/-OEfFneQTQM/sql-server-functions-introduction.html" /><category term="SQL Functions" /><category term="CodeProject" /><category term="SQLServerPediaSyndication" /><category term="User defined functions in SQL" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2012-01-28T20:51:37-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-2954161391845759235</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;SQL FUNCTION: -&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Function in a database can be defined as the code segment consisting of a logical group of SQL statements which takes some input arguments (if required), run in a sequential order and returns the output either in the form of a single value or in the form of a table.Through this article, I am trying to give the overview of the System defined functions,User defined functions, their advantages, their disadvantages and their&amp;nbsp;differences with the Stored procedures.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Types of Functions: -&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In SQL, Functions can be categorized into two categories:-&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;System Defined Function&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;User Defined F&lt;/span&gt;unction (UDF)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In this article, I am going to use the following tables for the examples:-&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TABLE [dbo]. [Employee](&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[Empid] [Int] IDENTITY (1, 1) NOT NULL Primary key,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[EmpNumber] [nvarchar](50) NOT NULL,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[EmpFirstName] [nvarchar](150) NOT NULL,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[EmpLAStName] [nvarchar](150) NULL,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[EmpEmail] [nvarchar](150) NULL,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[Managerid] [int] NULL&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TABLE [dbo].[Department](&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[Departmentid] [int] IDENTITY (1, 1) NOT NULL primary key,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;[DepartmentName] [nvarchar](255) NOT NULL&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE TABLE [dbo].[EmpdepartmentInfo]&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Empdepartmentid int identity(1,1) primary key,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Empid int not null,&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;departmentid int not null&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SQL scripts for entering the data into the table Employee:-&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A001','Samir','Singh','samir@abc.com',2)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A002','Amit','Kumar','amit@abc.com',1)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A003','Neha','Sharma','neha@abc.com',1)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A004','Vivek','Kumar','vivek@abc.com',1)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A005',' AvinASh', 'Dubey','avinASh@abc.com',2)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A006',' Sanjay','Kumar',' sanjay@abc.com',5)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A007','Rajiv','Kumar','rajiv@abc.com',5)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Employee (EmpNumber,EmpFirstName,EmpLAStName,EmpEmail,Managerid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('A008','Manish','Kumar','manish@abc.com',6)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SQL scripts for entering the data into the table Department:-&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Department(DepartmentName)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('Testing')&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Department(DepartmentName)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('Admin')&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Department(DepartmentName)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('HR')&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into Department(DepartmentName)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values('Technology')&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;SQL scripts for entering the data into the table EmpdepartmentInfo&lt;/b&gt;:-&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(1,1)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(2,2)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(3,3)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(4,4)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Values(4,5)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(5,1)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(6,2)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(7,3)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Insert Into [EmpdepartmentInfo](empid, departmentid)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Values(8,4)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;System defined&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;function&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;can again be further divided into further subsections which are given below:-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;1. &lt;b&gt;Aggregate&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example: - Avg (), Min (), Max ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;2. &lt;b&gt;Configuration&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example:-@@servername (), @@version()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;3. &lt;b&gt;Cursor&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example: -@@Fetch_status&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;4. &lt;b&gt;Date and Time&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example: - Getdate (), Month (), Day (), Year ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;5. &lt;b&gt;Mathematical&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example: - Floor (), Abs ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;6. &lt;b&gt;Metadata&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example: - Db_Name (), File_Name ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;7. &lt;b&gt;Other&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;functions&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example: - cast (), convert ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;8. &lt;b&gt;Rowset&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example: - Openxml (), Openrowset ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;9. &lt;b&gt;Security&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example:-user(), User_Id (), User_Name ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;10. &lt;b&gt;String&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example: - Char (), Left (), Len ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;11. &lt;b&gt;System Statistical&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;function&lt;span class="Apple-style-span"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Example:-@@connections&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;12. &lt;b&gt;Text and Image&amp;nbsp;function&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example: - Textvalid ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Types of UDF:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Similarly, UDF can be divided Into 3 categories:-&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Scalar UDF&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Inline Table UDF&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Multi statements UDF&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Scalar UDF:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The UDFs which only returns only single values comes into this category.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Syntax for creating Scalar UDFs:-&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;CREATE FUNCTION (FUNCTION name)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(Input Variable name) (data type)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Returns (returning variable data type)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(FUNCTION body)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Return (returning variable name)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Example&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE FUNCTION fn_getempname&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;@empid Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;RETURNS nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;DECLARE @empname AS Nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT @empname=empfirstname + ' ' + emplAStname&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;FROM &amp;nbsp;employee&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;WHERE empid=@empid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;RETURN @empname&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Syntax for executing the Scalar UDF&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SELECT dbo. (FUNCTION name) (input variable name)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For example, to execute the above UDF we use the following syntax:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;SELECT DBO.[fn_getempname](1)&lt;/span&gt; &lt;span class="Apple-style-span" style="color: lime;"&gt;/* Here 1 is the empid*/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;or&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;SELECT DBO.[fn_getempname](1) AS EmployeeName&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;/*To get the output under the column EmployeeName */&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If we want to store the value of this FUNCTION in an variable the we have to use the following syntax:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;DECLARE @name AS nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT @name =dbo.[fn_getempname](1)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT @name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;Here we first needs to define a variable (@name) which will be going to store the value return by the&amp;nbsp;&lt;/span&gt;function&amp;nbsp;&lt;span class="Apple-style-span"&gt;and then used this variable in the SELECT statement to store the value.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Result&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;EmployeeName&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Samir Singh&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Explanation&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;This&amp;nbsp;&lt;/span&gt;function&amp;nbsp;&lt;span class="Apple-style-span"&gt;will return the name of the employee whose empid we passed in the&amp;nbsp;&lt;/span&gt;function&amp;nbsp;&lt;span class="Apple-style-span"&gt;as the Input parameter.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Inline Table UDF:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The UDF which contains a single inline SQL statement and returns the data in the form of table is called Inline Table UDF.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Syntax for creating Inline Table UDF:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;CREATE FUNCTION (FUNCTION name)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(Input Variable name) (data type)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Returns Table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Return (SELECT statement)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Example:-&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Create Function fn_getempinfo&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;@empid Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Returns Table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;As&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Return Select empid,empnumber,empfirstname,emplastname,empemail&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;From employee&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Where empid=@empid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Syntax for executing the Inline Table UDFs&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Select (columns names) from dbo. (Function name) (Input Parameter)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT empid,empnumber,empfirstname,emplastname,empemail&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;FROM dbo.[fn_getempinfo](1)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Result&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Empid &amp;nbsp;Empnumber &amp;nbsp;Empfirstname Emplastname &amp;nbsp; Empemail&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Samir &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Singh &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; samir@abc.com&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This FUNCTION will return the columns empid, empnumber, empfirstname, emplAStname, empemail of the employee AS a table variable whose employeeid is given AS the input parameter to the FUNCTION.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Multi statements UDF: -&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The UDFs which contain multiple SQL statements to returns the data in the form of table is called Multi Statements UDFs.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Syntax for creating Multi Statements UDFs: -&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Create Function &lt;function name=""&gt;&lt;/function&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(Input Variable name) (data type)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Returns (table variable) Table (table columns)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;As&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(Function body)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Return&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;End&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE FUNCTION fn_GetEmpdepartmentinfo&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;@empid Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Returns @Empproject Table&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Employeename Nvarchar(100),Empemail Nvarchar(50),Departmentname Nvarchar(100)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Insert Into @Empproject(Employeename,Empemail,Departmentname)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;SELECT empfirstname + ' '+ emplAStname ,empemail,departmentname&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; FROM employee Inner Join EmpdepartmentInfo On employee.empid=EmpdepartmentInfo.empid&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Inner join Department On EmpdepartmentInfo.departmentid=Department.departmentid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;WHERE employee.empid=@empid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;RETURN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Syntax for executing the Multi Statements UDF&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Select (columns names) from dbo. (Function name) (Input Parameter)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;SELECT Employeename,Empemail,Departmentname&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;FROM dbo.[fn_GetEmpdepartmentinfo](1)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Result&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Employeename &amp;nbsp; &amp;nbsp; Empemail &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Departmentname&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Samir Singh &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;samir@abc.com &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Accounts&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This function will returns the Employeename,Empemail,Departmentname of the employee whose empid we pass as the input parameter to the function.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Difference between UDFs and Stored Procedures:-&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;A stored procedure can return a value or it may not return any value but in case of function, a function has to return a value.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Stored procedure in SQL Server cannot we executed within the DML statement. It has to be executed with the help of EXEC or EXECUTE keyword but a function can be executed within the DML statement.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;A function can be called from within the Stored Procedure but a stored procedure cannot be called from within a function.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can use result set return by the function as a table in Join statements but we can't use ResultSet return from stored procedure as table in Join statements.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Transaction management is not possible in function but it is possible in Stored procedures.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Print function cannot be called within the function but it can be called within the stored procedure.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Advantages of UDF:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. SQL Functions can be used in a DML statement. It means we can use execute the FUNCTION within the SELECT statement.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. We can use the recursive FUNCTION to get the hierarchical information.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For example, if we want to get the all the employee which are directly or indirectly have the manager whose empid is given AS the input parameter(@managerid), then we can use the following FUNCTION which calls itself.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CREATE FUNCTION fn_recuursivesample&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;@managerid int,&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;@mode int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Returns @temporder table(employeeid int , managerid int)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;DECLARE @count AS int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;DECLARE @empid AS int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;DECLARE @next_empid AS int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;DECLARE @next_orderid AS int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;IF @mode=0&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; INSERT Into @temporder&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; SELECT @managerid,(SELECT managerid FROM employee WHERE empid=@managerid)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;SELECT @count=count(empid)FROM employee WHERE managerid=@managerid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;IF @count=1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; SELECT @empid=empid FROM employee WHERE managerid=@managerid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; INSERT Into @temporder Values(@empid,@managerid)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;&lt;span class="Apple-style-span"&gt;Into @temporder SELECT * FROM dbo.fn_recuursivesample(@empid,1)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;ELSE IF @count&amp;gt;1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;SELECT @empid=min(empid)FROM employee WHERE managerid=@managerid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;WHILE @empid&amp;gt;0&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Insert Into @temporder Values(@empid,@managerid)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Insert Into @temporder&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT * FROM dbo.fn_recuursivesample(@empid,1)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT @next_empid=isnull(min(empid),0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM employee&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WHERE empid &amp;gt;@empid and managerid=@managerid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SET @empid=@next_empid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;RETURN&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Syntax to execute the above function&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SELECT employeeid, managerid FROM dbo. fn_recuursivesample(1,0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Result:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Employeeid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Managerid&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;1 &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;0&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2 &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;1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;5 &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;2&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;6 &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;5&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;8 &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;6&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;7 &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;5&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;3 &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;1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;4 &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;4&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. We can use the Function in the Join queries.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. We can used UDFs as the parametrized view(a view which take input parameters).&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5. UDFs also reduce the compilation cost of SQL codes by caching the plans and reusing them for repeated executions which mean it does not need to be&amp;nbsp;re-parsed&amp;nbsp;and recompiled with each use and it result in better execution time.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6. We can use the WHERE clause to filter the rows as per our needs FROM the result set return by the Function. For example, in the above function fn_recuursivesample, if we want to get the empid of only those employee which are directly under the employee whose empid is given AS the input parameter, the we can use the "WHERE" clause to filter the dataset return by the function.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SELECT employeeid, managerid FROM dbo. fn_recuursivesample(1,0) WHERE managerid=1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;It will give the following result:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Employeeid &amp;nbsp; Managerid&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7. UDFs can be used to divide the complex code into shorter and simple blocks of code which helps in maintenance of the code.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Disadvantages of the UDF&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We cannot use temporary tables inside the UDF.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We cannot use Print command inside the UDF.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can't use the Insert, update and delete command inside the function. We can only use these commands on the table variable defined inside the function.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We cannot use the try catch statement inside the function for the debugging purpose which makes it difficult to debug.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can't use transaction inside the function.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can't call the stored procedure from inside the function.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can't return multiple record sets from a function as we can do in case of Stored Procedure.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can't use Getdate() function &amp;nbsp;within a UDF.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Conclusions&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&amp;nbsp; &amp;nbsp; Functions are the feature which is given by the SQL Server to make our complex code shorter and less complex. We can either use the&amp;nbsp;&lt;/span&gt;Functions&amp;nbsp;&lt;span class="Apple-style-span"&gt;which are already provided by the SQL Server known as the System defined&amp;nbsp;&lt;/span&gt;Function&amp;nbsp;&lt;span class="Apple-style-span"&gt;such as Avg (), Min (), Max () or we can write our own UDF. If we want to get only a scalar value as result, we can create Scalar UDFs or if we want to get a ResultSet, then we can create Inline Table UDFs or Multi statements UDFs. We can also used&amp;nbsp;&lt;/span&gt;Functions&amp;nbsp;&lt;span class="Apple-style-span"&gt;in the SELECT statement and in join statements. But while creating the UDFs we should also keeps in our mind that no DML(Insert, Update, Delete) statement can be performed inside the UDF. Also we can't use temporary table inside the&amp;nbsp;&lt;/span&gt;Function&lt;span class="Apple-style-span"&gt;. Also we can't use transaction management inside the UDF.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=-OEfFneQTQM:1F_uSwYIYvI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=-OEfFneQTQM:1F_uSwYIYvI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/-OEfFneQTQM" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T10:21:37.751+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2011/08/sql-server-functions-introduction.html</feedburner:origLink></entry><entry><title type="text">Cursor in sql server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/AE_BcoLHZK8/cursor-in-sql-server.html" /><category term="Sql Server" /><category term="CodeProject" /><category term="Cursor in sql server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2011-11-15T01:59:04-08:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-8924752157017598345</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Sometimes our application required a database object which&amp;nbsp;allows manipulation&amp;nbsp;of data from a set of rows on row by row basic which means single row at a time. Cursor is the database object which solves this problem. With the use of cursor, we can fetch a sets of rows based on some conditions and&amp;nbsp;manipulate&amp;nbsp;the data of a single row at a time.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Section of the cursor:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;The Cursor is consists of the following sections:-&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Declaration of Cursor:-&lt;/b&gt; This section is used to declare the cursor object&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Sql Statement for fetching the records:-&lt;/b&gt; This section is used to define the SQL query used for fetching the&amp;nbsp;record set&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Open Cursor:-&lt;/b&gt; This section is used to Open the Cursor. Also this statement allocates the memory to the cursor to hold the&amp;nbsp;record set&amp;nbsp;return by the execution of the Sql Statement.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Fetch statement:-&lt;/b&gt; This section is used to fetch a single row from the record set get by the execution of the Sql Query and assigning the values to the respective variable.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;@@Fetch_status:-&lt;/b&gt; This is the System variable and it is used to know that whether the Fetch statement is returning rows or not. This system variable returns the value of &lt;b&gt;0 &lt;/b&gt;if the Fetch&amp;nbsp;statement&amp;nbsp;is successful,&lt;b&gt; -1&lt;/b&gt; if the Fetch statement is failed and &lt;b&gt;-2&lt;/b&gt; if the row fetched is missing. While loop is used compare the value of the @@Fetch_status with the 0.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Begin......End:-&lt;/b&gt; This section is used to write the Sql code used inside the Cursor to manipulates the data of the rows fetch by the Fetch Statement&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Close Cursor:-&lt;/b&gt; This statement is used to close the cursor.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Deallocate Cursor:-&lt;/b&gt; This section is used to deallocated the memory used by the cursor.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Syntax for defining the Cursor:-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Declare @Cursor_name cursor For&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Sql query &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Select&amp;nbsp;statement to Fetch rows&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Open&amp;nbsp;@Cursor_name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Fetch next from @Cursor_name &amp;nbsp;into {@Variable1,@variable2 etc)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; While (@@fetch_status=0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Sql Block &amp;nbsp;sql statements to process the data of the row return by the cursor.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Fetch next from @Cursor_name &amp;nbsp;into {@Variable1,@variable2 etc)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Close&amp;nbsp;@Cursor_name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Deallocate&amp;nbsp;@Cursor_name&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Example:-&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Suppose we have two tables named&amp;nbsp;customer and&amp;nbsp;customerTransaction whose structure is given below:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Table customer(customerid int identity(1,1) primary key,Custnumber nvarchar(100),custFname nvarchar(100), CustEnamn nvarchar(100),email nvarchar(100),Amount int, regdate datetime)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Table customerTransaction(Transactionid int identity(1,1) primary key,custid int, Transactionamt int,mode nvarchar, trandate datetime)&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Customer table contains the customer information and the table&amp;nbsp;customerTransaction&amp;nbsp;contains the information about the transactions (credit or debit) done by the customer. Whenever any transaction occur, it entry should also be inserted into the table&amp;nbsp;customerTransaction.&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Suppose we have an requirement that all the customer amount should be increased by 20% and this transaction entry should be made into the table&amp;nbsp;customerTransaction, then we can use the cursor for this purpose. Cursor is used mostly within the stored procedures or the SQL function. In our example we used the cursor inside the stored procedure named&amp;nbsp;Updatecustamount whose Sql Script is given below:-&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Create Procedure Updatecustamount&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; As&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Declare @custid as Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Declare @amount as Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Declare @addamt as Int&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;Declare cur_cust Cursor For&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Select customerid,amount&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;From customer&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;OPEN Cur_cust&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; FETCH Next From cur_cust Into @custid,@amount&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp;While(@@fetch_status=0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; Begin&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Set @addamt=(20*@amount)/100&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Update customer set amount=amount+@addamt where customerid=@custid&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; Insert into &amp;nbsp;customerTransaction(custid,Transactionamt,mode,trandate )&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Values(@custid,@addamt,'c',Getdate())&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Fetch Next From cur_cust Into @custid,@amount&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&amp;nbsp; End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;CLOSE cur_cust&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;DEALLOCATE cur_cust&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;End&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Summary:-&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We can say that cursor is a very useful database object if we needs to manipulates the rows on a row by row basic. But there are two camps, one which oppose the use of cursor since it sometimes slow down the performance by occupying a lot of memory to hold the rows return by the query and the other camp which advocates the use of cursor since it gives the readability and&amp;nbsp;simplicity&amp;nbsp;to our code. We can replace the cursor with the help of the While loop or sometimes with the help of the Select case statements.One can also used the cursor if the need is to execute the Sql statements in a serialized manner.Also we can use the cursor for doing many&amp;nbsp;Administrative tasks.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=AE_BcoLHZK8:EO8Xc8CIj-A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=AE_BcoLHZK8:EO8Xc8CIj-A:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/AE_BcoLHZK8" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T15:29:04.455+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2011/07/cursor-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">ACID Rules in Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/gM2_-j8Ms8Q/acid-rules-in-sql-server.html" /><category term="Sql Server" /><category term="Acid Rules" /><category term="Acid Property in Sql Server" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2011-05-28T10:58:59-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-3977448479759962305</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;ACID Rules&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;ACID Rules:-&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;&amp;nbsp;It is a concept for evaluation of databases and their architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;A:- (Atomicity) –&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt; Atomicity&amp;nbsp; states the principle of&amp;nbsp; All or none. This means that either all the SQL Statements within the transaction will be executed or no Sql statement will be executed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;C:- Consistency:-&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt; Consistency states that only valid data will be written into the database. That means if any Sql transaction violets the rules or constraints define on the database to make it consistent, then all the statements within the transaction will be Rollback. Or in other words the whole transaction will be rolled back.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;I:- Isolation :-&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt; The Isolation state that if multiple transaction try to work on the database at the same time,then these transaction will not interfere with each other. It means the second transaction will not work unless and until the previous transaction completes its work and the work is commited.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;D:- Durability:-&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt; Durability states that once the transaction is committed, then the database should not be lost in case of Software failures or hardware failures. Durability is maintained with the help of the&amp;nbsp; database backups and transaction logs.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=gM2_-j8Ms8Q:Y_zi7kmdff4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=gM2_-j8Ms8Q:Y_zi7kmdff4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/gM2_-j8Ms8Q" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-28T23:28:59.299+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2011/05/acid-rules-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">DML, DDL, DCL, TCL  in  SQL Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/hBI9PMO2i1o/dml-ddl-dcl-tcl-in-sql-server.html" /><category term="DCL" /><category term="TCL" /><category term="DDL" /><category term="DML" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2011-05-28T10:54:18-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-1389774002354338633</id><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="MsoBodyText" style="margin-left: 35.45pt; text-align: justify; text-indent: -35.45pt;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;Different Types of Sql Statements:-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="margin-left: 35.45pt; text-align: justify; text-indent: -35.45pt;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;DML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;DML is abbreviation of &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal; mso-bidi-font-weight: bold;"&gt;Data Manipulation Language&lt;/span&gt;&lt;/strong&gt;. It is used to retrieve, store, modify, delete, insert and update data in database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Examples: SELECT, UPDATE, INSERT statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Select :- &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;This Sql Statement is used to extract the data from one or combination of tables&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Update:- &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;This Sql Statement is used to update the data in a database table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Delete:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to delete data from the database table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Insert Into :-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to insert data into a database(table)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;DDL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;DDL is abbreviation of &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal; mso-bidi-font-weight: bold;"&gt;Data Definition Language&lt;/span&gt;&lt;/strong&gt;. It is used to create and modify the structure of database objects in database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Examples: CREATE, ALTER, DROP statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Create Table:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statements is used to create a Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Alter Table:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to Alter the table definition like adding any columns or deleting any table column.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Drop table:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to Drop the table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Create Index:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to Create a Index on a table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt; mso-bidi-font-weight: bold;"&gt;Drop Index:-&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt; This Sql Statement is used to drop a table from the table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;DCL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;DCL is abbreviation of &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal; mso-bidi-font-weight: bold;"&gt;Data Control Language&lt;/span&gt;&lt;/strong&gt;. It is used to create roles, permissions, and referential integrity as well it is used to control access to database by securing it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Examples: GRANT, REVOKE statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Grant :- This Sql Statement is used to give access rights to the user for the database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Revoke:- This Sql Statement is used to revoke or delete the access rights of some of the users for a given database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;TCL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana; font-size: 11.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;TCL is abbreviation of &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal; mso-bidi-font-weight: bold;"&gt;Transactional Control Language&lt;/span&gt;&lt;/strong&gt;. It is used to manage different transactions occurring within a database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Examples: COMMIT, ROLLBACK statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Commit:- This command is used to save the work done by the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style="font-family: Verdana; font-size: 10.0pt;"&gt;Rollback:-&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;This command is used to delete the data till the last committed state of the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoBodyText" style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=hBI9PMO2i1o:abycDNuGpr0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=hBI9PMO2i1o:abycDNuGpr0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/hBI9PMO2i1o" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-28T23:24:18.680+05:30</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2011/05/dml-ddl-dcl-tcl-in-sql-server.html</feedburner:origLink></entry><entry><title type="text">Renaming a column in Sql Server</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechnologyWithVivekJohari/~3/-z1ItykTJBg/renaming-column-in-sql-server.html" /><category term="Sql Server" /><category term="Renaming a column" /><author><name>Vivek Johari</name><email>noreply@blogger.com</email><uri>https://plus.google.com/111817374823336494575</uri></author><updated>2010-09-05T20:24:54-07:00</updated><id>tag:blogger.com,1999:blog-2007575913516513302.post-513378494136827530</id><content type="html">&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;We often need to change the name of a column of a table to a new name. We &amp;nbsp;can do this with&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: small;"&gt;the help of the &lt;b&gt;Exec Sp_rename&lt;/b&gt; command.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;u&gt;The Syntax of the Sp_rename is given below:-&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;Exec sp_rename 'TableName.[OldColumnName]', '[NewColumnName]', 'Column'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: small;"&gt;&amp;nbsp;For example, suppose we have a table called Employee who has the following structure:-&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;CREATE TABLE Employee (Emplyeeid int identity(1,1),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Empnumber nvarchar(10),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Firstname nvarchar(150),&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Lastname nvarchar(150),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Age int,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Phoneno nvarchar(15),&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Address nvarchar(200),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&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;Empdate datetime)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Now suppose we insert the following data into the table Employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Insert into Employee values('VIV123', 'Vivek', 'Johari', 27, '9211134', 'Delhi', getdate())&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If we&amp;nbsp;execute&amp;nbsp;the &lt;b&gt;Select &lt;/b&gt;command into the table Employee, we get the following result:-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8iWtCcGgcH8/THqW0aF4yyI/AAAAAAAAAn0/rmHSB4L1eGo/s1600/renaming+column+img1.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="47" src="http://2.bp.blogspot.com/_8iWtCcGgcH8/THqW0aF4yyI/AAAAAAAAAn0/rmHSB4L1eGo/s400/renaming+column+img1.PNG" width="400" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Suppose now &amp;nbsp;we want to change the column name Firstname to Fname the we use the given query:-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana,sans-serif; font-size: small;"&gt;Exec Sp_rename 'Employee.Firstname', 'Fname', 'column'&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If we again&amp;nbsp;execute&amp;nbsp;the &lt;b&gt;Select &lt;/b&gt;command into the table Employee, we get the following result:-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8iWtCcGgcH8/THqqV85lE8I/AAAAAAAAAn8/DiQtF-01qks/s1600/renaming+column+img2.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="47" src="http://1.bp.blogspot.com/_8iWtCcGgcH8/THqqV85lE8I/AAAAAAAAAn8/DiQtF-01qks/s400/renaming+column+img2.PNG" width="400" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Here the column name "Firstname" changed to the column "Fnamn".&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=-z1ItykTJBg:bUA1v_RsTMc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?a=-z1ItykTJBg:bUA1v_RsTMc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechnologyWithVivekJohari?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechnologyWithVivekJohari/~4/-z1ItykTJBg" height="1" width="1"/&gt;</content><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-06T08:54:54.404+05:30</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_8iWtCcGgcH8/THqW0aF4yyI/AAAAAAAAAn0/rmHSB4L1eGo/s72-c/renaming+column+img1.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://vivekjohari.blogspot.com/2010/09/renaming-column-in-sql-server.html</feedburner:origLink></entry></feed>
