<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rob Farley : wagga</title><link>http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx</link><description>Tags: wagga</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Dangers of BEGIN and END</title><link>http://msmvps.com/blogs/robfarley/archive/2009/12/05/dangers-of-begin-and-end.aspx</link><pubDate>Sat, 05 Dec 2009 11:32:47 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1743773</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1743773</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2009/12/05/dangers-of-begin-and-end.aspx#comments</comments><description>&lt;p&gt;I’ve presented this material at three conferences recently, so it’s about time I wrote a blog post on it...&lt;/p&gt;  &lt;p&gt;As programmers, we love modularisation – even in the SQL space. We make stored procedures, views, and functions to encapsulate our code. This improves maintainability, simplifies the development experience, and is generally useful.&lt;/p&gt;  &lt;p&gt;But there’s a time when it’s a bad thing for SQL Server.&lt;/p&gt;  &lt;p&gt;There’s an amazing component of SQL Server called the Query Optimizer (I always want to write Optimiser, but I’m assuming it’s a proper noun and putting up with the US spelling). When we write queries in T-SQL, it’s the Query Optimizer that works out how to actually run the query. It works out what indexes can be used to improve performance, what order tables (well, indexes and heaps) should be accessed, how to perform the joins, and so on. I find that a rough appreciation of the power of the Query Optimizer can really help query writers.&lt;/p&gt;  &lt;p&gt;For example, the Query Optimizer will translate a correlated sub-query in the SELECT clause into a LEFT OUTER JOIN, so that &lt;a href="http://stackoverflow.com/questions/1772609/procedurally-transform-subquery-into-join/1844502#1844502" target="_blank"&gt;you don’t have to&lt;/a&gt;. It will also work out when joins can be rendered pointless and thereby &lt;a href="http://go2.wordpress.com/?id=725X1342&amp;amp;site=philnolan.wordpress.com&amp;amp;url=http%3A%2F%2Fmsmvps.com%2Fblogs%2Frobfarley%2Farchive%2F2008%2F11%2F09%2Fjoin-simplification-in-sql-server.aspx" target="_blank"&gt;removed from the plan altogether&lt;/a&gt;. If you let these principles help you in your query design, you can see significant benefits. It also helps you write queries that are easier to maintain, as there’s little point in trying to be clever by writing a query in a different way if the Query Optimizer will handle it in the same way as before.&lt;/p&gt;  &lt;p&gt;If you use a view in another query, the definition of the view is used in the query as if you had written it with a sub-query. A view is simply that – a stored sub-query. They are sometimes referred to as ‘virtual tables’, but I disagree. They are stored sub-queries. Sure, the analogy falls down when you start considering indexed views, but on the whole, a view should be seen as a stored sub-query. The Query Optimizer takes the view definition, applies it in the second query, simplifies it where possible, and works out the best way of executing it. If you’re only interested in a couple of columns out of the view, the Query Optimizer has an opportunity to take that into consideration.&lt;/p&gt;  &lt;p&gt;Stored procedures are different. You can’t use a stored procedure in an outer query. The closest you can get to this is to use OPENROWSET to consume the results of a stored procedure in an outer query, but still the whole procedure runs. After all, it’s a procedure. A set of T-SQL &lt;strong&gt;commands&lt;/strong&gt;, not a set of queries. I see the clue to this as the BEGIN and END that stored procedures generally use. I like stored procedures, but I do get frustrated if they’re returning more information than I need, since I have no way of letting the system know that maybe it doesn’t need to do as much work.&lt;/p&gt;  &lt;p&gt;Functions are in between, and come in two varieties. A function can be inline, or it can be procedural. I don’t think you find this differentiation in many places – and normally people talk about this particular drawback as being associated with Scalar Functions as compared to Table-Valued Functions, but the problem is actually one of simplification.&lt;/p&gt;  &lt;p&gt;An inline function must be a table-valued function at this point in time. It takes the form:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;CREATE FUNCTION dbo.fnFunctionName(&amp;lt;paramlist&amp;gt;) RETURNS TABLE AS       &lt;br /&gt;RETURN        &lt;br /&gt;( SELECT …. );&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It is always this form, with a sub-query enclosed in a RETURN statement. It can return many columns and many rows, but the definition of the table is implied by the SELECT clause. This is essentially a view that can take parameters.&lt;/p&gt;  &lt;p&gt;The other form is one that involves BEGIN and END. Scalar functions (unfortunately) require this (but hopefully one day will not).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;CREATE FUNCTION dbo.fnFunctionName(&amp;lt;paramlist&amp;gt;) RETURNS int AS       &lt;br /&gt;BEGIN        &lt;br /&gt;RETURN ( ... )        &lt;br /&gt;END;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As the RETURN statement is enclosed between a BEGIN and END, it can be preceded by other statements, used in working out what value should be returned.&lt;/p&gt;  &lt;p&gt;Table-valued functions can use BEGIN and END, when multiple lines are required to calculate the rows in the table being returned.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;CREATE FUNCTION dbo.fnFunctionName(&amp;lt;paramlist&amp;gt;) RETURNS @table TABLE (&amp;lt;fields&amp;gt;) AS       &lt;br /&gt;BEGIN        &lt;br /&gt;...        &lt;br /&gt;RETURN        &lt;br /&gt;END;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In this kind of function, the table variable is populated with data, and returned to the outer query when the RETURN command is reached.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;But when the Query Optimizer comes across a procedural function, it cannot simplify it out and executes the function in a different context.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The execution plan will report that the cost of running the function is zero. But it’s lying. The way to see the impact of the function is to look in SQL Profiler, where you’ll see potentially many calls to the function, as it needs to work out the result for each different set of parameters it’s passed. The pain can be quite great, and you will never have noticed if you just look at the Execution Plans.&lt;/p&gt;  &lt;p&gt;The moral of the story is to make sure that your functions are able to be simplified out by the Query Optimizer. Use inline table-valued functions even in place of scalar functions. You can always hook into them using CROSS/OUTER APPLY in your FROM clause, or even use them in your SELECT clause (not “SELECT Claws” – that would make it related to my company LobsterPot Solutions, and “SELECT Claus” is just a bit Christmassy) using a construct like SELECT (SELECT field FROM dbo.fnMyTVF(someParam)) ...&lt;/p&gt;  &lt;p&gt;Consider the Query Optimizer your friend. Study Execution Plans well to look at how the Query Optimizer is simplifying your query. And stay away from BEGIN and END if possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1743773" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/teched/default.aspx">teched</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql+bits/default.aspx">sql bits</category></item><item><title>More SQL Conferences coming up, including SQL Bits and SQL Down Under</title><link>http://msmvps.com/blogs/robfarley/archive/2009/08/27/more-sql-conferences-coming-up-including-sql-bits-and-sql-down-under.aspx</link><pubDate>Thu, 27 Aug 2009 12:06:33 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1718698</guid><dc:creator>Rob Farley</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1718698</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2009/08/27/more-sql-conferences-coming-up-including-sql-bits-and-sql-down-under.aspx#comments</comments><description>&lt;p&gt;I know I won’t be there, as I’m a million miles away in Australia, but being from the UK myself, I always have an interest in the UK SQL community and in particular, events like SQL Bits.&lt;/p&gt;  &lt;p&gt;This is the fifth &lt;a href="http://www.sqlbits.com/" target="_blank"&gt;SQL Bits conference&lt;/a&gt;, and they keep getting larger and larger. I’ve heard it’s now the largest SQL-focussed event in Europe. It’s going to be in South Wales (&lt;a href="http://www.youtube.com/watch?v=SY-u15WmQBE" target="_blank"&gt;that’s OLD South Wales, not New South Wales&lt;/a&gt;), in November. I’m sure the area is lovely, good beaches ‘n all that… but considering it’s late November in Wales, I think you’ll be going for the SQL content, not the scenery.&lt;/p&gt;  &lt;p&gt;Of course, if you are in New South Wales, then you ought to be thinking slightly earlier, in particular, the second weekend in October. The third &lt;a href="http://www.sqldownunder.com/SDUCodeCamp/tabid/100/Default.aspx" target="_blank"&gt;SQL Code Camp&lt;/a&gt; is being held in Wagga, with many regular speakers (like myself) and quite a few new ones too.&lt;/p&gt;  &lt;p&gt;These two events are clearly the significant SQL events in the last quarter of the year. I’m sure no-one cares about &lt;a href="http://summit2009.sqlpass.org/" target="_blank"&gt;SQL PASS&lt;/a&gt;, after all. (I do wish I was going to this one, but I won’t be. I plan to go one year, but I was in the US that week last year, and I don’t plan to be away from home for two birthdays in a row. Maybe next year. It is the biggest SQL event in the world, with great speakers from everywhere, including many good friends of mine.)&lt;/p&gt;  &lt;p&gt;No matter where you are in the world, there are SQL events that you should be going to. Professional development is really important for your career, and you shouldn’t neglect it. That being said, make sure you find me at &lt;a href="http://www.msteched.com/australia/Public/default.aspx" target="_blank"&gt;TechEd Australia&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1718698" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/professional+development/default.aspx">professional development</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql+bits/default.aspx">sql bits</category></item><item><title>SQL Down Under talks, and England wins</title><link>http://msmvps.com/blogs/robfarley/archive/2007/10/14/sql-down-under-talks-and-england-wins.aspx</link><pubDate>Sun, 14 Oct 2007 00:21:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1247327</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1247327</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2007/10/14/sql-down-under-talks-and-england-wins.aspx#comments</comments><description>&lt;p&gt;This weekend is getting better and better. With England winning in both the &lt;a href="http://www.uefa.com/competitions/euro/fixturesresults/round=2241/match=83947/index.html" target="_blank"&gt;football&lt;/a&gt; and the &lt;a href="http://www.rugbyworldcup.com/home/fixtures/round=104/match=10117/report.html" target="_blank"&gt;rugby&lt;/a&gt;, my mood is pretty good anyway - despite having to give the first presentation of Sunday morning at the &lt;a href="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" target="_blank"&gt;SQL Down Under Code Camp&lt;/a&gt;. The &lt;a href="http://www.wintv.com.au/index_new.php?regid=5" target="_blank"&gt;local TV channel&lt;/a&gt; sent cameras just after I finished, so I think I managed to avoid having my presentation on the local news. At least, I hope they came just after I finished... otherwise I didn&amp;#39;t notice them lurking in the corner.&lt;/p&gt;  &lt;p&gt;I taught the crowd about &lt;a href="https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5509" target="_blank"&gt;MERGE&lt;/a&gt; &amp;amp; &lt;a href="https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5507" target="_blank"&gt;Table-Valued Parameters&lt;/a&gt;, and got good feedback from various members of the audience. Hopefully people will be able to take the content and use it to try things out in &lt;a href="https://connect.microsoft.com/sql" target="_blank"&gt;SQL2008&lt;/a&gt; when they get back to the real world.&lt;/p&gt;  &lt;p&gt;Now, &lt;a href="http://www.ak.com.au/" target="_blank"&gt;Grant Paisley&lt;/a&gt; is presenting about Analysis Services Best Practices. I&amp;#39;ve heard Grant give this talk before, but it&amp;#39;s still good. With &lt;a href="http://geekswithblogs.net/darrengosbell/" target="_blank"&gt;Darren Gosbell&lt;/a&gt;, &lt;a href="http://blogs.sqlserver.org.au/blogs/Greg_Linwood/" target="_blank"&gt;Greg Linwood&lt;/a&gt; and &lt;a href="http://sqlblog.com/blogs/kevin_kline/" target="_blank"&gt;Kevin Kline&lt;/a&gt; still to come today, it&amp;#39;s going to be good. Poor France though... with &lt;a href="http://www.uefa.com/competitions/euro/fixturesresults/round=2241/match=83993/index.html" target="_blank"&gt;Scotland&lt;/a&gt; beating the Ukraine in their &lt;a href="http://www.uefa.com/competitions/euro/standings/round=2241/group=2631.html" target="_blank"&gt;Euro 2008 qualifiers&lt;/a&gt;, Les Blues need to win both their remaining matches to qualify for the tournament, and Scotland probably only need to a draw against Italy to go through.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1247327" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/australia/default.aspx">australia</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category></item><item><title>SQL Down Under Code Camp begins</title><link>http://msmvps.com/blogs/robfarley/archive/2007/10/13/sql-down-under-code-camp-begins.aspx</link><pubDate>Sat, 13 Oct 2007 00:27:06 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1245790</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1245790</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2007/10/13/sql-down-under-code-camp-begins.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" target="_blank"&gt;Two days of intensive SQL Server training&lt;/a&gt;, thanks to experts from around Australia and &lt;a href="http://sqlblog.com/blogs/kevin_kline/default.aspx" target="_blank"&gt;Kevin Kline&lt;/a&gt; from the US. All the Australian SQL Server MVPs are coming (five here so far, two more coming soon).&lt;/p&gt; &lt;p&gt;The coffee is great (thanks &lt;a href="http://www.wardyit.com" target="_blank"&gt;Peter&lt;/a&gt;), the company is great, and there are so many more people here (than last year) because there is also a &lt;a href="http://www.securitycampoz.com/" target="_blank"&gt;Security Camp&lt;/a&gt; on at the same time. All the user-group leads are here, including &lt;a href="http://msmvps.com/blogs/brianmadsen/" target="_blank"&gt;Perth&lt;/a&gt; and the new Hobart group (&lt;a href="http://www.datawise.com.au/" target="_blank"&gt;Jason Cook&lt;/a&gt;&amp;#39;s getting this going), which means every Australian state is represented. &lt;/p&gt; &lt;p&gt;I&amp;#39;m sure other people will be blogging about this too, so keep your eye out for them. I&amp;#39;ll try to blog more later on today.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1245790" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/australia/default.aspx">australia</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category></item><item><title>Free SQL training at events in the UK and Australia</title><link>http://msmvps.com/blogs/robfarley/archive/2007/10/10/free-sql-training-at-events-in-the-uk-and-australia.aspx</link><pubDate>Wed, 10 Oct 2007 12:42:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1242993</guid><dc:creator>Rob Farley</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1242993</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2007/10/10/free-sql-training-at-events-in-the-uk-and-australia.aspx#comments</comments><description>&lt;p&gt;...and I&amp;#39;m not even referring to the &lt;a href="http://www.sqlserver.org.au" target="_blank"&gt;User Groups&lt;/a&gt; which run regularly. The ones I&amp;#39;m referring to are &lt;a href="http://www.sqlbits.com/" target="_blank"&gt;SQLBits&lt;/a&gt; and the &lt;a href="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" target="_blank"&gt;SQL Down Under Code Camp&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;SQLBits was in the UK last weekend, and was a massive success. I would&amp;#39;ve loved to have been able to attend, but it&amp;#39;s a bit far to travel (I guess about 12000 miles). They had over three hundred attend, which is fantastic! Adelaide User Group regular Martin Cairney was there, and presented the talk he gave in Adelaide earlier this year. &lt;a href="http://dotnettim.spaces.live.com/blog/cns!4B800EB59FAEDC2A!143.entry" target="_blank"&gt;It seems to have been received well&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;And this coming weekend is the SQL Down Under Code Camp in Wagga Wagga. It should be a great event, with well over a hundred people there. If you&amp;#39;re able to get to Wagga, I thoroughly recommend it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1242993" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/australia/default.aspx">australia</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/training/default.aspx">training</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/professional+development/default.aspx">professional development</category></item><item><title>Code Camps galore</title><link>http://msmvps.com/blogs/robfarley/archive/2007/07/21/code-camps-galore.aspx</link><pubDate>Sat, 21 Jul 2007 10:32:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1045509</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=1045509</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2007/07/21/code-camps-galore.aspx#comments</comments><description>&lt;p&gt;We all know that Adelaide hosted Code Camp SA recently - it was a great success, and &lt;a href="http://davidgardiner.blogspot.com/2007/07/codecampsa-2007-reflections.html" target="_blank"&gt;some people even wished I was there&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/australia/teched07/index.aspx" target="_blank"&gt;TechEd&lt;/a&gt; is coming up of course, but now there are two code camps scheduled for October, on the same weekend (13-14) and at the same venue! Yes, that place is&amp;nbsp;Wagga Wagga - one Wagga for each event.&lt;/p&gt; &lt;p&gt;Firstly, and most importantly I&amp;#39;m sure, is the second &lt;a href="http://www.sqldownunder.com/" target="_blank"&gt;SQL Down Under Code Camp&lt;/a&gt;. But the other one is the &lt;a href="http://www.securitycampoz.com/" target="_blank"&gt;Security Camp Oz&lt;/a&gt;. With me doing the SQL Security talk at TechEd this year, I&amp;#39;m sure I&amp;#39;ll have a good reason to attend both!&lt;/p&gt; &lt;p&gt;Also in October, but the weekend before, and in the UK, the SQL community is hosting &lt;a href="http://www.sqlbits.com/" target="_blank"&gt;SQLBits&lt;/a&gt;. These guys have three streams (Dev, DBA, BI), and promises to be a fantastic event. I only wish I could be there. I&amp;#39;m sure &lt;a href="http://sqlblogcasts.com/blogs/tonyrogerson" target="_blank"&gt;Tony&lt;/a&gt;, &lt;a href="http://sqlblogcasts.com/blogs/simons/" target="_blank"&gt;Simon&lt;/a&gt;, &lt;a href="http://blogs.conchango.com/jamiethomson/" target="_blank"&gt;Jamie&lt;/a&gt;, &lt;a href="http://sqlblogcasts.com/blogs/sqldbatips/" target="_blank"&gt;Jasper&lt;/a&gt; and &lt;a href="http://cwebbbi.spaces.live.com/" target="_blank"&gt;Chris&lt;/a&gt; will do a fantastic job.&lt;/p&gt; &lt;p&gt;Seems wherever you are, October will be a big month for training.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1045509" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/australia/default.aspx">australia</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/sql/default.aspx">sql</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/security/default.aspx">security</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/training/default.aspx">training</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/teched/default.aspx">teched</category></item><item><title>On learning (Calvin and Hobbes, the ACS and digital natives)</title><link>http://msmvps.com/blogs/robfarley/archive/2006/10/27/On-learning-_2800_Calvin-and-Hobbes_2C00_-the-ACS-and-digital-natives_2900_.aspx</link><pubDate>Fri, 27 Oct 2006 01:52:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:211260</guid><dc:creator>Rob Farley</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=211260</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2006/10/27/On-learning-_2800_Calvin-and-Hobbes_2C00_-the-ACS-and-digital-natives_2900_.aspx#comments</comments><description>Digital natives learn differently. How do we take advantage of that? The funny thing is that right away, I&amp;#39;ve written this from an external perspective, when I&amp;#39;m probably in a mixture of both camps. Feel free to consider me in either camp as you...(&lt;a href="http://msmvps.com/blogs/robfarley/archive/2006/10/27/On-learning-_2800_Calvin-and-Hobbes_2C00_-the-ACS-and-digital-natives_2900_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=211260" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/certification/default.aspx">certification</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/personal+development/default.aspx">personal development</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/adelaide/default.aspx">adelaide</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/acs/default.aspx">acs</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/academia/default.aspx">academia</category></item><item><title>Slides and scripts on the OVER clause presentation</title><link>http://msmvps.com/blogs/robfarley/archive/2006/10/16/Slides-and-scripts-on-the-OVER-clause.aspx</link><pubDate>Mon, 16 Oct 2006 01:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:180182</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=180182</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2006/10/16/Slides-and-scripts-on-the-OVER-clause.aspx#comments</comments><description>I&amp;#39;ll write more about this when I get the chance. But in the meantime, if you want the slides and scripts from my presentations in &lt;a href="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" title="SQL Down Under Code Camp" target="_blank"&gt;Wagga&lt;/a&gt; and at &lt;a href="http://www.sqlserver.org.au/events/ViewEvent.aspx?EventId=214" title="AdSSUG meeting" target="_blank"&gt;AdSSUG&lt;/a&gt; last week, then get them from &lt;a href="http://msmvps.com/files/folders/robfarley/entry180018.aspx" title="Presentation notes" target="_blank"&gt;http://msmvps.com/files/folders/robfarley/entry180018.aspx&lt;/a&gt; . It was on Ranking Functions and Windowing, or on the uses of the OVER clause, etc.&lt;br /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=180182" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/adssug/default.aspx">adssug</category></item><item><title>SQL Code Camp Talks</title><link>http://msmvps.com/blogs/robfarley/archive/2006/10/08/SQL-Code-Camp-Talks.aspx</link><pubDate>Sun, 08 Oct 2006 02:13:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:161394</guid><dc:creator>Rob Farley</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=161394</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2006/10/08/SQL-Code-Camp-Talks.aspx#comments</comments><description>&lt;p&gt;All the talks &lt;a href="http://msmvps.com/ControlPanel/Blogs/" title="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" target="_blank"&gt;this weekend&lt;/a&gt; have been great. Almost every talk has a bunch of things that I really hadn&amp;#39;t appreciated before. All &lt;a href="http://msmvps.com/ControlPanel/Blogs/" title="mvp.support.microsoft.com/communities/mvp.aspx?adv=1&amp;amp;competency=Windows+Server+System+-+SQL+Server&amp;amp;country=Australia" target="_blank"&gt;5 SQL MVPs from Australia&lt;/a&gt; are here, plus Itzik (from Israel) and a few non-SQL MVPs from Australia.&lt;/p&gt;&lt;p&gt;I would&amp;#39;ve liked there to have been a few more people here from my user-group in Adelaide, but I do appreciate it&amp;#39;s a long way to come. There are two, plus me.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=161394" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category></item><item><title>SQL Code Camp</title><link>http://msmvps.com/blogs/robfarley/archive/2006/10/08/SQL-Code-Camp.aspx</link><pubDate>Sat, 07 Oct 2006 23:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:161005</guid><dc:creator>Rob Farley</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/robfarley/rsscomments.aspx?PostID=161005</wfw:commentRss><comments>http://msmvps.com/blogs/robfarley/archive/2006/10/08/SQL-Code-Camp.aspx#comments</comments><description>&lt;p&gt;Well, here I am at &lt;a href="http://www.sqldownunder.com/CodeCamp/tabid/53/Default.aspx" title="Wagga" target="_blank"&gt;Wagga Wagga&lt;/a&gt;. It&amp;#39;s Sunday morning, and &lt;a href="http://msmvps.com/controlpanel/blogs/ItzikBen-Gan" title="http://www.sqlmag.com/Departments/Index.cfm?DepartmentID=1016" target="_blank"&gt;Itzik Ben-Gan&lt;/a&gt; is speaking. He&amp;#39;s just shown us slides of the &lt;a href="http://sqlhike.com/" title="SQLHike" target="_blank"&gt;SQLHike&lt;/a&gt; trip, which looks like a really cool idea.&lt;/p&gt;&lt;p&gt;Being here in the middle of nowhere talking about SQL with people is really fun. My talk (on the OVER() clause) went okay yesterday. I was last up and had to keep it short, but I got good feedback from people. People liked it when I jokingly told Itzik to just put his hand up if he had any questions. I must check out Itzik&amp;#39;s talk on row_number() some time - I&amp;#39;m sure I&amp;#39;d learn plenty, and be able to make my talk even better.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=161005" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/robfarley/archive/tags/community/default.aspx">community</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/wagga/default.aspx">wagga</category><category domain="http://msmvps.com/blogs/robfarley/archive/tags/code+camp/default.aspx">code camp</category></item></channel></rss>