<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwizguide.com/rss_namespace/">
 <channel>
  <title>Notechsoft Forums</title>
  <link>http://www.Notechsoft.com/forum/</link>
  <description>This is an XML content feed of; Notechsoft Forums : Last 10 Posts</description>
  <copyright>Copyright (c) 2006-2007 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Thu, 20 Nov 2008 03:27:34 +0000</pubDate>
  <lastBuildDate>Wed, 19 Nov 2008 10:31:09 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.05</generator>
  <ttl>30</ttl>
  <WebWizForums:feedURL>www.Notechsoft.com/forum/RSS_topic_feed.asp</WebWizForums:feedURL>
  <image>
   <title>Notechsoft Forums</title>
   <url>http://www.Notechsoft.com/forum/forum_images/logo.gif</url>
   <link>http://www.Notechsoft.com/forum/</link>
  </image>
  <item>
   <title>Software Problems and Useful Utilities : Karaoke Sound Tools 1.0.9</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=205&amp;PID=224#224</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Karaoke Sound Tools 1.0.9<br /><strong>Posted:</strong> 19/Nov/2008 at 10:31am<br /><br /><div align="center"><font size="3" color="#990000"><b>Karaoke Sound Tools - Remove vocal, adjust key and tempo of karaoke songs<br><br></b></font><div align="left"><font size="3"><span id="intelliTxt"><img src="http://www.softpedia.com/screenshots/thumbs/Karaoke-Sound-Tools--thumb.png" height="110" width="160" hspace="5" vspace="5" border="0" align="left" alt="Karaoke-Sound-Tools" />Karaoke Sound Tools lets you remove vocal, adjustkey and tempo of karaoke songs. Karaoke Sound Tools is an easy to usesoftware package for karaoke audio processing. <br><br>If you use akaraoke BIN or MP3+G file and use tempo changer, the graphics part ofthe song will be adjusted so the lyrics are in sync with slower orfaster version of the song. No other software has this feature.<br><br></span><span id="intelliTxt"><font color="#000000"><span style="color: blue;"><b>Here are some key features of "Karaoke Sound Tools":</b></span></font><br><br></span></font><ol><li><font size="3"><span id="intelliTxt">Vocal remover to remove vocal parts from CD recordings</span></font></li><li><font size="3"><span id="intelliTxt">Control the amount of bass and treble processing.</span></font></li><li><font size="3"><span id="intelliTxt">Remove vocals from non-centered recordings using balance.</span></font></li><li><font size="3"><span id="intelliTxt">Adjust vocal removing level and output attenuation.</span></font></li><li><font size="3"><span id="intelliTxt">Key changer to adjust the song to singers voice.</span></font></li><li><font size="3"><span id="intelliTxt"> change the pitch in -12 to +12 semitone (half-note steps) range.</span></font></li><li><font size="3"><span id="intelliTxt">After processing, music instruments nor vocal have no chipmunk or timespeed up or down, holding the tempo the same as if the original studiorecorded in your key.</span></font></li><li><font size="3"><span id="intelliTxt">you can process karaoke songs with lyrics (BIN and MP3+G).</span></font></li><li><font size="3"><span id="intelliTxt">Tempo changer to speed up or slow down the song.</span></font></li><li><font size="3"><span id="intelliTxt">change the tempo of the song from two times slower to twice as fast.</span></font></li><li><font size="3"><span id="intelliTxt">tempo changer retains the original key of the song</span></font></li><li><font size="3"><span id="intelliTxt">you can process karaoke songs with lyrics -- they will be adjusted to stay in sync.</span></font></li></ol>Download it with serial number (full version)<br><a href="http://www.notechsoft.com/forum/download.asp?v=63" target="_blank">http://www.notechsoft.com/forum/download.asp?v=63</a><br><br><span id="intelliTxt"></span></div></div>]]>
   </description>
   <pubDate>Wed, 19 Nov 2008 10:31:09 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=205&amp;PID=224#224</guid>
  </item> 
  <item>
   <title>ASP.NET : ASP.Net Tutorials from Youtube</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=204&amp;PID=223#223</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> ASP.Net Tutorials from Youtube<br /><strong>Posted:</strong> 19/Nov/2008 at 7:17am<br /><br /><div align="center"><b><font size="4" color="#990000">ASP.Net Tutorial from Youtube<br></font></b><div align="left"><br><font size="3">Youtube has many ASP.Net video tutorials ,I believe they are useful .Here are samples.<br><br></font><div align="center"><font size="3">ASP.NET Repeater com C#</font><br></div><div align="center">&#091;TUBE&#093;TdI8Dhd3EPI&#091;/TUBE&#093;<br><br><font size="3">C# (ASP.NET) Contact form and email</font><br>&#091;TUBE&#093;uuyMcmwJGO8&#091;/TUBE&#093;<br><br><div align="left">You can watch and download more examples directly from this link<br><a href="http://www.notechsoft.com/youtube_result.asp?PageNo=1&amp;v=ASP.Net%20Toturial" target="_blank">http://www.notechsoft.com/youtube_result.asp?PageNo=1&amp;v=ASP.Net%20Toturial</a><br><br>Download youtube videos :<br><br><a href="http://www.notechsoft.com/download_youtube.asp" target="_blank">http://www.notechsoft.com/download_youtube.asp</a><br><br><br><br></div></div></div></div><span style="font-size:10px"><br /><br />Edited by mrweb - Yesterday at 10:36am</span>]]>
   </description>
   <pubDate>Wed, 19 Nov 2008 07:17:42 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=204&amp;PID=223#223</guid>
  </item> 
  <item>
   <title>SQL Server : SQL Server Settings Optimization Tips</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=203&amp;PID=222#222</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> SQL Server Settings Optimization Tips<br /><strong>Posted:</strong> 18/Nov/2008 at 3:40am<br /><br /><center><h1><font size="5" color="#990000">SQL Server Settings Optimization Tips</font></h1></center><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can increase the 'min memory per query' option to improve theperformance of queries that use hashing or sorting operations, if yourSQL Server has a lot of memory available and there are many queriesrunning concurrently on the server.</b><br>The SQL Server will automatically allocate, at a minimum, the amount ofmemory set in this configuration setting. The default 'min memory per query'option is equal to 1024 Kb.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can increase the 'max async IO' option if your SQL Server workson a high performance server with high-speed intelligent disk subsystem(such as hardware-based RAID with more than 10 disks).</b><br>This option specifies the maximum number of outstanding asynchronousdisk I/O requests that the entire server can issue against a file.By the way, the 'max async IO' SQL Server option is no longer supportedin SQL Server 2000.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can change the 'network packet size' option to the appropriate value.</b><br>This option can improve performance on networks whose base topology supportslarger packets than TCP/IP's default of 4096 bytes. For example, if clientsends or receives large amounts of data, a larger packet size can improveperformance, because it results in fewer network reads and writes.The default value for the 'network packet size' option is 4096 bytes.Microsoft does not recommend changing this option, because for mostapplications, the default packet size of 4096 bytes is best.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can change the 'fill factor' option to the appropriate value.</b><br>The 'fill factor' option specifies how full SQL Server will make eachindex page. When there is no free space to insert new row on the indexpage, SQL Server will create new index page and transfer some rows fromthe previous page to the new one. This operation is called page splits.You can reduce the number of page splits by setting the appropriatefill factor option to reserve free space on each index page.The fill factor is a value from 1 through 100 that specifies thepercentage of the index page to be left empty.The default value for fill factor is 0. It is treated similarly to afill factor value of 100, the difference in that SQL Server leavessome space within the upper level of the index tree for FILLFACTOR = 0.The fill factor percentage is used only at the time the index is created.If the table contains read-only data (or data that very rarely changed),you can set the 'fill factor' option to 100. When the table's data modifiedvery often, you can decrease the 'fill factor' option to 70 percent, forexample.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can increase the 'recovery interval' value.</b><br>The 'recovery interval' option specifies the maximum number of minutesper database that SQL Server needs to complete its recovery procedures.The default value of this option is 0. It means that SQL Server willautomatically configure this option.SQL Server issues a checkpoint using the 'recovery interval' option.Microsoft does not recommend changing this option in general case,but sometimes you can improve performance by changing this option.You can monitor disk-write activity on the data files, and if you seeperiodic spikes that send disk utilization to 100 percent, you canincrease the recovery interval. In this case, Microsoft suggestssetting the 'recovery interval' option to 5 and continuing monitoring.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can set the 'priority boost' SQL Server options to 1.</b><br>You can set this option to 1, if you want from SQL Server to work witha higher priority than other processes on the same computer. The defaultvalue is 0. Setting 'priority boost' to 1 can degrade the performance ofother applications running on the same computer with SQL Server.So, you should set the 'priority boost' SQL Server options to 1 only ifyou have dedicated server to SQL Server.In other case, do not change this option.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>Set the 'max worker threads' options to the maximum number of theuser connections to your SQL Server box.</b><br>The default setting for the 'max worker threads' option is 255. If thenumber of user connections will be less than the 'max worker threads'value, a separate operating system thread will be created for each clientconnection, but if the number of user connections will exceed this valuethe thread pooling will be used.For example, if the maximum number of the user connections to your SQL Serverbox is equal to 50, you can set the 'max worker threads' options to 50, thisfrees up resources for SQL Server to use elsewhere. If the maximum numberof the user connections to your SQL Server box is equal to 500, you can setthe 'max worker threads' options to 500, this can improve SQL Serverperformance because thread pooling will not be used.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can specify the 'min server memory' and 'max server memory' options.</b><br>These options can be used to specify the fixed amount of memory to allocateto SQL Server. In this case, you should set the 'min server memory' and'max server memory' to the same value (equal to the maximum amount ofphysical memory that SQL Server will use), and set the 'set working set size'SQL Server option to 1. This can improve performance because SQL Serverwill not dynamically allocate memory.You can also change these options when SQL Server works on the same computerwith other applications. In this case, the 'min server memory' options isused to allow SQL Server works when other applications pretend to use allavailable memory, and the 'max server memory' options is used to allowother applications work when SQL Server tried to use all available resources.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>You can specify the 'set working set size' SQL Server option toreserve the amount of physical memory space for SQL Server.</b><br>Unlike SQL Server 6.5, SQL Server 7.0/2000 can automatically allocatememory (can take more memory if SQL Server need it, and can give memoryback to operation system). This is one of the main advantages incomparison with previous versions, but dynamic memory allocationtakes some time. If you know the maximum amount of physical memorythat SQL Server will use, you can specify this amount by setting'min server memory' and 'max server memory' to the same value (equalto the maximum amount of physical memory that SQL Server will use)and set the 'set working set size' option to 1.</li><br><br></font><center><font size="2" face="Verdana">--------------------------------------------------------------------------<br><br></font></center>]]>
   </description>
   <pubDate>Tue, 18 Nov 2008 03:40:32 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=203&amp;PID=222#222</guid>
  </item> 
  <item>
   <title>Introduce Yourself : surrogate</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=202&amp;PID=221#221</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=229" rel="nofollow">orphans40</a><br /><strong>Subject:</strong> surrogate<br /><strong>Posted:</strong> 16/Nov/2008 at 11:51am<br /><br />&nbsp;&nbsp; &nbsp;God created us to be happy and we must be happy but if we missed the salt of the world , even if billion of dollars we can not be happy and what is the salt of the world ,CHILDREN.<DIV>&nbsp;</DIV><DIV>&nbsp; &nbsp;There are many that needs children , we can help each other&nbsp; , one of the ways is through surrogacy , if you need a surrogate GS or TS , dont hesitate to get in touch with me through this forum </DIV><DIV>&nbsp;</DIV><DIV>&nbsp; &nbsp;&nbsp;God bless</DIV>]]>
   </description>
   <pubDate>Sun, 16 Nov 2008 11:51:31 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=202&amp;PID=221#221</guid>
  </item> 
  <item>
   <title>Software Problems and Useful Utilities : Make online backups</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=201&amp;PID=220#220</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Make online backups<br /><strong>Posted:</strong> 16/Nov/2008 at 12:54am<br /><br /><div align="center"><font size="4" color="#990000"><b>Make online backups<br></b></font><div align="left">If you don not make regular backups of your data, I believe you are asking for troubles. I in person lost my precious data twice, just because I did not make a backup of my data. It was boring to collect files and folders and start copying them to a CD.<br><br>Well, the good news is you do not have to do this anymore,<a href="http://mozy.com/home" target="_blank">MozyHome Free</a> (http://mozy.com/home) gives you an automated online-backup service with 2GB of  free storage--enough to preserve all your most critical files (it's a free service). If 2GB is not enough for you, you can upgrade your account to a business account (<a href="http://mozy.com/registrati&#111;n/business" target="_blank">http://mozy.com/registration/business</a>).<br><br><h3>Feature Set<br>            </h3>          <div><h4>Security</h4>            <ul><li><strong>128-bit SSL encryption</strong> — Safely secures your data during transport.</li><li><strong>448-bit Blowfish encryption</strong> — Safely secures your data on Mozy, Inc.'s servers.</li><li><strong>Private encryption key options</strong> — Choose Mozy's own 448-bit key or manage your own private key to encrypt your data.</li><li><strong>Near Continuous Data Protection</strong> — MozyPro automatically detects and backs up new and changed files every 2 hours.<br>            </li></ul>          </div>          <div><h4>Performance</h4>            <ul><li><strong>Automatic or scheduled backup</strong>— Tell MozyPro when to perform your backups. Automatic is the simplestmethod in which backups are performed while your computer is not inuse. Scheduled backups can be performed daily or weekly at a specifiedtime of day.</li><li><strong>Block level incremental backups</strong> — Saves bandwidth and ensures future backups are lightning fast.</li><li><strong>Bandwidth throttling</strong> — You can tell MozyPro to use more or less of your upload bandwidth so other higher priority services can run unimpeded.<br>            </li></ul>          </div>          <div><h4>Ease of Use</h4>            <ul><li><strong>Version (snapshot) support</strong> —  Users have the option of restoring from multiple file versions up to 30 days in the past.</li><li><strong>Backs up SQL, Exchange and file servers</strong> — Protect mission-critical data easier than ever with MozyPro.</li><li><strong>Network Drive support</strong> — The ability to back up networked or mapped drives</li><li><strong>Windows Server support</strong>— In addition to Windows Vista and XP, MozyPro also backs up yourWindows 2003 and Windows 2000 servers. 64-bit Windows is supported.</li><li><strong>Open/locked file support</strong> — No need to close files in order to back them up. MozyPro backs up all open and locked files, including Outlook PST files.</li><li><strong>MozyPro's easy-to-use interface</strong>was designed with the "non-tech-savvy" user in mind. It's as simple asselecting the files to back up, scheduling the times, and lettingMozyPro do the rest.</li><li><strong>Backup sets</strong> are pre-built for the most common file types. Advanced users may edit existing backup sets or create their own.</li></ul>          </div><br><br><br></div></div><span style="font-size:10px"><br /><br />Edited by mrweb - 16/Nov/2008 at 12:57am</span>]]>
   </description>
   <pubDate>Sun, 16 Nov 2008 00:54:49 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=201&amp;PID=220#220</guid>
  </item> 
  <item>
   <title>Microsoft Windows Forum : Outlook on the Desktop</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=200&amp;PID=219#219</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Outlook on the Desktop<br /><strong>Posted:</strong> 16/Nov/2008 at 12:21am<br /><br /><div align="center"><font size="5" color="#990000"><b>Outlook on the Desktop</b></font><br><br></div><font size="3">Have you ever wondered why it's such a pain in the butt to use<img src="http://www.outlook&#111;nthedesktop.com/sites/default/files/images/m&#111;nth_large.thumbnail.png" height="120" width="150" hspace="5" vspace="3" border="0" align="right" alt="%3c3cutl%3c3c%3c3ck" />calendaring programs on your computer? It's simple: they don't mimictheir real life counterparts very well. People who use calendars toorganize their daily lives have them visible in plain sight nearly allof the time. Yet, on the computer, you have to go through a myriad ofwindows and clicks before you can even see your calendar. So to bridgethe gap, I've come up with this little program that will place theMicrosoft Outlook Calendaring system right on your desktop. Thecalendar object gets pinned to your desktop and stays there all thetime in plain sight so you can always see what's upcoming. Of course,the benefits don't stop there ... because it's the actual MicrosoftOutlook calendar, you get all it's functionality, such as directediting, drag and drop of files, etc. You have to see it to believe it.<br></font><font size="3"><b>Download</b></font>:<br><a href="http://www.outlook&#111;nthedesktop.com/setup.exe" target="_blank">http://www.outlookonthedesktop.com/setup.exe</a><br><br><h2>Features</h2><ul><li><font size="3">Places fully functional Microsoft Outlook Calendar  on your Desktop.</font></li><li><font size="3">The Outlook Calendar is pinned to your desktop so that no windows can get stuck behind it.</font></li><li><font size="3">The Calendar's position, size and opacity are all adjustable via a very intuitive GUI.</font></li><li><font size="3">A tray Icon (complete with the day of the month) is provided to to configure the app and perform other actions.</font></li><li><font size="3">Multiple-Monitor Support.</font></li><li><font size="3">Ability to switch between calendar, inbox, contacts, tasks and notes views.</font></li></ul><h2>Requirements</h2><ul><li><font size="3">Windows XP or higher</font></li><li><font size="3">Microsoft Outlook 2000 SP3 <strong></strong>or higher</font></li><li><font size="3"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;displaylang=en" target="_blank">Microsoft .NET Framework 3.5<br>    </a> (The setup program will download and install it for you if you don't have it)</font></li></ul><font size="3"><b>Download</b></font>:<br><a href="http://www.outlook&#111;nthedesktop.com/setup.exe" target="_blank">http://www.outlookonthedesktop.com/setup.exe</a><br><br>]]>
   </description>
   <pubDate>Sun, 16 Nov 2008 00:21:35 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=200&amp;PID=219#219</guid>
  </item> 
  <item>
   <title>SQL Server : DTS Optimization Tips</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=198&amp;PID=217#217</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> DTS Optimization Tips<br /><strong>Posted:</strong> 15/Nov/2008 at 9:34am<br /><br /><div align="center"><font size="4"><b><font color="#990000" face="Verdana">DTS Optimization Tips</font></b></font><br><br></div><font size="2" face="Verdana"><li><b>Avoid using DTS if it is possible to use Transact-SQL distributed querysuch as a SELECT INTO statement to transfer data.</b><br>Using Transact-SQL is the fastest method to move data between SQL Servertables, so try to use Transact-SQL statements to move data whenever possible.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>Try to use BULK INSERT statement instead of bcp or DTS to load datainto SQL Server from the text file.</b><br>The BULK INSERT statement is much faster than bcp or the data pump to performtext file import operations, however, the BULK INSERT statement cannot exportdata from SQL Server to a data file.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>Use the bcp utility instead of DTS when you need to export data fromthe SQL Server table into a text file.</b><br>The bcp utility is much faster than DTS, so try to use it whenever possible.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>Try to avoid using data pump operations that use ActiveXtransformation scripts.</b><br>Because data pump operations that use ActiveX transformation scriptscan be up to two to four times slower than copy operations, you shouldavoid using ActiveX transformation scripts, whenever possible.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>If you cannot avoid using ActiveX scripts in your data pumpoperations, try to use VBScript instead of JScript or PerlScript.</b><br>Microsoft recommends to use VBScript because scripts written in VBScriptrun approximately 10 percent faster than scripts written in JScript,which in turn run approximately 10 percent faster than scripts writtenin PerlScript.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------</font></center><font size="2" face="Verdana"><br><li><b>When the transformation contains many columns (more than 20)and the data pump operations use ActiveX transformation scripts,use ordinal values to refer to columns in ActiveX transformationsinstead of referring to columns by name.</b><br>Use this tip only when the transformation contains many columns.If the transformation contains less than 20 columns, use columns nameto refer to columns in ActiveX transformations to make the scripteasier to read.</li><br><br></font><center><center><font size="2" face="Verdana">------------------------------------</font></center></center><font size="2" face="Verdana"><br><li><b>Try to use many-to-many copy column transformations instead ofone-to-one copy column transformations.</b><br>The DTS Import/Export Wizard uses many-to-many column mappings.By default, the DTS Designer assigns one-to-one column mappingsto transformations in order to improve readability. Because a singlemany-to-many copy column transformation is faster then many one-to-onecopy column transformations, you can manually set your Transform Datatask or Data Driven Query task to use many-to-many column mappings.For example, to set Transform Data task to use many-to-many columnmappings in SQL Server 2000 DTS Designer, you can do the following:<br>1. Choose appropriate Transform Data task in the DTS Designer.<br>2. Right-click this task and select Properties.<br>3. On the Transformations tab click 'Select All' button.<br>4. Click 'Delete All' button.<br>5. Click 'New' button and choose 'Copy Column' in the Create New   Transformation window.<br>6. Specify the transformation options and click 'OK' button.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br><br></font></center><font size="2" face="Verdana"><br><li><b>You can increase the DTS package priority.</b><br>To increase the DTS package priority in SQL Server 2000, try the following:<br>1. Run SQL Server Enterprise Manager.<br>2. Expand a server group; then expand a server.<br>3. Expand Data Transformation Services and choose appropriate package.<br>4. Right-click package and select 'Design Package'.<br>5. From the top menu of the DTS Designer click Package and select Properties.<br>6. On the General tab increase the package priority by moving the   slider bar to the right one or two steps (the slider bar has   three position, and the default setting is at the second setting).</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>You can increase the Transform Data task or Data Driven Query task priority.</b><br>To increase the Transform Data task priority in SQL Server 2000 DTS Designer,you can do the following:<br>1. Choose appropriate Transform Data task in the DTS Designer.<br>2. Right-click this task and select Workflow Properties.<br>3. On the Options tab increase the task priority by moving the   slider bar to the right one or two steps (the slider bar has   five position, and the default setting is at the third setting).</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>Try to use 'Microsoft OLE DB Provider for SQL Server' instead of'Microsoft ODBC Driver for SQL Server' and 'Microsoft OLE DB Providerfor Oracle' instead of 'Microsoft ODBC Driver for Oracle'.</b><br>Because native OLE DB provider is faster than ODBC provider, youshould use OLE DB provider whenever possible.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>Try to avoid DTS lookups.</b><br>Because DTS lookups slow down performance, try to use the Transact-SQLstatements to perform the same functions.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>Check the 'Use fast load' advanced option of the Transform Data task.</b><br>When you enable this option, the high-speed bulk-copy processing will beused. To enable this option in SQL Server 2000 DTS Designer, you can dothe following:<br>1. Choose appropriate Transform Data task in the DTS Designer.<br>2. Right-click this task and select Properties.<br>3. On the Options tab check the 'Use fast load' option.</li><br><br></font><div align="center">------------------------------------<br></div><font size="2" face="Verdana"><br><li><b>Increase the ODBC query time-out value to improve query performanceon large SQL Server 2000 DTS packages stored in a repository.</b><br>Change this registry setting from the default value (10 seconds):<i>HKEY_LOCALMACHINE\SOFTWARE\Microsoft\Repository\Engine\ODBCQueryTimeout</i>The ODBC query time-out values are measured in seconds.</li><br><br></font><center><font size="2" face="Verdana">------------------------------------<br></font></center><font size="2" face="Verdana"><br><li><b>When using SQL Server 2000 Transform Data task, try to use'Copy Column' method to transfer data.</b><br>This is the fastest way to transfer data using Transform Data task,so it should be used whenever possible.</li></font><br><br><span style="font-size:10px"><br /><br />Edited by mrweb - 15/Nov/2008 at 9:34am</span>]]>
   </description>
   <pubDate>Sat, 15 Nov 2008 09:34:30 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=198&amp;PID=217#217</guid>
  </item> 
  <item>
   <title>SQL Server : Better Performance - LEFT JOIN or NOT IN?</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=197&amp;PID=216#216</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Better Performance - LEFT JOIN or NOT IN?<br /><strong>Posted:</strong> 15/Nov/2008 at 9:21am<br /><br /><br>First of all answer this question : Which method of T-SQL is better forperformance LEFT JOIN or NOT IN when writing query? Answer is : Itdepends! It all depends on what kind of data is and what kind query itis etc. In that case just for fun guess one option LEFT JOIN or NOT IN.If you need to refer the query which demonstrates the mentionedclauses, review following two queries.<br><br><div ="codeer">Code:</div><div ="code"><pre style="margin-top: 0pt; display: inline;"><b><font color="#990000">USE AdventureWorks;<br>GO<br>SELECT ProductID<br>&nbsp; &nbsp; FROM Production.Product<br>&nbsp; &nbsp; WHERE ProductID<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOT IN (<br>&nbsp; &nbsp; SELECT ProductID<br>&nbsp; &nbsp; &nbsp; &nbsp; FROM Production.WorkOrder);<br>GO<br>SELECT p.ProductID<br>&nbsp; &nbsp; FROM Production.Product p<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LEFT JOIN Production.WorkOrder w ON p.ProductID = w.ProductID<br>&nbsp; &nbsp; WHERE w.ProductID IS NULL;<br>GO</font></b></pre></div>Now let us examine the actual execution plan of both the queries.<br>&nbsp;Click on image to see larger image.<br><br><div align="center"><a href="http://www.pinaldave.com/blogfolder/executi&#111;nplanbig.gif" target="_blank"><img src="http://www.pinaldave.com/blogfolder/executi&#111;nplanbig.gif" height="328" width="800" border="0" /></a> <br></div>&nbsp;You can clearly observe that first query with NOT IN takes 20%resources of execution plan and LEFT JOIN takes 80% resources ofexecution plan. It is better to use NOT IN clause over LEFT JOIN inthis particular example. Please note that this is not genericconclusion and applies to this example only. Your results may vary onmany factors. Let me know your comments if you have guessed thiscorrect or not.]]>
   </description>
   <pubDate>Sat, 15 Nov 2008 09:21:19 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=197&amp;PID=216#216</guid>
  </item> 
  <item>
   <title>SQL Server : Choice Between Stored Procedures, Functions, Views</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=196&amp;PID=215#215</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Choice Between Stored Procedures, Functions, Views<br /><strong>Posted:</strong> 15/Nov/2008 at 9:17am<br /><br /><b>Views</b><br>Views are one of the greatest things invented sincesliced bread. The main beauty of a view is that it can be used like atable in most situations, but unlike a table, it can encapsulate verycomplex calculations and commonly used joins. It can also use prettymuch any object in the db except for stored procedures. Views are mostuseful when you always need to join the same set of tables say an Orderwith an Order Detail to get summary calculation fields etc. <br><br><table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"><t><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Feature</b></td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Rating</b></td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Works in various kinds of databases </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4(many&nbsp; databases such as DB II, Oracle, SQL Server support them, MySQL5, PostGreSQL, SQLite, MSAccess (calls it a query)).&nbsp; There are alsosome that don’t e.g. MySQL &lt; 5.0 </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be called by multiple applications and interfaces </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 (generally they can be called anywhere where you can call a table which is pretty much everywhere) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can take an undefined number of arguments </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 (you can select subsets of columns and rows from a view just like you can from a table) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Reusability within the database </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 (you can reuse them in other views, in stored functions and stored procedures). </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be used to change data in a table without giving rights to a user to change table directly. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3&nbsp;In many databases Views are read-only and complex views are rarelyupdateable. Note that for example some databases such asOracle,PostgreSQL, MS SQL Server , SQLite will allow you to update evena complex view by using an instead of trigger or rule against the view.MySQL 5, MS SQL Server and some others automatically make one tableviews updateable. MS Access has a fairly sophisticated update algorithmfor queries in that it automatically makes one table and evenmulti-table queries updateable and allows deletes if you define primarykeys appropriately. Also depending on the field a column comes from itwill update that and also automatically create child records in childtables if you try to update a child column when there is no record. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can return varying number of fields given different arguments. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4– (you can select subsets of columns and rows from a view just like youcan from a table). However you can't change the underlying structuree.g. return records from a different set of tables like you can with astored procedure or function. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Long stretches of SQL easy to read. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3(A view can often be defined with an administrative designer or using acolor coded sql editor so is fairly easy to read) - in general thoughit is limited to only one select statement or unioned selectstatements. </td></tr></t></table><br><br><b>Triggers And Rules</b><br><br>Triggersare objects generally tied to a table or view that run code based oncertain events such as inserting data, before inserting data,updating/deleting data and before these events happen. <br><br>Triggerscan be very great things and very dangerous things. Dangerous in thesense that they are tricky to debug, but powerful because no update toa table with a trigger can easily escape the trigger.<br><br>They areuseful for making sure certain events always happen when data isinserted or updated - e.g. set complex default values of fields,inserting logging records into other tables.<br><br>Triggers areespecially useful for one particular situation and that is forimplementing instead of logic. For example as we said earlier, manyviews involving more than one table are not updateable. However in DBMSsuch as PostgreSQL, you can define a rule on a view that occurs whensomeone tries to update or insert into the view and will occur insteadof the insert. The rule can be fairly complex and can layout how thetables should be updated in such a situation. MS SQL Server and SQLitelet you do something similar with INSTEAD OF triggers. Note the termRule is a little confusing in DBMS because they mean quite differentthings. In Microsoft SQL Server for example a Rule is an obsoleteconstruct that was used to define constraints on tables. In PostgreSQLa Rule is very similar to a trigger except that it does not gettriggered per row event and is defined without need of a handlingfunction.<br><br><br><table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"><t><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Feature</b></td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Rating</b></td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Works in various kinds of databases </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">2(many&nbsp; databases such as DB II, Oracle, SQL Server support them, MySQL5, PostGreSQL,).&nbsp; There are lots that don't e.g. MySQL &lt; 5.0, MySQL5 limited, MS Access </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be called by multiple applications and interfaces </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 (it just happens behind the scenes. No application can escape them) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can take an undefined number of arguments </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">0 ( strictly for updating data and against a table or view ) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Reusability within the database </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">0 - No </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be used to change data in a table without giving rights to a user to change table directly. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4&nbsp; In general yes for databases that support them </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can return varying number of fields given different arguments. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">0 –Triggers are strictly for updating data </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Longstretches of SQL easy to read. A trigger can often be defined with anadministrative designer or using a color coded sql editor so is fairlyeasy to read </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 </td></tr></t></table><br>]]>
   </description>
   <pubDate>Sat, 15 Nov 2008 09:17:18 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=196&amp;PID=215#215</guid>
  </item> 
  <item>
   <title>SQL Server : Choice Between Stored Procedures, Functions, Views</title>
   <link>http://www.Notechsoft.com/forum/forum_posts.asp?TID=196&amp;PID=214#214</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.Notechsoft.com/forum/member_profile.asp?PF=1" rel="nofollow">mrweb</a><br /><strong>Subject:</strong> Choice Between Stored Procedures, Functions, Views<br /><strong>Posted:</strong> 15/Nov/2008 at 9:15am<br /><br /><b>Stored Procedures</b><br><br>Stored procedures are one of numerousmechanisms of encapsulating database logic in the database. They aresimilar to regular programming language procedures in that they takearguments, do something, and sometimes return results and sometimeseven change the values of the arguments they take when arguments aredeclared as output parameters. You will find that they are very similarto stored functions in that they can return data; however storedprocedures can not be used in queries. Since stored procedures have themechanism of taking arguments declared as OUTPUT they can in theoryreturn more than one output. <br><br><table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"><t><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Feature</b></td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Rating</b></td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Works in various kinds of databases </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3(many&nbsp; databases such as DB II, Oracle, SQL Server, MySQL 5,PostGreSQL, FireBird support them).&nbsp; There are also a lot that don’te.g. MySQL &lt; 5.0, MS Access (although parameterized queries serve asimilar role) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be called by multiple applications and interfaces </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4 (generally they can be called, but the use of OUTPUT arguments&nbsp; is not always usable) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can take an undefined number of arguments </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">2(note most databases allow to define optional arguments, but this canbecome very unwieldy to maintain if there are a lot&nbsp; because you end upduplicating logic even within the stored procedure so is generallyavoided) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Reusability within the database </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3(you can not reuse them in views, rarely in stored functions and otherstored procedures unless the stored procedure using it does not requirea return value or result query).&nbsp; This varies slightly from DBMS toDBMS. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be used to change data in a table without giving rights to a user to change table directly </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4&nbsp; In general true for most DBMSs that support them. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can return varying number of fields given different arguments. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3–again in theory it can, but very hard to maintain since you wouldoften be duplicating logic to say return one field in one situation andother set of fields in another situation or update a field when thefield is passed in as an argument. Note that in many databases such asfor example SQL Server and Oracle, one can return multiple result setswith a stored procedure, but the receiving end needs to be able to do anext result set call and know the sequence in which the result sets arebeing sent. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Long stretches of SQL easy to read and maintain </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5(one of the great strengths of stored procedures is that you can havelong transactions of sql statements and conditional loops which can beall committed at once or rolled back as a unit. This also saves onnetwork traffic. </td></tr></t></table><br><b>Stored Functions</b><br>Stored Functions are very similar to stored procedures except in 3 major ways. <br><br>1- Unlike stored procedures, they can be used in views, stored procedures, and other stored functions. <br><br>2- In many databases they are prohibited from changing data or have ddl/dml limitations.&nbsp; Note for databases such as <br>PostGreSQL this is not true since the line between a stored function and a stored procedure is very greyed <br><br>3- They generally can not take output arguments (placeholders) that are then passed back out with changed values. <br><br><table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"><t><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Feature</b></td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"><b>Rating</b></td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Works in various kinds of databases </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3(many&nbsp; databases such as DB II, Oracle, SQL Server support them, MySQL5, PostGreSQL).&nbsp; There are also a lot that don’t e.g. MySQL &lt; 5.0,MS Access </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be called by multiple applications and interfaces </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4 (generally they can be called, but the use of OUTPUT arguments&nbsp; is not always usable) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can take an undefined number of arguments </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">2(note most databases allow to define optional arguments, but this canbecome very unwieldy to maintain if there are a lot&nbsp; because you end upduplicating logic even within the stored function so is generallyavoided) </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Reusability within the database </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 (you can reuse them in views, in other stored functions and stored procedures).&nbsp; This varies slightly from DBMS to DBMS. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can be used to change data in a table without giving rights to a user to change table directly </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">3&nbsp;Many databases do not allow changing of data in stored functions excepttemp table data, but those that do in general support this. </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Can return varying number of fields given different arguments. </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">4–For databases such as SQL Server, PostgreSQL, DB 2, Oracle that allowreturn tables and sets, you can selectively pick fields you want fromwithin a query. So although the function always outputs the same numberof fields, you can selectively use only some similar to what you can dowith views. This is not true for scalar functions (MySQL 5.1- onlysupports scalar functions). </td></tr><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">Long stretches of SQL easy to read </td><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top">5 - yes - you can do fairly intensive multi-line processing which in the end returns one value or table to the user. </td></tr></t></table>]]>
   </description>
   <pubDate>Sat, 15 Nov 2008 09:15:45 +0000</pubDate>
   <guid isPermaLink="true">http://www.Notechsoft.com/forum/forum_posts.asp?TID=196&amp;PID=214#214</guid>
  </item> 
 </channel>
</rss>