<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Structured Query Language</title><link>http://sqlserver-guide.blogspot.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/StructuredQueryLanguage" /><description>SQL is a standard interactive and programming language for querying and modifying data and managing databases</description><language>en</language><managingEditor>noreply@blogger.com (Murali)</managingEditor><lastBuildDate>Sat, 14 Jan 2012 06:10:01 PST</lastBuildDate><generator>Blogger</generator><atom:id xmlns:atom="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-1799474711497514132</atom:id><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">110</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><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/StructuredQueryLanguage" /><feedburner:info uri="structuredquerylanguage" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Education/Language Courses</media:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:subtitle>SQL is a standard interactive and programming language for querying and modifying data and managing databases</itunes:subtitle><itunes:category text="Education"><itunes:category text="Language Courses" /></itunes:category><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><feedburner:emailServiceId>StructuredQueryLanguage</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Integration Services</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/1YRQaDBkhpY/integration-services.html</link><category>Integration Services</category><author>noreply@blogger.com (Murali)</author><pubDate>Fri, 21 Jan 2011 20:36:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-2670983002031862736</guid><description>SQL Server Integration Services (SSIS) is Microsoft’s new enterprise class data Extract, Transform, and Load (ETL) tool. SSIS is a completely new product built from the ashes of SQL Server 2000’s Data Transformation Services (DTS). SSIS offers a much richer feature set and the ability to create much more powerful and flexible data transformations than its predecessor. &lt;br /&gt;
&lt;br /&gt;
This huge improvement, however, is not without a cost. SSIS is a fairly complex tool and offers a completely different design paradigm than DTS. Database administrators adept at the former tool are very often intimidated and frustrated by the new SSIS. Their biggest mistake is in thinking that Integration Services would just be an upgrade of Data Transformation Services.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-2670983002031862736?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=1YRQaDBkhpY:GWXD2PToQZA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=1YRQaDBkhpY:GWXD2PToQZA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=1YRQaDBkhpY:GWXD2PToQZA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=1YRQaDBkhpY:GWXD2PToQZA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=1YRQaDBkhpY:GWXD2PToQZA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=1YRQaDBkhpY:GWXD2PToQZA:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/1YRQaDBkhpY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-02-16T08:58:37.493-08:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2011/01/integration-services.html</feedburner:origLink></item><item><title>Reporting Services</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/MQ-151ndZaY/reporting-services.html</link><category>Reporting Services</category><author>noreply@blogger.com (Murali)</author><pubDate>Fri, 21 Jan 2011 20:35:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-878297166920096230</guid><description>Reporting Services is a Web service–based solution for designing, deploying, and managing flexible, dynamic Web-based reports, as well as traditional paper reports. These reports can contain information from virtually any data source. &lt;br /&gt;
&lt;br /&gt;
Because Reporting Services is implemented as a Web service, it must be installed on a server with Internet Information Services (IIS). However, IIS does not have to be installed on a SQL Server. The Reporting Services databases are hosted on SQL Server 2008, but the Web service itself can be configured on a separate server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-878297166920096230?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MQ-151ndZaY:l2mvWzF3NO0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MQ-151ndZaY:l2mvWzF3NO0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MQ-151ndZaY:l2mvWzF3NO0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MQ-151ndZaY:l2mvWzF3NO0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MQ-151ndZaY:l2mvWzF3NO0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MQ-151ndZaY:l2mvWzF3NO0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/MQ-151ndZaY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-01-21T20:35:36.180-08:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2011/01/reporting-services.html</feedburner:origLink></item><item><title>Analysis Services</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/n5-o2qhJnrQ/analysis-services.html</link><category>Analysis Services</category><author>noreply@blogger.com (Murali)</author><pubDate>Fri, 21 Jan 2011 20:35:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-8080475433241382721</guid><description>Analysis Services delivers Online Analytical Processing (OLAP) and Data Mining functionality for business intelligence applications. As its name suggests, Analysis Services provides a very robust environment for the detailed analysis of data. &lt;br /&gt;
&lt;br /&gt;
It does this through user-created, multidimensional data structures that contain de-normalized and aggregated data from diverse data sources (such as relational databases, spreadsheets, flat files, and even other multidimensional sources).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-8080475433241382721?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=n5-o2qhJnrQ:cug0dvjbUhE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=n5-o2qhJnrQ:cug0dvjbUhE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=n5-o2qhJnrQ:cug0dvjbUhE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=n5-o2qhJnrQ:cug0dvjbUhE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=n5-o2qhJnrQ:cug0dvjbUhE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=n5-o2qhJnrQ:cug0dvjbUhE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/n5-o2qhJnrQ" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-01-21T20:35:10.082-08:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2011/01/analysis-services.html</feedburner:origLink></item><item><title>SQL Server 2008’s Database Engine</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/roh_dkd9TMk/sql-server-2008s-database-engine.html</link><category>SQL Server 2008</category><category>Database Engine</category><author>noreply@blogger.com (Murali)</author><pubDate>Thu, 13 Jan 2011 05:06:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-5671852991504192085</guid><description>The Database Engine is the primary component of SQL Server 2008. It is the Online Transaction Processing (OLTP) engine for SQL Server, and has been improved and enhanced tremendously in this version. The Database Engine is a high-performance component responsible for the efficient storage, retrieval, and manipulation of relational and Extensible Markup Language (XML) formatted data.&lt;br /&gt;
&lt;br /&gt;
SQL Server 2008’s Database Engine is highly optimized for transaction processing, but offers exceptional performance in complex data retrieval operations. The Database Engine is also responsible for the controlled access and modification of data through its security subsystem. SQL Server 2008’s Database Engine has many major improvements to support scalability, availability, and advanced (and secure) programming objects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-5671852991504192085?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=roh_dkd9TMk:0Pwx0kkYuu0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=roh_dkd9TMk:0Pwx0kkYuu0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=roh_dkd9TMk:0Pwx0kkYuu0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=roh_dkd9TMk:0Pwx0kkYuu0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=roh_dkd9TMk:0Pwx0kkYuu0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=roh_dkd9TMk:0Pwx0kkYuu0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/roh_dkd9TMk" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-01-13T05:06:09.819-08:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2011/01/sql-server-2008s-database-engine.html</feedburner:origLink></item><item><title>What is SQL Server 2008/RDBMS?</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/BRwRgLVcYsg/what-is-sql-server-2008rdbms.html</link><category>SQL Server 2008</category><category>Microsoft SQL Server</category><category>SQL</category><category>RDBMS</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Thu, 13 Jan 2011 05:05:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-881611875060848175</guid><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="--&gt;    &lt;m:smallfrac m:val="off"&gt;    &lt;m:dispdef&gt;    &lt;m:lmargin m:val="0"&gt;    &lt;m:rmargin m:val="0"&gt;    &lt;m:defjc m:val="centerGroup"&gt;    &lt;m:wrapindent m:val="1440"&gt;    &lt;m:intlim m:val="subSup"&gt;    &lt;m:narylim m:val="undOvr"&gt;   &lt;/m:narylim&gt;&lt;/m:intlim&gt; &lt;/m:wrapindent&gt;&lt;!--[endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Table Normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:"";
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin:0in;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Calibri","sans-serif";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt; &lt;![endif]--&gt;  &lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;br /&gt;
&lt;div class="first-para"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;As you most likely know, SQL Server 2008 is primarily thought of as a &lt;i&gt;Relational Database&lt;/i&gt; &lt;i&gt;Management System&lt;/i&gt; (&lt;i&gt;RDBMS&lt;/i&gt;). It is certainly that, but it is also much more.&lt;/span&gt;&lt;/div&gt;&lt;div class="first-para"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="para"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;SQL Server 2008 can be more accurately described as an &lt;i&gt;Enterprise Data Platform&lt;/i&gt;. It offers many new features and even more enhanced or improved features from previous editions of the product. In addition to traditional RDBMS duty, SQL Server 2008 also provides rich reporting capabilities, powerful data analysis, and data mining, as well as features that support asynchronous data applications, data-driven event notification, and more.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-881611875060848175?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=BRwRgLVcYsg:RXAmeamSous:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=BRwRgLVcYsg:RXAmeamSous:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=BRwRgLVcYsg:RXAmeamSous:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=BRwRgLVcYsg:RXAmeamSous:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=BRwRgLVcYsg:RXAmeamSous:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=BRwRgLVcYsg:RXAmeamSous:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/BRwRgLVcYsg" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-01-13T05:05:00.769-08:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2011/01/what-is-sql-server-2008rdbms.html</feedburner:origLink></item><item><title>SQL Server Security</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/ODCc6_3pFjo/sql-server-security.html</link><category>SQL Server Security</category><author>noreply@blogger.com (Murali)</author><pubDate>Mon, 02 Aug 2010 01:32:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-7040471915105717869</guid><description>&lt;span id="articlebody"&gt;There are several levels of security to SQL  Server. At the a base level, in order to be granted get access to a SQL  Server, a user is required to have a login account.&lt;br /&gt;
&lt;br /&gt;
There are two modes of security to SQL Server, distinguished by which  program provides the authentication. NT Authentication provides that  Windows NT (and/or its successors) verify verifies the identity of a  user logging in. In this mode, the SQL Server will ‘trust' that Windows  NT has verified that the user is who he says he is. The second method,  SQL Server authentication, it is SQL: Server that authenticates the  identity of the user. SQL Server authentication is typically used for  internet Internet connections, since not all internet Internet users  have Windows NT, and not all NT domains are trusted.&lt;br /&gt;
&lt;br /&gt;
In addition to identifying users, it is sometimes convenient to  define roles at the server level. Since within an organization, there  are groups of users with similar access needs and levels, it may be  convenient to define roles with specific levels of permissions. Once you  have defined a role, you can assign users to that role, and those users  inherit all of the privileges assigned to the role.&lt;br /&gt;
&lt;br /&gt;
There are two types of permissions assigned to individual users and  roles. Statement permissions confer the right to execute certain types  of T-SQL commands. Object permissions confer the right to access  database objects directly.&lt;br /&gt;
&lt;br /&gt;
Defining Logins Users, and Roles&lt;br /&gt;
&lt;br /&gt;
Logins can be added either through the Database Properties Window  (under Logins), or by invoking system stored procedures with appropriate  parameters. The command&lt;br /&gt;
sp_addlogin loginname, password, databasename&lt;br /&gt;
will add a SQL Server authenticated login to the list;&lt;br /&gt;
sp_grantlogin ‘domainname/username'&lt;br /&gt;
&lt;br /&gt;
will add an NT authenticated login to the list.&lt;br /&gt;
&lt;br /&gt;
After the login has been allowed, you need to allow the user access  to the database. This is done either through the Database Properties  Window (under Users for that particular database) or with the command&lt;br /&gt;
sp_grantdbaccess loginname.&lt;br /&gt;
&lt;br /&gt;
You can see the list of users using the command sp_helpuser or sp_helpuser username&lt;br /&gt;
&lt;br /&gt;
To cancel a security account for a given database, use sp_revokedbaccess username&lt;br /&gt;
&lt;br /&gt;
To remove an NT Login use sp_revokelogin ‘username' (note no domain),  and to srop stop a SQL Server authenticated login, use sp_droplogin  username .&lt;br /&gt;
&lt;br /&gt;
To add a role to a database, use sp_addrole ‘clerical', and to add  meAugust 16, 2005er ‘clerical', ‘username'. To delete a rolemember use  sp_droprolemember username.&lt;br /&gt;
&lt;br /&gt;
At the SQL Server level the rolenames are fixed, and cannot be  changed, but users can be added using sp_addsrvrolemember username,  dbcreator . To drop a rolmember, use sp_dropsrvmember username .&lt;br /&gt;
&lt;br /&gt;
Granting permissions&lt;br /&gt;
&lt;br /&gt;
The GRANT command is used to assign permissions to a security  account. Statement permissions in this way: GRANT right TO username&lt;br /&gt;
&lt;br /&gt;
where right can be any of the following:&lt;br /&gt;
CREATE DATABASE&lt;br /&gt;
CREATE DEFAULT&lt;br /&gt;
CREATE PROCEDURE&lt;br /&gt;
CREATE RULE&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE VIEW&lt;br /&gt;
DUMP DATABASE&lt;br /&gt;
DUMP TRANSACTION&lt;br /&gt;
&lt;br /&gt;
For object permissions, GRANT is also the command to use, but the grammar differs slightly:&lt;br /&gt;
GRANT action ON table/view/procedure name TO username&lt;br /&gt;
&lt;br /&gt;
where action can be one of the following:&lt;br /&gt;
INSERT, DELETE, EXECUTE, SELECT or UPDATE&lt;br /&gt;
&lt;br /&gt;
One can also apply these this permission to groups or roles as well  as usernames. And it is also possible that a role can have a permission,  but a member of that role be denied permission for a task. See the next  discussion.&lt;br /&gt;
&lt;br /&gt;
In all of the above commands, you can also explicitly deny permission  using DENY in place of GRANT.&lt;br /&gt;
&lt;br /&gt;
Note however that DENY is not the  negation of GRANT . DENY explicitly excludes the user from that  capability. The REVOKE command is used to remove both the permission and  refusal.&lt;br /&gt;
Resources&lt;br /&gt;
&lt;br /&gt;
• Article: How To Identify Your SQL Server Service Pack Version and Edition&lt;br /&gt;
This is an insightful article that discusses about SQL server pack version and edition.&lt;br /&gt;
• Tutorial: Using Access or SQL Server to Write your ASP Code&lt;br /&gt;
This tutorial discusses how SQL server can be used to write the ASP code.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-7040471915105717869?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ODCc6_3pFjo:gd1rV_wfvKo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ODCc6_3pFjo:gd1rV_wfvKo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ODCc6_3pFjo:gd1rV_wfvKo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ODCc6_3pFjo:gd1rV_wfvKo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ODCc6_3pFjo:gd1rV_wfvKo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ODCc6_3pFjo:gd1rV_wfvKo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/ODCc6_3pFjo" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-08-02T01:32:04.683-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/08/sql-server-security.html</feedburner:origLink></item><item><title>Top 7 Free Open Source Database Server</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/2iJmTQjxqdY/top-7-free-open-source-database-server.html</link><category>Microsoft SQL Server</category><category>opensource</category><category>Microsoft</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Sun, 25 Jul 2010 21:51:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-2581289285393711912</guid><description>Open Source Server based database management systems have become a common choice for organizations over the stand alone desktop databases. The server based databases or RDBMS such as MySQL, PostgreSQL, Microsoft SQL Server are designed to be used on servers and it can be easily shared by multiple users. &lt;br /&gt;
&lt;br /&gt;
Most evidently, server-based DBMS are used in nonprofit sector for Web-based databases. Some of these organizations use server based DBMS for their interactive Websites, providing content and data to their sites. Server-based DBMS also hold a purpose to underlie large shared databases, such as financial packages and client management databases.&lt;br /&gt;
&lt;br /&gt;
Now for those using Access in their organization may set up a Linux-based database and use an ODBC (Open Data Base Connectivity) connection between the desktop Access databases and the server database. This would imply that Access is used on the front end and make the back-end more robust and secure with server based database. After an extensive research we sorted out the top 7 Open Source Server based database management systems, have a look.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. MySQL&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For a web based use MySQL is the top choice, as it is the most often the only DBMS available in virtual hosting accounts. It runs on several platforms. It allows users to download the server and client software as well as a MySQL ODBC diver and a bunch of other MySQL tools from this page. MySQL is simpler and smaller, and therefore generally faster than other databases servers.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://dev.mysql.com/downloads/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. PostgreSQL&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
PostgreSQL is an Open Source server-based database management system that runs well on UNIX based systems such as Linux. It is much more robust, scalable, and standards compliant than MySQL, and it can handle multiple transactions easily. However, the Postgres Plus Standard Server supports the most popular environments, including Linux 32, Linux 64, Windows, and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://www.postgresql.org/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Firebird&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is an Open Source relational database offering many ANSI SQL-92 features that runs on Linux, Windows, and several Unix platforms. It features high SQL compliance, stored procedure and other advanceddatabase features.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://www.firebirdsql.org/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. GNU SQL Server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SQL Server is a free portable multi-user relational database management system. GNU SQL Server supports the SQL89 dialect and some extensions from SQL92. It offers multiuser access and transaction based on predictive locks. Thedatabase system runs smoothly in UNIX OS and its working language is based on C.  Moreover, it also uses RPC, shared memory and message queues.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://panda.ispras.ru/%7Egsql/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. SAP MaxDB&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It is one of the popular open source database management system developed and supported by SAP AG. It runs on Microsoft Windows, Linux and Unix, and for the other prominent hardware platforms. For those organizations undergoing SAP implementation MaxDB ensure that yourdatabase migration goes smoothly.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://maxdb.sap.com/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. ScimoreDB&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It is a free distributed RDBMS designed for high load OLTP and Terabyte OLAP warehouses. The server is build to take advantage of parallelization over multipleservers. It helps to achieve a near linear scalability for OLTP applications. It can support up to 512 PC's in a single database cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://www.scimore.com/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
7. DXstore database system&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is a database management system designed for Linux, FreeBSD, and other operating systems. The database system is distributed in embeddable C or C++ library and shares with them the model of a database as a collection of key/value pairs. It has an entirely new design and implementation. Moreover its functionality has been extended.&lt;br /&gt;
&lt;br /&gt;
&lt;a bitly="BITLY_PROCESSED" href="http://www.dss.bc.ca/dx/"&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=e2f98512-782a-48a7-b8ca-8d5e6a168639" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-2581289285393711912?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2iJmTQjxqdY:WDiGrAr1o-Q:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2iJmTQjxqdY:WDiGrAr1o-Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2iJmTQjxqdY:WDiGrAr1o-Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2iJmTQjxqdY:WDiGrAr1o-Q:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2iJmTQjxqdY:WDiGrAr1o-Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2iJmTQjxqdY:WDiGrAr1o-Q:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/2iJmTQjxqdY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-25T21:51:32.143-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/top-7-free-open-source-database-server.html</feedburner:origLink></item><item><title>Top 10 PostgreSQL Performance Optimization Tips</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/oCNR3CIUvZU/top-10-postgresql-performance.html</link><category>Programming</category><category>PostgreSQL</category><category>Operating system</category><category>SQL</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Sun, 25 Jul 2010 21:20:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-7588229285906143468</guid><description>PostgreSQL performance optimization is a widely discussed issue on the most forums. Although PostgreSQL is shipped with a solid default configuration aimed to fit most setups, it requires fair amount of performance optimization to offer the best. There are basically two major aspects of PostgreSQL database performance optimization. &lt;br /&gt;
&lt;br /&gt;
This involves enhancing the use of the hardware and configuration setting, and optimizing the performance queries sent to database. Well, it's not possible for the PostgreSQL developers to tune the default configuration for everyone. We prepared a list of top 10 PostgreSQL performance optimization tips that combines both the above aspects.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Hardware and Configuration changes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When you are running queries you need to look at how much your CPU and memory is being taxed. To increase the speed and memory run postmaster with various flags to increase the speed and memory. Having said so much, it needs to be added that if your query plan is not feasible the hardware and configuration has nothing to do with it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Choosing the file system&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you are using an Operating System like Linux that has multiple file system, choose the one that will be the best from the performance point of view.  There no single opinion among PostgreSQL users about which file system is best.&lt;br /&gt;
&lt;br /&gt;
There are diverse opinion over Ext2, Ext3, ReiserFS, and XFS. Although Ext2 is said to be faster on some setups the recovery issues are a major concern. Essentially the benchmark would be a combination of file system, disk/array configuration, OS version, and database table size and distribution.&lt;br /&gt;
&lt;br /&gt;
Overtly, you must stick to the file system that is best supported by your distribution, like for instance Ext3 for Red Hat Linux, ReiserFS for SuSE Linux and don't forget XFS known for it's large file support.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Magic Block&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In order to ensure that a dynamically loaded object file is not loaded into an incompatible server, PostgreSQL whether that file includes a magic block with the appropriate contents. It allows the server to identify the incompatibilities like the code compiled for a different major version of PostgreSQL. In PostgreSQL versions like 8.2 you need to include the magic block. In order to include the magic block you need to write this in one of the module source files. Before that include the header&lt;br /&gt;
&lt;br /&gt;
fmgr.h:&lt;br /&gt;
&lt;br /&gt;
#ifdef PG_MODULE_MAGIC&lt;br /&gt;
PG_MODULE_MAGIC;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
Note: The #ifdef test can be removed if the code doesn't need to compile against pre-8.2 PostgreSQL releases.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Try the Auto Vacumm daemon&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
PostgreSQL databases need periodic maintenance known as vacuuming. In the PostgreSQL 8.1  and versions above there is a separate optional server process called the auto vacuum deamon. It's automates the the execution of vacuum and analyze commands. When the auto vacuum daemon is enabled, it runs periodically and checks for tables that have had a large number of updated, inserted or deleted tuples. To use the autovacuum daemon stats_start_collector and stats_row_level should be set to true, as it checks the use of row-level statistics collection facility.  Further, when choosing the value of superuser_reserved_connections the user must allow a slot for auto vacuum process.&lt;br /&gt;
&lt;br /&gt;
Basically the process will vacuum the database when needed. This would allow not require the you to change the corn setting for vacuum frequency. Overall, it would result in better database performance by eliminating overdue vacuum issues.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. Partial Indices&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In order to force use an index you need to employ the true partial index. You can assume that table2 below has no rows where field2=0. To store the clause field2&amp;lt;&amp;gt;0 in pg-index you can use the actions below. When you see the predicate it always uses the partial index. In this case, it is used as a full index to trick it.&lt;br /&gt;
&lt;br /&gt;
create index i on table2(field2) where field2 &amp;lt;&amp;gt; 0;&lt;br /&gt;
&lt;br /&gt;
select * from table2 where field2&amp;lt;&amp;gt;0;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. External programs&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To improve the performance of queries in Postgresql you need to break out a query into a series of small, explicit nested loops in a C, Perl, or other client program. This would actually improve the performance, especially if you require a subset or results/tables.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7. Monitor Query Progress&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When doing with long queries you must be looking to monitor the progress of queries. There is an easy trick by Alan Williams that allows you to monitor the progress of long running queries. Just add to the query a sequence - (select nextval('sq_test'),…) and then use the currval('sq_test') to watch how far the query has progressed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8. Sort memory&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In case you have queries with order-by or group-by clauses that requires sorting large data set increasing the sort memory can help. Using this parameter you can set maximum limits on the memory that a database connection can use to perform sorts. However, its important to take into account that this parameter is per sort, per connection. Especially, database with many users must consider the shortcomings before setting the parameter. The best approach would be to set this parameter per connection as and when required. it would be low for the simple queries and higher for the large, complex queries and data dumps.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9. Stored Procedures&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To control the query execution more explicitly you need to write a stored procedure. What you need to do is break out SQL into small cursors instead of a single large cursor. You might run up against the same problem.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10. Views&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Adding a step to the query planner might impact the query speed according to the views. However, adding more clauses to the view should be avoided as it may affect the query plan in a bad way.  More queries make it confusing for the user.&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=a6dad8f0-afb0-453a-9d24-79a5bd4662d4" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-7588229285906143468?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=oCNR3CIUvZU:4J59BLrCsO4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=oCNR3CIUvZU:4J59BLrCsO4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=oCNR3CIUvZU:4J59BLrCsO4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=oCNR3CIUvZU:4J59BLrCsO4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=oCNR3CIUvZU:4J59BLrCsO4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=oCNR3CIUvZU:4J59BLrCsO4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/oCNR3CIUvZU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-25T21:21:24.174-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/top-10-postgresql-performance.html</feedburner:origLink></item><item><title>How To Process MySQL Timestamp in PHP</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/l1_78MkgsgI/how-to-process-mysql-timestamp-in-php.html</link><category>PHP</category><category>mysql</category><category>SQL</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Thu, 22 Jul 2010 01:34:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-3227269087768495333</guid><description>Many of us do not realize that MySQL's Timestamp is not the timestamp which PHP date() understands. In fact if you try to use MySQL timestamp directly in php date() function then you will get totally wrong dates. There is a simple way to use MySQL timestamp data in php.&lt;br /&gt;
&lt;br /&gt;
First you need to modify the SQL query to use MySQL's UNIX_TIMESTAMP() function. So if your SQL looks like:&lt;br /&gt;
SELECT author, `when` …&lt;br /&gt;
&lt;br /&gt;
then convert it to:&lt;br /&gt;
SELECT author, UNIX_TIMESTAMP(`when`) …&lt;br /&gt;
&lt;br /&gt;
Then use PHP's date() function to convert the unix timestamp to appropriate display format like this:&lt;br /&gt;
date("F j, Y, g:i a", $row[1])&lt;br /&gt;
&lt;br /&gt;
where $row[1] contains the timestamp column value. &lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=8714d94b-9bda-44bb-8fff-e578c6916717" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-3227269087768495333?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=l1_78MkgsgI:q_hbVLnLldM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=l1_78MkgsgI:q_hbVLnLldM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=l1_78MkgsgI:q_hbVLnLldM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=l1_78MkgsgI:q_hbVLnLldM:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=l1_78MkgsgI:q_hbVLnLldM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=l1_78MkgsgI:q_hbVLnLldM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/l1_78MkgsgI" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-22T01:35:07.521-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/how-to-process-mysql-timestamp-in-php.html</feedburner:origLink></item><item><title>MySQL 5.5 Milestone 2 improves replication and stored procedures</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/UtJ8KQQnd8w/mysql-55-milestone-2-improves.html</link><category>Stored Procedure</category><category>mysql</category><category>Exception handling</category><category>SQL</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Wed, 14 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-7788209913552658529</guid><description>The &lt;a bitly="BITLY_PROCESSED" class="zem_slink" href="http://www.mysql.com/" rel="homepage nofollow" title="MySQL"&gt;MySQL&lt;/a&gt; developers have released milestone 2 of MySQL 5.5, on the path to a general release in mid-2010. The new milestone release incorporates semi-synchronous replication in MySQL 5.5 based on patches to InnoDB developed by Google. This is designed to ensure that when a change is committed in the master database, at least one slave has confirmed that the data has arrived and been buffered before the commit is complete.&lt;br /&gt;
&lt;br /&gt;
Developers of SQL procedures will find the addition of SQL standard exception handling, SIGNAL and RESIGNAL, should give them the ability to make stored procedures more robust and easier to debug.&lt;br /&gt;
&lt;br /&gt;
Partitioning, which allows data within a table to be distributed over a cluster, has also been enhanced. An improved partitioning syntax lifts previous restrictions of only partitioning based on one INTEGER column, and allows for data to be partitioned based on multiple columns with dates, datetime, strings and integers.&lt;br /&gt;
&lt;br /&gt;
An overview of the changes in MySQL is available &lt;a bitly="BITLY_PROCESSED" href="http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html"&gt;&lt;span style="color: blue;"&gt;online&lt;/span&gt;&lt;/a&gt; along with the &lt;a bitly="BITLY_PROCESSED" href="http://dev.mysql.com/doc/refman/5.5/en/news-5-5-0.html"&gt;&lt;span style="color: blue;"&gt;change notes&lt;/span&gt;&lt;/a&gt;. MySQL 5.5 Milestone 2 is &lt;a bitly="BITLY_PROCESSED" href="http://blogs.mysql.com/kaj/2009/12/15/mysql-550-m2-a-milestone-ready-to-download/"&gt;&lt;span style="color: blue;"&gt;described&lt;/span&gt;&lt;/a&gt; as "not production ready" but "suitable for testing and feedback". It can be &lt;a bitly="BITLY_PROCESSED" href="http://dev.mysql.com/downloads/"&gt;&lt;span style="color: blue;"&gt;downloaded&lt;/span&gt;&lt;/a&gt; from the MySQL download site.&lt;br /&gt;
&lt;br /&gt;
News source: &lt;a bitly="BITLY_PROCESSED" href="http://www.h-online.com/open/news/item/MySQL-5-5-Milestone-2-improves-replication-and-stored-procedures-886742.html"&gt;h-online.com&lt;/a&gt;&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=5bef6bbc-8c4d-413e-b439-e0d9fe57a9bc" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-7788209913552658529?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=UtJ8KQQnd8w:RST1DL8rUMg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=UtJ8KQQnd8w:RST1DL8rUMg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=UtJ8KQQnd8w:RST1DL8rUMg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=UtJ8KQQnd8w:RST1DL8rUMg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=UtJ8KQQnd8w:RST1DL8rUMg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=UtJ8KQQnd8w:RST1DL8rUMg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/UtJ8KQQnd8w" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-14T00:30:00.077-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/mysql-55-milestone-2-improves.html</feedburner:origLink></item><item><title>MariaDB 5.1.44b Released</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/Ad9S_tFmDEw/mariadb-5144b-released.html</link><category>mysql</category><author>noreply@blogger.com (Murali)</author><pubDate>Tue, 13 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-7606966678537682059</guid><description>MariaDB 5.1.44b Linux and Solaris binaries, Ubuntu/Debian/CentOS packages, and source are now available for &lt;a bitly="BITLY_PROCESSED" href="http://mariadb.org/download"&gt;download&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
This is a bugfix/security release of MariaDB 5.1.44.&lt;br /&gt;
&lt;br /&gt;
From the &lt;a bitly="BITLY_PROCESSED" href="http://askmonty.org/wiki/Manual:MariaDB_5.1.44b_Release_Notes"&gt;MariaDB 5.1.44b Release Notes&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
MariaDB 5.1.44b fixes a buffer overflow that might potentially allow an authenticated user to run arbitrary code inside the server. It also has a fix for MySQL Bug #53371: “Security hole with bypassing grants using special path in db/table names.” In all other respects, it is the same as MariaDB 5.1.44.&lt;br /&gt;
&lt;br /&gt;
See the &lt;a bitly="BITLY_PROCESSED" href="http://askmonty.org/wiki/Manual:MariaDB_5.1.44_Release_Notes"&gt;MariaDB 5.1.44 Release Notes&lt;/a&gt; for a summary of the differences between MariaDB 5.1.42 and MariaDB 5.1.44.&lt;br /&gt;
A Windows binary is coming soon.&lt;br /&gt;
&lt;br /&gt;
News source: &lt;a bitly="BITLY_PROCESSED" href="http://askmonty.org/blog/mariadb-5-1-44b-released/"&gt;askmonty.org/blog/mariadb-5-1-44b-released/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=f82534c5-4bb9-4969-a37b-e0b38a076d9d" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-7606966678537682059?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=Ad9S_tFmDEw:4QTVX5pT8Vg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=Ad9S_tFmDEw:4QTVX5pT8Vg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=Ad9S_tFmDEw:4QTVX5pT8Vg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=Ad9S_tFmDEw:4QTVX5pT8Vg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=Ad9S_tFmDEw:4QTVX5pT8Vg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=Ad9S_tFmDEw:4QTVX5pT8Vg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/Ad9S_tFmDEw" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-13T00:30:00.158-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/mariadb-5144b-released.html</feedburner:origLink></item><item><title>Microsoft links free SQL database with ASP .Net</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/fVdjt-Y8xdA/microsoft-links-free-sql-database-with.html</link><category>ASP.NET</category><category>sql database</category><author>noreply@blogger.com (Murali)</author><pubDate>Mon, 12 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-2817763540853507309</guid><description>&lt;img align="absmiddle" class="ife_marker" id="null_ife_marker_1" src="chrome://informenter/skin/marker.png" style="border: 0pt none; cursor: pointer; height: 19px; width: 14px;" title="Max field length is unknown" /&gt;&lt;img align="absmiddle" class="ife_marker" id="null_ife_marker_2" src="chrome://informenter/skin/marker.png" style="border: 0pt none; cursor: pointer; height: 19px; width: 14px;" title="Max field length is unknown" /&gt;&lt;img align="absmiddle" class="ife_marker" id="null_ife_marker_3" src="chrome://informenter/skin/marker.png" style="border: 0pt none; cursor: pointer; height: 19px; width: 14px;" title="Max field length is unknown" /&gt;Microsoft is enabling its free SQL CE (SQL Server Compact Edition) database to work within ASP.Net Web applications, thus providing a lightweight database option for ASP.Net Web development, a Microsoft official said this week.&lt;br /&gt;
&lt;br /&gt;
ASP.Net is a Web framework. SQL CE is an embedded database engine enabling easy database storage, &lt;a bitly="BITLY_PROCESSED" href="http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx" target="_blank"&gt;&lt;span style="color: blue;"&gt;said Scott Guthrie, corporate vice president in the Microsoft Developer Division, in a blog post&lt;/span&gt;&lt;/a&gt; this week.&lt;br /&gt;
&lt;br /&gt;
"We will be releasing the first public beta of SQL CE Version 4 very shortly. Version 4 has been designed and tested to work within ASP.Net Web applications," Guthrie said.&lt;br /&gt;
&lt;br /&gt;
"Applications you build can redistribute SQL CE as part of them. Just copy your Web application onto any server, and it will work," said Guthrie.&lt;br /&gt;
&lt;br /&gt;
"SQL CE 4 provides an easy, lightweight database option that you'll now be able to use with ASP.Net applications.&amp;nbsp; It will enable you to get started on projects quickly -- without having to install a full database on your local development box," Guthrie said.&lt;br /&gt;
&lt;br /&gt;
SQL CE works with .Net-based data APIs and supports a query syntax similar to SQL Server. Developers can use existing data APIs, such as ADO.Net, as well as technologies like Entity Framework with SQL CE, Guthrie said.&lt;br /&gt;
&lt;br /&gt;
SQL CE's database engine runs in-memory within an application; when an application shuts down, the database is automatically unloaded, he said. Version 4 can run in "medium trust" ASP.Net 4 Web-hosting scenarios without a hoster needed to install anything.&lt;br /&gt;
&lt;br /&gt;
Visual Studio 2010 and Visual Web Developer 2010 Express will add SQL CE 4 tooling support for ASP.Net, in a planned update, Guthrie said.&lt;br /&gt;
&lt;br /&gt;
"SQL CE does not require you to run a setup or install a database server in order to use it. You can now simply copy the SQL CE binaries into the \bin directory of your ASP.Net application, and then your Web application can run and use it as a database engine," Guthrie said. "No setup or extra security permissions are required for it to run. You do not need to have an administrator account on the machine. It just works."&lt;br /&gt;
&lt;br /&gt;
News source: &lt;a bitly="BITLY_PROCESSED" href="http://www.infoworld.com/d/developer-world/microsoft-links-free-sql-database-asp-net-189"&gt;infoworld.com&lt;/a&gt;&lt;br /&gt;
&lt;img align="absmiddle" class="ife_marker" id="null_ife_marker_4" src="chrome://informenter/skin/marker.png" style="border: 0pt none; cursor: pointer; height: 19px; width: 14px;" title="Max field length is unknown" /&gt;&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=1089f77c-84b2-44ea-aecb-2b001b79a14c" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-2817763540853507309?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=fVdjt-Y8xdA:xtS_KcWqdDc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=fVdjt-Y8xdA:xtS_KcWqdDc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=fVdjt-Y8xdA:xtS_KcWqdDc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=fVdjt-Y8xdA:xtS_KcWqdDc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=fVdjt-Y8xdA:xtS_KcWqdDc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=fVdjt-Y8xdA:xtS_KcWqdDc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/fVdjt-Y8xdA" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-12T00:30:00.338-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/microsoft-links-free-sql-database-with.html</feedburner:origLink></item><item><title>Stored Procedures in MySQL 5.0</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/mYWRBNPi_8s/stored-procedures-in-mysql-50.html</link><author>noreply@blogger.com (Murali)</author><pubDate>Sun, 11 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-5120814737204956464</guid><description>MySQL 5.0 introduced &lt;i&gt;Stored Procedures&lt;/i&gt; which allow us to automate or program our way out of many tasks on directly on the server rather than having to write external scripts to do complex manipulation of data.&lt;br /&gt;
&lt;br /&gt;
As you get used to writing stored Procedures in MySQL 5.0, you will, as with any other programming language, want to generalize your stored procedures as much as possible. The more flexible your stored procedure is, the more tasks it can be used for -- and the less places you have to go searching for that elusive bug that just keeps giving you the wrong result. The day you end up making a copy of a stored procedure just to change a name or two is the day you need to think how tweaking the original procedure can accomplish what you want without breaking old functionality.&lt;br /&gt;
&lt;br /&gt;
Most stored procedures that you will be writing for MySQL 5.0 will undoubtedly reference static table and column names. However, sometimes it is desirable to be able to pass these details to a stored procedure as parameters.&lt;br /&gt;
&lt;br /&gt;
There is no direct support for dynamic declaration of details such as column or table names in MySQLs stored procedures. However, by utilizing user variables (which have been around for a while) and prepared statements (introduced in MySQL 4.1), we can do some trickery to get the results we want.&lt;br /&gt;
&lt;br /&gt;
What follows is a step-by step guide to demonstrate how we can build a prepared statement in the command-line client, then use the ideas gathered from these examples and build a stored procedure which can manipulate data from any table and column that we specify. The samples are by nature simplistic, but you should quickly be able to gather how you can extend these to much more complex usage.&lt;br /&gt;
&lt;br /&gt;
The examples below are shown as you would type them into the command-line client, but the input prompts have been omitted for easy cut-and-paste.&lt;br /&gt;
&lt;br /&gt;
The base tables for the examples are those found it the world database, which you can download on the MySQL &lt;a bitly="BITLY_PROCESSED" href="http://dev.mysql.com/doc/"&gt;documentation page&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In this article, we explore how to find the average of a given column in some table. For example, we might want to find the average life expectancy in all countries:&lt;br /&gt;
&lt;pre&gt;SELECT AVG(LifeExpectancy) FROM Country;
+---------------------+
| AVG(LifeExpectancy) |
+---------------------+
| 66.48604            |
+---------------------+&lt;/pre&gt;Another example is the average population of the cities defined in the world database:&lt;br /&gt;
&lt;pre&gt;SELECT AVG(Population) FROM City;
+-----------------+
| AVG(Population) |
+-----------------+
| 350468.2236     |
+-----------------+&lt;/pre&gt;The goal is to build a stored procedure that will take a table name and a column name and display the average of the values in the column, just as the two examples above.&lt;br /&gt;
&lt;br /&gt;
The first thing we need to understand is how user variables are used and assigned values. A user variable is distinguished by having a '@' symbol in front of it, and values are assigned using the SET statement:&lt;br /&gt;
&lt;pre&gt;SET @a := 'abc';
SELECT @a;
+------+
| @a   |
+------+
| abc  |
+------+&lt;/pre&gt;We can assign the value of any expression to a user variable, so the following also works:&lt;br /&gt;
&lt;pre&gt;SET @s := CONCAT('SELECT AVG(' , 'Population' , ') FROM ' , 'City');
SELECT @s;
+----------------------------------+
| @s                               |
+----------------------------------+
| SELECT AVG(Population) FROM City |
+----------------------------------+&lt;/pre&gt;...which is exactly one of the statements we'd like our stored procedure to build on-the-fly and execute.&lt;br /&gt;
Next in line to consider is prepared statements. Prepared statements are statements (such as queries) which are sent to the server, but the processing of the statement is halted as soon as the statement has been parsed, and the parsed statement is remembered by the server. We then have the option of telling the server to execute that statement one or more times as we wish.&lt;br /&gt;
&lt;br /&gt;
We can prepare a statement from within the command-line client, and we will do much the same later on in our stored procedure:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;PREPARE stmt FROM "SELECT AVG(Population) FROM City";
EXECUTE stmt;
+-----------------+
| AVG(Population) |
+-----------------+
| 350468.2236     |
+-----------------+&lt;/pre&gt;As you can see, we prepare the statement using a simple string expression. A statement can also be prepared from a user variable:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;PREPARE stmt FROM @s;
EXECUTE stmt;
+-----------------+
| AVG(Population) |
+-----------------+
| 350468.2236     |
+-----------------+&lt;/pre&gt;Note that a literal string expression or a user variable are the &lt;i&gt;only&lt;/i&gt; ways you can specify the statement to be prepared. You &lt;i&gt;cannot&lt;/i&gt; prepare a statement using an expression (which is also the reason why we're taking the seemingly roundabout way of using user variables to complete this task).&lt;br /&gt;
&lt;br /&gt;
We're now a the stage where we can build our stored procedure &lt;i&gt;colavg&lt;/i&gt; that will take a table and column name, and return the average of the values found in the column.&lt;br /&gt;
&lt;br /&gt;
The first thing we do is to change the command-line client's command delimiter, to ensure that we can use semicolons inside the stored procedure without the client regarding them as end-of-statement. If you're using another client, you should of course skip the delimiter commands.&lt;br /&gt;
&lt;br /&gt;
The input parameters are both of CHAR(64), which is the maximum size of these identifiers in MySQL. Since we are indeed reading from tables, we specify READS SQL DATA in the procedure declaration.&lt;br /&gt;
&lt;br /&gt;
Inside the procedure, we concatenate the two static parts of the SELECT statement with the parameter values col and tbl into the user variable @s (remember, we can't use expressions in PREPARE statements). Finally, we execute the statement which will return the result to our client.&lt;br /&gt;
&lt;br /&gt;
Finally, we reset the mysql client delimiter to the well-known semicolon.&lt;br /&gt;
&lt;pre&gt;delimiter //
DROP PROCEDURE IF EXISTS colavg//
CREATE PROCEDURE colavg(IN tbl CHAR(64), IN col CHAR(64))
READS SQL DATA
COMMENT 'Selects the average of column col in table tbl'
BEGIN
SET @s = CONCAT('SELECT AVG(' , col , ') FROM ' , tbl);
PREPARE stmt FROM @s;
EXECUTE stmt;
END;
//
delimiter ;&lt;/pre&gt;We now have a stored procedure which will allow us to select the average of any column in any table:&lt;br /&gt;
&lt;pre&gt;CALL colavg('Country', 'LifeExpectancy');
+---------------------+
| AVG(LifeExpectancy) |
+---------------------+
| 66.48604            |
+---------------------+

CALL colavg('City', 'Population');
+-----------------+
| AVG(Population) |
+-----------------+
| 350468.2236     |
+-----------------+&lt;/pre&gt;One final note on compatibility with other SQL dialects: In the stored procedure, we execute simple SELECT statements which returns the output of the SELECT statement to the client. This behavior is a MySQL extention to the SQL standard, which is not likely to work in other RDBMSs. In most cases, you'll probably want to SELECT into one or more user variables, then pass the result back in an OUT or INOUT parameter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-5120814737204956464?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=mYWRBNPi_8s:Wz3dhndHgt0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=mYWRBNPi_8s:Wz3dhndHgt0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=mYWRBNPi_8s:Wz3dhndHgt0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=mYWRBNPi_8s:Wz3dhndHgt0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=mYWRBNPi_8s:Wz3dhndHgt0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=mYWRBNPi_8s:Wz3dhndHgt0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/mYWRBNPi_8s" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-11T00:30:00.863-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/stored-procedures-in-mysql-50.html</feedburner:origLink></item><item><title>MySQL 5.0 New Features: Triggers</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/-z8jH8rCh-s/mysql-50-new-features-triggers.html</link><category>mysql</category><category>Triggers</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Sat, 10 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-6173045178055592819</guid><description>Whenever I want to show actual code, such as something that comes directly from the screen of my mysql client program, I switch to a Courier font, which looks different from the regular text font.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; DROP FUNCTION f;
Query OK, 0 rows affected (0.00 sec)&lt;/pre&gt;When the example is large and I want to draw attention to a particular line or phrase, I highlight it with a double underline and a small arrow on the right of the page.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; CREATE PROCEDURE p ()
    -&amp;gt; BEGIN
    -&amp;gt;   /* This procedure does nothing */
    -&amp;gt; END;//
Query OK, 0 rows affected (0.00 sec)&lt;/pre&gt;Sometimes I will leave out the "mysql&amp;gt;" and "-&amp;gt;" prompts so that you can cut the examples and paste them into your copy of the mysql client program. (If you aren't reading the text of this book in a machine-readable form, try looking for the script on the mysql.com web site.)&lt;br /&gt;
&lt;br /&gt;
I tested all the examples with the publicly-available alpha version of MySQL 5.0.3 on Linux, SUSE 9.2. By the time you read this, the version number will be higher and the available operating systems will include Windows, Sparc, and HP-UX. So I'm confident that you'll be able to run every example on your computer. But if not, well, as an experienced MySQL user you know that help and support is always available.&lt;br /&gt;
&lt;h2&gt;Why Triggers&lt;/h2&gt;We are including support for triggers in MySQL 5.0 for these reasons:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Users of earlier MySQL versions kept on telling us they wanted triggers. &lt;/li&gt;
&lt;li&gt;We have a commitment to support all ANSI-standard features. &lt;/li&gt;
&lt;li&gt;You can use them to check for, and prevent, bad data entering the database. &lt;/li&gt;
&lt;li&gt;You can change or negate the &lt;code&gt;INSERT, UPDATE&lt;/code&gt;, and &lt;code&gt;DELETE&lt;/code&gt; statements. &lt;/li&gt;
&lt;li&gt;You can monitor data-change activity throughout a session. &lt;/li&gt;
&lt;/ul&gt;I assume that you have read the first book in the "MySQL New Features" series already. In that book, "MySQL Stored Procedures", you (I hope) saw how MySQL supports stored procedures and functions. That's important knowledge, because you can use the same statements in triggers as you can use in functions. Specifically:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Compound statements (&lt;code&gt;BEGIN / END&lt;/code&gt;) are legal. &lt;/li&gt;
&lt;li&gt;Flow-of-control statements (&lt;code&gt;IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE, ITERATE&lt;/code&gt;) are legal. &lt;/li&gt;
&lt;li&gt;Variable declaration (&lt;code&gt;DECLARE&lt;/code&gt;) and assignment (&lt;code&gt;SET&lt;/code&gt;) are legal. &lt;/li&gt;
&lt;li&gt;Condition declarations are legal. &lt;/li&gt;
&lt;li&gt;Handler declarations are legal. &lt;/li&gt;
&lt;/ul&gt;But remember that functions are subject to severe limitations: you cannot access tables from within a function. So these statements are illegal inside a function:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
  DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
  LOCK OPTIMIZE REPAIR REPLACE REVOKE
  ROLLBACK SAVEPOINT 'SELECT FROM table'
  'SET system variable' 'SET TRANSACTION'
  SHOW 'START TRANSACTION' TRUNCATE UPDATE&lt;/pre&gt;Precisely the same limitation applies for triggers.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=3eae47e1-c9ac-4b2e-a848-d837eff937c8" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-6173045178055592819?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=-z8jH8rCh-s:ppRwSxjyAws:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=-z8jH8rCh-s:ppRwSxjyAws:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=-z8jH8rCh-s:ppRwSxjyAws:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=-z8jH8rCh-s:ppRwSxjyAws:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=-z8jH8rCh-s:ppRwSxjyAws:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=-z8jH8rCh-s:ppRwSxjyAws:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/-z8jH8rCh-s" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-10T00:30:00.190-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/mysql-50-new-features-triggers.html</feedburner:origLink></item><item><title>MySQL 5.0 New Features: Data Dictionary</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/HPwKw-udJ9c/mysql-50-new-features-data-dictionary.html</link><category>mysql</category><category>SQL</category><category>Microsoft</category><category>Database management system</category><category>database</category><author>noreply@blogger.com (Murali)</author><pubDate>Fri, 09 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-6769783535763378748</guid><description>Whenever I want to show actual code, such as something that comes directly from the screen of my mysql client program, I switch to a Courier font, which looks different from the regular text font.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; CREATE TABLE table1 (column1 INT);
Query OK, 0 rows affected (0.00 sec)&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;When the example is large and I want to draw attention to a particular line or phrase, I highlight it with a double underline and a small arrow on the right of the page.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; CREATE VIEW v AS
    -&amp;gt; SELECT column1 AS c /* view col name is c */
    -&amp;gt; FROM table1;
Query OK, 0 rows affected (0.01 sec)&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Sometimes I will leave out the mysql&amp;gt; and -&amp;gt; prompts so that you can cut the examples and paste them into your copy of the mysql client program. (If you aren't reading the text of this book in a machine-readable form, try looking for the script on the mysql.com web site.)&lt;br /&gt;
&lt;br /&gt;
All of the examples in this book were tested with the publicly-available alpha version of MySQL 5.0.3 on the SuSE Linux operating system (version 9.1). By the time you read this, the version number will be higher and the available operating systems will include Windows, Sparc, and HP-UX. So I'm confident that you'll be able to run every example on your own computer. But if not, well, as an experienced MySQL user you know that help and support is always available.&lt;br /&gt;
&lt;h2&gt;A Definition and an Example&lt;/h2&gt;Standard SQL (SQL:2003) provides a method of accessing database metadata through a schema called INFORMATION_SCHEMA. Until now, MySQL has provided metadata only through a series of SHOW commands. SHOW, however, has two disadvantages:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;code&gt;SHOW&lt;/code&gt; commands are non-standard; they are specific to MySQL. &lt;/li&gt;
&lt;li&gt;&lt;code&gt;SHOW&lt;/code&gt; commands require that you learn an entire set of commands to be able to access the metadata you need. &lt;/li&gt;
&lt;/ol&gt;In contrast:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Use of &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt; is standard SQL; thus alleviating some problems that may occur in porting applications from one DBMS to another. For example, Microsoft SQL Server also supports &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt;, while IBM DB2 supports a similar structure, albeit with different names. &lt;/li&gt;
&lt;li&gt;The tables in &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt; can be queried via a &lt;code&gt;SELECT&lt;/code&gt; statement, just as regular tables can be queried; thus there is no need to learn a new set of commands to be able to access the metadata you need. &lt;/li&gt;
&lt;/ol&gt;So MySQL AB made the decision to implement support for the &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt;. Effective with MySQL 5.0.2, your MySQL installation will automatically contain a schema (usually called a database in MySQL parlance) called &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt;; it contains a set of views that allow you to look at (but not change) the description of your database objects just as if the descriptions are regular SQL data. Here is an example:&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; SELECT table_name, table_type, engine
    -&amp;gt; FROM INFORMATION_SCHEMA.tables
    -&amp;gt; WHERE table_schema = 'tp'
    -&amp;gt; ORDER BY table_type ASC, table_name DESC;
+------------+------------+--------+
| table_name | table_type | engine |
+------------+------------+--------+
| t2         | BASE TABLE | MyISAM |
| t1         | BASE TABLE | InnoDB |
| v1         | VIEW       | NULL   |
+------------+------------+--------+&lt;/pre&gt;&lt;h2&gt;Terminology Notes&lt;/h2&gt;Metadata refers to data about the data. For example, the name of a table and the data type of a column is metadata. There are two other terms that are often used as synonyms for metadata:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Data dictionary &lt;/li&gt;
&lt;li&gt;System catalog &lt;/li&gt;
&lt;/ol&gt;I won't be using those terms in this book.&lt;br /&gt;
&lt;h2&gt;Using INFORMATION_SCHEMA&lt;/h2&gt;MySQL now has a new "database" named &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt;. It is a virtual database only; there will never be a need to create a file by that name, and the MySQL server itself creates and populates the tables therein. It is not possible to &lt;code&gt;USE INFORMATION_SCHEMA&lt;/code&gt;; nor is it possible to &lt;code&gt;UPDATE, INSERT, DELETE&lt;/code&gt;, or even &lt;code&gt;REFERENCE&lt;/code&gt; the &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt; tables. The only action possible is &lt;code&gt;SELECT&lt;/code&gt;. &lt;br /&gt;
&lt;h3&gt;Privileges&lt;/h3&gt;Accessing the &lt;code&gt;INFORMATION_SCHEMA&lt;/code&gt; tables does not require a special privilege: the &lt;code&gt;SELECT&lt;/code&gt; privilege on each table is automatically granted to every user.&lt;br /&gt;
&lt;br /&gt;
Thus, there is no difference between the current (&lt;code&gt;SHOW&lt;/code&gt;) privilege requirement and the &lt;code&gt;SELECT&lt;/code&gt; requirement. In either case, you have to have some privilege on an object in order to see the metadata information about that object.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=8fc6d4a7-22b9-48c6-8671-06b5e4a9d2d4" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-6769783535763378748?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=HPwKw-udJ9c:szbQ8kQWsls:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=HPwKw-udJ9c:szbQ8kQWsls:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=HPwKw-udJ9c:szbQ8kQWsls:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=HPwKw-udJ9c:szbQ8kQWsls:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=HPwKw-udJ9c:szbQ8kQWsls:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=HPwKw-udJ9c:szbQ8kQWsls:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/HPwKw-udJ9c" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-09T00:30:01.586-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/mysql-50-new-features-data-dictionary.html</feedburner:origLink></item><item><title>MySQL 5.0 New Features</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/xKwgXEk7MVs/mysql-50-new-features.html</link><category>mysql</category><author>noreply@blogger.com (Murali)</author><pubDate>Thu, 08 Jul 2010 00:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-6194065303733229929</guid><description>This book is for the long-time MySQL user who wants to know "what's new" in version 5. The short answer is "stored procedures, triggers, views, and information schema". The long answer is the MySQL 5.0 New Features series, and this book is the third in that series.&lt;br /&gt;
&lt;br /&gt;
What I'm hoping to do is make this look like a hands-on session where you, as if you're working it out yourself on your keyboard, can walk through the sample problems. To do this, I'll go through each little item, building up slowly. By the end, I'll be showing larger views that do something useful, as well as some things that you might have thought were tough.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;Conventions and Styles:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Whenever I want to show actual code, such as something that comes directly from the screen of my mysql client program, I switch to a Courier font, which looks different from the regular text font.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; DROP VIEW v CASCADE;
Query OK, 0 rows affected (0.00 sec)&lt;/pre&gt;When the example is large and I want to draw attention to a particular line or phrase, I highlight it with a double underline and a small arrow on the right of the page. For example:&lt;br /&gt;
&lt;pre&gt;mysql&amp;gt; CREATE VIEW v AS
    -&amp;gt; SELECT column1 AS c /* view col name is c */
    -&amp;gt; FROM table1;
Query OK, 0 rows affected (0.01 sec)&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Sometimes I will leave out the mysql&amp;gt; and -&amp;gt; prompts, so that you can cut the examples and paste them into your copy of the mysql client program. (If you aren't reading the text of this book in a machine-readable form, try looking for the script on the mysql.com web site.)&lt;br /&gt;
&lt;br /&gt;
All of the examples in this book were tested with the publicly-available alpha version of MySQL 5.0.3 on the SUSE Linux operating system (version 9.1). By the time you read this, the version number will be higher and the available operating systems will include Windows, Sparc, and HP-UX. So I'm confident that you'll be able to run every example on your own computer. But if not, well, as an experienced MySQL user you know that help and support is always available.&lt;br /&gt;
&lt;h2&gt;&lt;br /&gt;
&lt;/h2&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a bitly="BITLY_PROCESSED" class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=74cf40ff-c565-4786-b330-0018fd27deff" style="border: medium none; float: right;" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-6194065303733229929?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=xKwgXEk7MVs:bJH6tKTmFAE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=xKwgXEk7MVs:bJH6tKTmFAE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=xKwgXEk7MVs:bJH6tKTmFAE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=xKwgXEk7MVs:bJH6tKTmFAE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=xKwgXEk7MVs:bJH6tKTmFAE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=xKwgXEk7MVs:bJH6tKTmFAE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/xKwgXEk7MVs" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-07-08T00:30:00.238-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/07/mysql-50-new-features.html</feedburner:origLink></item><item><title>MySQL Tip: How To Check, Repair &amp; Optimize All Tables in All Databases</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/MCQ9-560RLg/mysql-tip-how-to-check-repair-optimize.html</link><category>mysql</category><author>noreply@blogger.com (Murali)</author><pubDate>Fri, 25 Jun 2010 21:31:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-4265993401571645507</guid><description>Here is a simple command to &lt;strong&gt;&lt;span class="IL_AD" id="IL_AD4"&gt;auto repair&lt;/span&gt;, check and optimize all the tables in all databases running on a MySQL server&lt;/strong&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span id="more-2515"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;code&gt;mysqlcheck -u root -p --auto-repair --check --optimize --all-databases&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
mysqlcheck is available in MySQL 3.23.38 and later.&lt;br /&gt;
&lt;br /&gt;
mysqlcheck uses the SQL &lt;span class="IL_AD" id="IL_AD3"&gt;statements&lt;/span&gt; CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed. The exact operations are determined by the underlying storage engine used.&lt;br /&gt;
&lt;br /&gt;
You must execute it on running &lt;span class="IL_AD" id="IL_AD2"&gt;database&lt;/span&gt;. It is recommended that you kill other incoming queries (like from your website) before running this which makes it a lot faster. I simply stop my httpd server before running it. You may want to use a &lt;a bitly="BITLY_PROCESSED" href="http://www.taragana.com/products/free-wordpress-plugins/site-maintenance"&gt;Site Unavailable&lt;/a&gt; message instead so that the MySQL server is left alone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-4265993401571645507?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MCQ9-560RLg:dBINaddsgW4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MCQ9-560RLg:dBINaddsgW4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MCQ9-560RLg:dBINaddsgW4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MCQ9-560RLg:dBINaddsgW4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=MCQ9-560RLg:dBINaddsgW4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=MCQ9-560RLg:dBINaddsgW4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/MCQ9-560RLg" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-25T21:31:00.307-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/mysql-tip-how-to-check-repair-optimize.html</feedburner:origLink></item><item><title>How to start/stop MySQL server on Linux</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/IY_1Wb03cC4/how-to-startstop-mysql-server-on-linux.html</link><author>noreply@blogger.com (Murali)</author><pubDate>Thu, 24 Jun 2010 21:27:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-8645348056830492940</guid><description>&lt;ul&gt;&lt;li&gt;&amp;nbsp;&lt;span class="IL_AD" id="IL_AD9"&gt;To Start&lt;/span&gt; &lt;span class="IL_AD" id="IL_AD5"&gt;MySQL Server&lt;/span&gt;&lt;br /&gt;
/sbin/service mysqld start&lt;/li&gt;
&lt;li&gt;To Stop MySQL Server&lt;br /&gt;
/sbin/service mysqld stop&lt;/li&gt;
&lt;li&gt;To Restart MySQL Server&lt;br /&gt;
/sbin/service mysqld restart&lt;/li&gt;
&lt;/ul&gt;And of course there is the brute force way to kill all the processes:&lt;br /&gt;
$ for  i in `ps -ef |grep mysqld |awk '{print $2}'`; do `kill -9 $i`; done&lt;br /&gt;
&lt;br /&gt;
Thanks to Anthony Eden for the comment (below) to remove the dot in front.&lt;br /&gt;
&lt;br /&gt;
A simpler alternative is:&lt;br /&gt;
&lt;strong&gt;pkill mysqld&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
This will kill the mysqld process. However the best way to stop (because it stops properly) is obviously:&lt;br /&gt;
&lt;strong&gt;/sbin/service mysqld stop&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-8645348056830492940?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=IY_1Wb03cC4:ECt7g2OskKQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=IY_1Wb03cC4:ECt7g2OskKQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=IY_1Wb03cC4:ECt7g2OskKQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=IY_1Wb03cC4:ECt7g2OskKQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=IY_1Wb03cC4:ECt7g2OskKQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=IY_1Wb03cC4:ECt7g2OskKQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/IY_1Wb03cC4" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-24T21:27:00.595-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/how-to-startstop-mysql-server-on-linux.html</feedburner:origLink></item><item><title>How To Export MS Access Database To MySQL Database</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/0UovOdtjNzk/how-to-export-ms-access-database-to.html</link><category>MySQL Database</category><author>noreply@blogger.com (Murali)</author><pubDate>Tue, 22 Jun 2010 21:26:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-3248394985741608236</guid><description>Here are few tips (with undocumented features) to help you export huge MS Access database (production database with real data) to MySQL.&lt;br /&gt;
&lt;br /&gt;
&lt;span id="more-2779"&gt;&lt;/span&gt;&lt;br /&gt;
Use &lt;a bitly="BITLY_PROCESSED" href="http://mdbtools.sourceforge.net/"&gt;mdbtools&lt;/a&gt; utilities as described below:&lt;br /&gt;
&amp;nbsp;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;mdb-tables&lt;/em&gt; displays the &lt;strong&gt;list of tables in MS Access&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;mdb-scheme&lt;/em&gt; &lt;strong&gt;export the MS Access schema to MySQL&lt;/strong&gt; database. The documentation doesn't mention that MySQL is supported. You should use the following command:&lt;br /&gt;
&lt;em&gt;mdb-schema [-S] database &lt;strong&gt;mysql&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
You may need to replace column names if they collide with MySQL reserved keywords. few column names I needed to change were: GROUP, PRIMARY &amp;amp; CROSS. I changed the column names to GROUP_, PRIMARY_ &amp;amp; CROSS_ respectively. MySQL error messages are very cryptic (unhelpful).&lt;br /&gt;
The schema created contains drop tables. You can use grep -v to exclude them. Additionally you should add &lt;strong&gt;drop database&lt;/strong&gt; followed by &lt;strong&gt;create database&lt;/strong&gt; commands at the very top of the file when you are importing to a new database.&lt;br /&gt;
&lt;br /&gt;
This is essential because you may have to go through multiple passes. Having drop table when a table is not there creates problem as also not having them creates problem when the table has already been loaded. So I remove the drop tables and instead drop and re-create the database for each run by the process described above.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;mdb-export&lt;/em&gt; exports MS Access tables to CSV format. What is not emphasized is that you can directly create INSERT statements instead of a CSV file. Converting it directly to SQL INSERT statements is very helpful, especially for converting data types. Use it like shown in the sample:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;mdb-export&lt;/em&gt; &lt;em&gt;-I -R';\n'&lt;/em&gt; MSAccessDatabase.mdb Table &lt;em&gt;&amp;gt;&lt;/em&gt; Table.sql&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: Replace MSAccessDatabase.mdb with the full path of your MS Access Database, Table is Table name. You can save the output in any file, I just chose Tablename.sql for convenience.&lt;br /&gt;
&lt;br /&gt;
The -R';\n' ensures that each SQL INSERT is followed by a semicolon and then a new line.&lt;br /&gt;
&lt;br /&gt;
You may need to modify this to substitute column names, if you have previously changed them while importing the schema to prevent conflict with reserved MYSQL keywords.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-3248394985741608236?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=0UovOdtjNzk:e2lhZPgzamw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=0UovOdtjNzk:e2lhZPgzamw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=0UovOdtjNzk:e2lhZPgzamw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=0UovOdtjNzk:e2lhZPgzamw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=0UovOdtjNzk:e2lhZPgzamw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=0UovOdtjNzk:e2lhZPgzamw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/0UovOdtjNzk" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-22T21:26:39.223-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/how-to-export-ms-access-database-to.html</feedburner:origLink></item><item><title>MySQL SQL Delete Notes</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/2_J1LzwmDrc/mysql-sql-delete-notes.html</link><author>noreply@blogger.com (Murali)</author><pubDate>Tue, 22 Jun 2010 21:21:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-2055333361577996166</guid><description>To delete duplicates from a MySQL database table I normally copy the duplicate data first to a temporary table and then use the copied id's to delete from the original table.&lt;br /&gt;
&lt;br /&gt;
&lt;span id="more-2329"&gt;&lt;/span&gt;&lt;br /&gt;
Delete using the temporary can take two forms. First is the slow way:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
delete from target where id in (select id from temp);&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
This can be agonizingly slow for a large table. A much faster option is:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
delete target from target, temp where target.id = temp.id;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
BTW: The copying into temporary table part is simple but not that simple. Here's what I do:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
insert into temp(id) select b.id from target a, target b where a.common_field1 = b.common_field1 and a.common_field2 = b.common_field2 ... and &lt;em&gt;a.id &amp;lt; b.id&lt;/em&gt;;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: I am assuming all the tables have an unique row identifier (primary key).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-2055333361577996166?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2_J1LzwmDrc:q0qo6VkhdG4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2_J1LzwmDrc:q0qo6VkhdG4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2_J1LzwmDrc:q0qo6VkhdG4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2_J1LzwmDrc:q0qo6VkhdG4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=2_J1LzwmDrc:q0qo6VkhdG4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=2_J1LzwmDrc:q0qo6VkhdG4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/2_J1LzwmDrc" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-22T21:21:13.913-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/mysql-sql-delete-notes.html</feedburner:origLink></item><item><title>To make SQL Queries Case Sensitive</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/jywwGHDc_9U/to-make-sql-queries-case-sensitive.html</link><category>sql server 2000</category><category>sql programming</category><category>mysql</category><category>database design</category><category>ms sql server</category><category>Microsoft SQL Server</category><category>SQL</category><category>opensource</category><category>database</category><category>structured query language sql</category><category>db2</category><category>sql database</category><author>noreply@blogger.com (Murali)</author><pubDate>Mon, 14 Jun 2010 21:46:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-7848747436051546334</guid><description>To make SQL Queries Case Sensitive using Collation.You can make SQL Queries Case sensitive at the column level or Table level or DataBase level.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Introduction&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
How to make SQL queries case sensitive.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
How to do it?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you installed SQL Server with the default collation options, you might find that the following queries return the same results:&lt;br /&gt;
&lt;pre&gt;&lt;span style="color: blue; font-size: x-small;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;TABLE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;
&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARCHAR&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;GO &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SET&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;NOCOUNT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ON&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VALUES&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'Case'&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;GO &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'Case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'caSE'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;

&lt;/pre&gt;You can alter your query by forcing collation at the column level:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;AND&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'Case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;AND&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'caSE'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;AND&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;CAST&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;AS&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;))&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;
&lt;span style="color: green; font-size: x-small;"&gt;-- if myColumn has an index, you will likely benefit by adding 
-- AND myColumn = 'case'&lt;/span&gt;&lt;/pre&gt;If you want to do this in a more global way, instead of modifying each individual query, you can force the collation at the database level, or at the column level, using the ALTER DATABASE and ALTER TABLE commands, respectively. You can see the current collation level on the properties tab of the database server, through Enterprise Manager (if you're going to change this setting, MAKE NOTE OF THIS VALUE):&lt;br /&gt;
&lt;br /&gt;
And you can see the description from running the following query:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="MsoNormal"&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;span style="color: magenta;"&gt;DATABASEPROPERTYEX&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;'&lt;databasename&gt;'&lt;/databasename&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;, &lt;/span&gt;&lt;span style="color: red;"&gt;'Collation'&lt;/span&gt;&lt;span style="color: grey; font-family: 'Courier New'; font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;As changing this setting can impact applications and SQL queries, I
would isolate this test first. In SQL Server 2000, you can easily run
an ALTER TABLE statement to change the sort order of a specific column,
forcing it to be case sensitive. First, execute the following query to
determine what you need to change it back to:&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt;"&gt;EXEC&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;span style="color: maroon;"&gt;sp_help&lt;/span&gt;
&lt;span style="color: red;"&gt;'mytable'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;The second recordset should contain the following information,&amp;nbsp;&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;in a default scenario:&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Column_Name Collation&amp;nbsp;

----------- ----------------------------------------------&amp;nbsp;

mycolumn &amp;nbsp;&amp;nbsp;&amp;nbsp;SQL_Latin1_General_CP1_CI_AS&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;Whatever the 'Collation' column returns, you now know what you&amp;nbsp;&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;need to change it back to after you make the following change,&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;which will forcecase sensitivity:&lt;/pre&gt;&lt;pre class="MsoNormal"&gt;&lt;/pre&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;TABLE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;COLUMN&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;VARCHAR&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;COLLATE&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Latin1_General_CS_AS &lt;br /&gt;
GO &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'Case'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'caSE'&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;mytable &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;WHERE&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mycolumn&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;=&lt;/span&gt;&lt;span style="color: red; font-size: x-small;"&gt;'case'&lt;/span&gt;&lt;br /&gt;
If this screws things up, you can change it back, simply by issuing a new ALTER TABLE statement (be sure to replace my COLLATE identifier with the one you found previously):&lt;br /&gt;
&lt;span style="color: red; font-size: x-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;ALTER TABLE mytable 
ALTER COLUMN mycolumn VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CI_AS&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/pre&gt;This way to make sql querie Case Sensitive&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="color: red; font-size: x-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;pre class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-7848747436051546334?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=jywwGHDc_9U:LIL1BRPhWLU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=jywwGHDc_9U:LIL1BRPhWLU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=jywwGHDc_9U:LIL1BRPhWLU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=jywwGHDc_9U:LIL1BRPhWLU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=jywwGHDc_9U:LIL1BRPhWLU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=jywwGHDc_9U:LIL1BRPhWLU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/jywwGHDc_9U" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-14T21:49:36.419-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/to-make-sql-queries-case-sensitive.html</feedburner:origLink></item><item><title>Getting all stored procedures from a database</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/ds0h_i84GtU/getting-all-stored-procedures-from.html</link><category>sql server 2000</category><category>sql programming</category><category>mysql</category><category>database design</category><category>ms sql server</category><category>Microsoft SQL Server</category><category>SQL</category><category>opensource</category><category>database</category><category>structured query language sql</category><category>db2</category><category>sql database</category><author>noreply@blogger.com (Murali)</author><pubDate>Mon, 14 Jun 2010 21:12:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-3592507195852927959</guid><description>Here how you can get all the stored procedure from a database. Hey not only the name but the stored procedures definitions also.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Get by using Cursor&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
declare @proc_name varchar(100)&lt;br /&gt;
declare @str_query nvarchar(MAX)&lt;br /&gt;
&lt;br /&gt;
declare loop_proc cursor&lt;br /&gt;
for select [name] from sys.procedures where type='P'&lt;br /&gt;
and is_ms_shipped = 0&lt;br /&gt;
open loop_proc&lt;br /&gt;
&lt;br /&gt;
FETCH NEXT FROM loop_proc INTO @proc_name&lt;br /&gt;
IF @@FETCH_STATUS &lt;&gt; 0&lt;br /&gt;
PRINT ' &lt;&gt;'&lt;br /&gt;
WHILE @@FETCH_STATUS = 0&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
SELECT @str_query = 'sp_helptext ' + @proc_name&lt;br /&gt;
PRINT @str_query&lt;br /&gt;
exec sp_executesql @str_query&lt;br /&gt;
FETCH NEXT FROM loop_proc INTO @proc_name&lt;br /&gt;
END&lt;br /&gt;
CLOSE loop_proc&lt;br /&gt;
DEALLOCATE loop_proc&lt;br /&gt;
&lt;br /&gt;
Run these sql statements and view the result in Text mode. You will get all scripts for stored procedures.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Get from sysobjects&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is better option to get all stroed procedures from a database.&lt;br /&gt;
&lt;br /&gt;
SELECT [text]&lt;br /&gt;
FROM&lt;br /&gt;
sysobjects o&lt;br /&gt;
JOIN syscomments c ON o.id = c.id&lt;br /&gt;
WHERE xtype = 'P'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-3592507195852927959?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ds0h_i84GtU:dguBmJqsd1s:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ds0h_i84GtU:dguBmJqsd1s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ds0h_i84GtU:dguBmJqsd1s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ds0h_i84GtU:dguBmJqsd1s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=ds0h_i84GtU:dguBmJqsd1s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=ds0h_i84GtU:dguBmJqsd1s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/ds0h_i84GtU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-14T21:12:21.030-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/getting-all-stored-procedures-from.html</feedburner:origLink></item><item><title>Difference between TOP clause in SQL 2000 and SQL 2005</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/figuPcywLxA/difference-between-top-clause-in-sql.html</link><category>sql server 2000</category><category>sql programming</category><category>mysql</category><category>database design</category><category>ms sql server</category><category>Microsoft SQL Server</category><category>SQL</category><category>opensource</category><category>database</category><category>structured query language sql</category><category>db2</category><category>sql database</category><author>noreply@blogger.com (Murali)</author><pubDate>Mon, 14 Jun 2010 21:09:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-6407488601292493535</guid><description>Generally TOP clause is used to perform SELECT on top n results. This feature of TOP is extended in SQL 2005 so that we can also use expression apart from int, bigint and percent to perform query and also extended to be used in UPDATE and DELETE statements.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Generally TOP clause is used to perform SELECT on top n results. This feature of TOP is extended in SQL 2005 so that we can also use expression apart from int, bigint and percent to perform query and also extended to be used in UPDATE, and DELETE statements.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In SQL 2000&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
syntax: select Top N [Percent]&lt;br /&gt;
&lt;br /&gt;
EX:&lt;br /&gt;
&lt;br /&gt;
select Top 10 * from TableName&lt;br /&gt;
or&lt;br /&gt;
select Top 10 Percent * from TableName&lt;br /&gt;
&lt;br /&gt;
n specifies how many rows are returned. If PERCENT is not specified, n is the number of rows to return. If PERCENT is specified, n is the percentage of the result set rows to return&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Drawbacks&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
1) We could not parameterize.&lt;br /&gt;
2) It will work only for select statements.&lt;br /&gt;
&lt;br /&gt;
If we want to restrict the number of rows affected by a select at runtime, or restrict the rows affected by an update or delete you had to explicitly describe the rows using a join or where clause, or you could cheat a bit by using ROWCOUNT, like this&lt;br /&gt;
&lt;br /&gt;
set rowcount 10&lt;br /&gt;
delete from table where payratefieldname=1&lt;br /&gt;
set rowcount 0&lt;br /&gt;
&lt;br /&gt;
It will work but the risk is if for some reason rowcount is not set to 0 then the other statements will also restricted to 10.&lt;br /&gt;
&lt;br /&gt;
All these drawbacks are overcome in SQL 2005 by introducing Expression in syntax.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In SQL 2005&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
syntax: select Top (Expression) [Percent]&lt;br /&gt;
&lt;br /&gt;
EX:&lt;br /&gt;
&lt;br /&gt;
Is the numeric expression that specifies the number of rows to be returned. expression is implicitly converted to a float value if PERCENT is specified; otherwise, it is converted to bigint.&lt;br /&gt;
&lt;br /&gt;
Ex:&lt;br /&gt;
&lt;br /&gt;
select Top 10 * from TableName&lt;br /&gt;
or&lt;br /&gt;
select Top 10 Percent * from TableName&lt;br /&gt;
or we can set at runtime as&lt;br /&gt;
&lt;br /&gt;
Declare @ int&lt;br /&gt;
SET @topNum = 10&lt;br /&gt;
select TOP (@topNum) * from&lt;br /&gt;
&lt;br /&gt;
For select statements you must specify parentheses if you are passing a parameter, otherwise they are optional&lt;br /&gt;
&lt;br /&gt;
Select Top (@topNum) * from TableName&lt;br /&gt;
&lt;br /&gt;
Select Top 10 * from TableName&lt;br /&gt;
&lt;br /&gt;
When doing an update or delete, you have to use the parentheses in both cases:&lt;br /&gt;
&lt;br /&gt;
Delete Top (@topNum) from employeesDelete Top (10) from TableName&lt;br /&gt;
&lt;br /&gt;
update Top (@topNum) TableName set fieldname = @fieldvalue&lt;br /&gt;
&lt;br /&gt;
update Top (10) from employees set fieldname = @fieldvalue&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-6407488601292493535?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=figuPcywLxA:_hYvIA3KFck:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=figuPcywLxA:_hYvIA3KFck:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=figuPcywLxA:_hYvIA3KFck:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=figuPcywLxA:_hYvIA3KFck:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=figuPcywLxA:_hYvIA3KFck:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=figuPcywLxA:_hYvIA3KFck:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/figuPcywLxA" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-06-14T21:09:06.398-07:00</atom:updated><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/06/difference-between-top-clause-in-sql.html</feedburner:origLink></item><item><title>SQL Keys</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/6jQ6mOoXVOU/sql-keys.html</link><category>SQL Keys</category><author>noreply@blogger.com (Murali)</author><pubDate>Sun, 14 Feb 2010 05:10:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-3429214678004756927</guid><description>In SQL, keys are used to maintain referential integrity among relations. Put simply, this means keys allow tables to reference each other, and each reference will be “correct” every time. Referential integrity also prevents records from being “dangled” or “orphaned” by another record that has been deleted.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Primary Keys and Foreign Keys: The Basics&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As an example, let’s consider an office employee roster with two tables.&lt;br /&gt;
&lt;br /&gt;
The first table contains a list of departments and their IDs. Perhaps “billing” has ID #1, “&lt;span class="IL_AD" id="IL_AD1"&gt;marketing&lt;/span&gt;” has ID #2, and “accounting” has ID #3. The column for these unique IDs would be a PRIMARY KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second table, then, is a list of employees, with several columns: one each for the employee’s &lt;span class="IL_AD" id="IL_AD5"&gt;first and last&lt;/span&gt; names, one for their employee ID, and another for the ID of the employee’s department. The employee ID is another PRIMARY KEY. The column representing the employee’s department ID is called a FOREIGN KEY and links the values in that column to the department IDs in the department table. Let’s say Betty Smith works in billing, John Brown and Samantha Jones work inmarketing, and David Parker works in accounting. The creation of these tables is shown in Figure 1.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://2.bp.blogspot.com/_ur-RA5iq54I/S3f1r3iRl3I/AAAAAAAAAW0/ksW6SIeuVAg/s1600-h/ot31b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ur-RA5iq54I/S3f1r3iRl3I/AAAAAAAAAW0/ksW6SIeuVAg/s320/ot31b.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&amp;nbsp;Please note PostgreSQL does not use the FOREIGN KEY constraint in the CREATE TABLE command, as shown in Figure 1, presumably because the developers consider mentioning both FOREIGN KEY and REFERENCES to be being redundant. However, many other SQL databases require the explicit use of the FOREIGN KEY keyword.&lt;br /&gt;
&lt;br /&gt;
A simple JOIN operation could be used, then, to determine in which department each employee works, without having to manually interpret the department ID number. This is shown in Figure 2.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://4.bp.blogspot.com/_ur-RA5iq54I/S3f2FTtNOfI/AAAAAAAAAW8/kNraqegKd6U/s1600-h/ot32b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ur-RA5iq54I/S3f2FTtNOfI/AAAAAAAAAW8/kNraqegKd6U/s320/ot32b.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is easy enough to do, but there are some problems that arise from having one table reference another table. The most immediate problem, in this case, would be to determine what would happen if, all of a sudden, the billing department were to be deleted? Would Betty Smith just vanish? Fortunately, the SQL:2003 standard defined five different ways by which this situation can be handled. These are called referential actions.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-3429214678004756927?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=6jQ6mOoXVOU:uE9ldWQHsAM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=6jQ6mOoXVOU:uE9ldWQHsAM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=6jQ6mOoXVOU:uE9ldWQHsAM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=6jQ6mOoXVOU:uE9ldWQHsAM:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=6jQ6mOoXVOU:uE9ldWQHsAM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=6jQ6mOoXVOU:uE9ldWQHsAM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/6jQ6mOoXVOU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-02-14T05:11:21.384-08:00</atom:updated><media:thumbnail url="http://2.bp.blogspot.com/_ur-RA5iq54I/S3f1r3iRl3I/AAAAAAAAAW0/ksW6SIeuVAg/s72-c/ot31b.jpg" height="72" width="72" /><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/02/sql-keys.html</feedburner:origLink></item><item><title>SQL Perl/PL Overview</title><link>http://feedproxy.google.com/~r/StructuredQueryLanguage/~3/8LtOJnTz9WM/sql-perlpl-overview.html</link><category>SQL Perl/PL Overview</category><author>noreply@blogger.com (Murali)</author><pubDate>Sun, 14 Feb 2010 05:01:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-1799474711497514132.post-8704934057386917071</guid><description>Procedural languages provide the fundamental method for programming within an SQL database. In other articles in this series, we have covered the SQL-based procedural languages, but those are generally not the only procedural languages found in an SQL database. Procedural extensions for Perl and Java tend to be the most popular additions, but some database systems implement many more additional languages.&lt;br /&gt;
&lt;br /&gt;
The following examples make use of PostgreSQL’s implementation of PL/Perl, but the examples should be relevant and similar to other procedural language extensions in most databases that support such additions.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Installing and Enabling PL/Perl&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In an operating system that is bundled with numerous packages, like Red Hat Linux, the PL/Perl language should be available for immediate use. In other operating systems, it may need to be downloaded and installed as a package from that operating system’s package repository.&lt;br /&gt;
&lt;br /&gt;
Debian Linux, for example, does not include PL/Perl in the base PostgreSQL package, and it must be downloaded and installed separately. In Debian and other APT-based Linux distributions, like Ubuntu, the command to do this for PostgreSQL 8.1 is apt-get install postgresql-plperl-8.1. The postgresql-plperl-8.1 package may also be installed via a package manager like dselect or aptitude. As of this writing, November, 2007, PL/Perl is available in Debian’s APT package repositories for the testing (etch) distribution for PostgreSQL versions 8.1 and 8.2.&lt;br /&gt;
&lt;br /&gt;
Once PL/Perl is installed on the computer, it must be enabled for each database that will use PL/Perl functions. This may be accomplished by executing the CREATE LANGUAGE plperl command in the psql SQL shell.&lt;br /&gt;
&lt;br /&gt;
“&lt;b&gt;Hello, World!&lt;/b&gt;”&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://4.bp.blogspot.com/_ur-RA5iq54I/S3fznJsiOOI/AAAAAAAAAWc/GXIXV5DtleU/s1600-h/hello1.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ur-RA5iq54I/S3fznJsiOOI/AAAAAAAAAWc/GXIXV5DtleU/s320/hello1.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Naturally, the first task one should complete is the creation of the simple “Hello, World!” function. Figure 1 shows the creation and execution of this function.&lt;br /&gt;
&lt;br /&gt;
The only real difference between this function and a procedural SQL “Hello, World!” function is that it is written in Perl, instead of SQL. As long as the developer knows how to program in Perl, writing PL/Perl code is quite simple. Also note the LANGUAGE plperl clause, which lets PostgreSQL know the function is written in PL/Perl. In Figure 1, we simply returned the “Hello, World!” string, and it was displayed in the result set of the SELECT hello_world() query.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Concatenation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Another simple example, the concatenate() function, is shown in Figure 2.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://4.bp.blogspot.com/_ur-RA5iq54I/S3fz381zieI/AAAAAAAAAWk/BxVmR_KKPuw/s1600-h/ot48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ur-RA5iq54I/S3fz381zieI/AAAAAAAAAWk/BxVmR_KKPuw/s320/ot48.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows the creation of concatenate(), its use as a function, and its use as both a function and as a parameter passed to itself. In the function, the two TEXT parameters are shifted out of the parameter list, and Perl’s . operator is used to concatenate them. As Perl developers are wont to say, “there is more than one way to do it,” and that is certainly the case with a function like this. Another popular way of writing this function is shown in Figure 3.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://1.bp.blogspot.com/_ur-RA5iq54I/S3f0DkplHJI/AAAAAAAAAWs/92zyN_9XEcE/s1600-h/ot49a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ur-RA5iq54I/S3f0DkplHJI/AAAAAAAAAWs/92zyN_9XEcE/s320/ot49a.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1799474711497514132-8704934057386917071?l=sqlserver-guide.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=8LtOJnTz9WM:cV02cqvA_Vc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=8LtOJnTz9WM:cV02cqvA_Vc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=8LtOJnTz9WM:cV02cqvA_Vc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=8LtOJnTz9WM:cV02cqvA_Vc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?i=8LtOJnTz9WM:cV02cqvA_Vc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?a=8LtOJnTz9WM:cV02cqvA_Vc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StructuredQueryLanguage?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/StructuredQueryLanguage/~4/8LtOJnTz9WM" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-02-14T05:01:37.216-08:00</atom:updated><media:thumbnail url="http://4.bp.blogspot.com/_ur-RA5iq54I/S3fznJsiOOI/AAAAAAAAAWc/GXIXV5DtleU/s72-c/hello1.jpeg" height="72" width="72" /><feedburner:origLink>http://sqlserver-guide.blogspot.com/2010/02/sql-perlpl-overview.html</feedburner:origLink></item><media:rating>nonadult</media:rating></channel></rss>

