﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>SQLServerCentral / SQL Server 7,2000 / Working with Oracle  / Learning Oracle / Latest Posts</title><generator>InstantForum.NET v2.9.0</generator><description>SQLServerCentral</description><link>http://www.sqlservercentral.com/Forums/</link><webMaster>notifications@sqlservercentral.com</webMaster><lastBuildDate>Thu, 23 May 2013 19:40:19 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]PaulB-TheOneAndOnly (2/8/2013)[/b][hr][quote][b]nick.mcdermaid (9/20/2012)[/b][hr]In Oracle, client tools are painful. You need to buy TOAD for a GUI, and has some good features (CTRL-Clkick to get table info) but it's basically a dogs breakfast.[/quote]SQL Developer is a free GUI by Oracle that pretty much does all that is needed - also, web based OEM is pretty good and offers stuff I have not seen in any other GUI like the capabiltiy to run and check AWR reports, real time tracing, etc.TOAD is pretty bad at closing connections, I know production environments where it has been banned.If looking for a third party GUI I would go with DBArtisan.[/quote]Oracle SQL Developer is an OK tool, and it can even support connections to a few other database engines like SQL Server, MySQL, and MS-Access. However, it's not as polished as SQL Server Management Studio. SQL Developer is written in Java, which I guess is a plus for some people who develope across different client platforms, but like most all Java apps I've found the tool to be sluggish and occasionally hang.</description><pubDate>Fri, 08 Feb 2013 11:47:19 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]nick.mcdermaid (9/20/2012)[/b][hr]In Oracle, client tools are painful. You need to buy TOAD for a GUI, and has some good features (CTRL-Clkick to get table info) but it's basically a dogs breakfast.[/quote]SQL Developer is a free GUI by Oracle that pretty much does all that is needed - also, web based OEM is pretty good and offers stuff I have not seen in any other GUI like the capabiltiy to run and check AWR reports, real time tracing, etc.TOAD is pretty bad at closing connections, I know production environments where it has been banned.If looking for a third party GUI I would go with DBArtisan.</description><pubDate>Fri, 08 Feb 2013 11:24:37 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>True.</description><pubDate>Fri, 21 Sep 2012 17:40:18 GMT</pubDate><dc:creator>nick.mcdermaid</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]nick.mcdermaid (9/20/2012)[/b][hr]If you are lucky you will never have to craft an Oracle Update statement that updates based on another table. Hideous.There is no way they will ever change  '' IS NULL because a lod of applications will break.[/quote]Oracle could provide an ANSI_NULL server or session setting.</description><pubDate>Fri, 21 Sep 2012 07:17:31 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>If you are lucky you will never have to craft an Oracle Update statement that updates based on another table. Hideous.There is no way they will ever change  '' IS NULL because a lod of applications will break.</description><pubDate>Thu, 20 Sep 2012 21:23:59 GMT</pubDate><dc:creator>nick.mcdermaid</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Eric M Russell (9/20/2012)[/b][hr][quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]Eric M Russell (9/19/2012)[/b][hr][quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]tutblog1 (9/19/2012)[/b][hr]Want to learn SQL?Goto easysqlguide.blogspot.inEasily learn SQL with the help of images.[/quote]Two year old thread, and no, I don't want to learn SQL from your blog.  I already know SQL.[/quote]So, after two years, how what's your overall impression of Oracle versus SQL Server?[/quote]Only worked with Oracle for a year.  I am GLAD to be back working with SQL Server.  There are a few things that I liked about Oracle, but I really think SQL Server does more things in a better way.  Could be 15+ years of using SQL Server talking there.[/quote]In Oracle, an empty string is null ('' IS NULL), and consequently an empty string is not equal to itself. This evaluates as False: ('' = ''). For those of us who speak Oracle SQL as a second language, that can result in some bugs that are very subtle and hard to track down. I can live with proprietary functions and even minor syntax differences between SQL implementations. However, I just can't get past the fact that a major database vendor would have the default definition of NULL not conform to ANSI standard. As far as I know, there is no equivalent to a "SET ANSI_NULL ON" setting etiher. Another observation is that (this is just my opinion), because Oracle is such a configurable RDMS platform and also contains so much legacy baggage, Oracle developers are not as well rounded on their own platform as SQL Server developers are. They learn how to implement something one way, but there may be 3 or 4 ways of doing it under Oracle. There are also tons of configuration settings, many of which have security implications, that the average Oracle DBA is not aware of. In contrast, SQL Server has a much smaller area of exposure, and for that reason is generally considered more secure out of the box.[/quote][quote]In Oracle, an empty string is null ('' IS NULL), and consequently an empty string is not equal to itself.[/quote]This bit me when I first ran into it when writing code.  Of course the Oracle documentation also says this behaviour may change in future versions of Oracle.  Personally, the empty string is not the same as null.</description><pubDate>Thu, 20 Sep 2012 07:49:38 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]Eric M Russell (9/19/2012)[/b][hr][quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]tutblog1 (9/19/2012)[/b][hr]Want to learn SQL?Goto easysqlguide.blogspot.inEasily learn SQL with the help of images.[/quote]Two year old thread, and no, I don't want to learn SQL from your blog.  I already know SQL.[/quote]So, after two years, how what's your overall impression of Oracle versus SQL Server?[/quote]Only worked with Oracle for a year.  I am GLAD to be back working with SQL Server.  There are a few things that I liked about Oracle, but I really think SQL Server does more things in a better way.  Could be 15+ years of using SQL Server talking there.[/quote]In Oracle, an empty string is null ('' IS NULL), and consequently an empty string is not equal to itself. This evaluates as False: ('' = ''). For those of us who speak Oracle SQL as a second language, that can result in some bugs that are very subtle and hard to track down. I can live with proprietary functions and even minor syntax differences between SQL implementations. However, I just can't get past the fact that a major database vendor would have the default definition of NULL not conform to ANSI standard. As far as I know, there is no equivalent to a "SET ANSI_NULL ON" setting etiher. Another observation is that (this is just my opinion), because Oracle is such a configurable RDMS platform and also contains so much legacy baggage, Oracle developers are not as well rounded on their own platform as SQL Server developers are. They learn how to implement something one way, but there may be 3 or 4 ways of doing it under Oracle. There are also tons of configuration settings, many of which have security implications, that the average Oracle DBA is not aware of. In contrast, SQL Server has a much smaller area of exposure, and for that reason is generally considered more secure out of the box.</description><pubDate>Thu, 20 Sep 2012 07:32:13 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>In Oracle, client tools are painful. You need to buy TOAD for a GUI, and has some good features (CTRL-Clkick to get table info) but it's basically a dogs breakfast.Back end of Oracle is very configurable and tunable (i.e. you can configure page size) and 'open' but also very complicated, and you need to know a lot of stuff to be able to make a simple change. It suffers from having to maintain a lot of backwards compatability.Lately I have noticed the Oracle introduces new features (i.e. windowing functions). Messes them up a bit, has to wear the pain to get them right. Then when they've settled down, MS learns from their mistakes and get's it mostly right first time, 18 months later. I'm happy with that because the MS product stays a little cleaner.SQL is also starting to collect backwards compatability baggage now though.But compare moving a database file in Oracle with moving a database file in SQL. Oracle is incredibly manual and error prone. SQL gives you a GUI and you don't really need to know all about the guts of it to move a database file.</description><pubDate>Thu, 20 Sep 2012 01:25:37 GMT</pubDate><dc:creator>nick.mcdermaid</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Eric M Russell (9/19/2012)[/b][hr][quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]tutblog1 (9/19/2012)[/b][hr]Want to learn SQL?Goto easysqlguide.blogspot.inEasily learn SQL with the help of images.[/quote]Two year old thread, and no, I don't want to learn SQL from your blog.  I already know SQL.[/quote]So, after two years, how what's your overall impression of Oracle versus SQL Server?[/quote]Only worked with Oracle for a year.  I am GLAD to be back working with SQL Server.  There are a few things that I liked about Oracle, but I really think SQL Server does more things in a better way.  Could be 15+ years of using SQL Server talking there.</description><pubDate>Wed, 19 Sep 2012 10:22:35 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (9/19/2012)[/b][hr][quote][b]tutblog1 (9/19/2012)[/b][hr]Want to learn SQL?Goto easysqlguide.blogspot.inEasily learn SQL with the help of images.[/quote]Two year old thread, and no, I don't want to learn SQL from your blog.  I already know SQL.[/quote]So, after two years, how what's your overall impression of Oracle versus SQL Server?</description><pubDate>Wed, 19 Sep 2012 10:13:03 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]tutblog1 (9/19/2012)[/b][hr]Want to learn SQL?Goto easysqlguide.blogspot.inEasily learn SQL with the help of images.[/quote]Two year old thread, and no, I don't want to learn SQL from your blog.  I already know SQL.</description><pubDate>Wed, 19 Sep 2012 09:06:17 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]WayneS (10/16/2010)[/b][hr][quote][b]Lynn Pettis (10/15/2010)[/b][hr][quote][b]PaulB-TheOneAndOnly (10/15/2010)[/b][hr][quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.[/quote]I remember ADA, took a couple of courses that used it in college?  I may still have the books some where at home.Does the language still live or has it gone the way of the dinosaur?[/quote]You guys are aging yourselves... I'm kinda old, and the only thing I remember about this is hearing about it! :w00t:[/quote]Nah... you are not "old" Wayne, I'm sure you are an "experienced" professional ;-)In my case I'm "experienced" enough to still remember Ada but not "experienced" enough to have already forgotten all about it   :-D</description><pubDate>Mon, 18 Oct 2010 17:26:25 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>I've read about ADA but no I've never used it. C++ was the language of choice when I was at uni (engineering not computer science though)You know its very interesting that:1. Packages are based on a proper programming language - I knew there was something to it!2. That it based on such a 'fundamental' (polite word for old!!!!) programming language. Again it highlights that Oracle has old roots. Which can be a good thing and a bad thing!N</description><pubDate>Sun, 17 Oct 2010 19:51:06 GMT</pubDate><dc:creator>nick.mcdermaid</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]WayneS (10/16/2010)[/b][hr][quote][b]Lynn Pettis (10/15/2010)[/b][hr][quote][b]PaulB-TheOneAndOnly (10/15/2010)[/b][hr][quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.[/quote]I remember ADA, took a couple of courses that used it in college?  I may still have the books some where at home.Does the language still live or has it gone the way of the dinosaur?[/quote]You guys are aging yourselves... I'm kinda old, and the only thing I remember about this is hearing about it! :w00t:[/quote]Okay, how old do you think I am?  </description><pubDate>Sat, 16 Oct 2010 16:25:37 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (10/15/2010)[/b][hr][quote][b]PaulB-TheOneAndOnly (10/15/2010)[/b][hr][quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.[/quote]I remember ADA, took a couple of courses that used it in college?  I may still have the books some where at home.Does the language still live or has it gone the way of the dinosaur?[/quote]You guys are aging yourselves... I'm kinda old, and the only thing I remember about this is hearing about it! :w00t:</description><pubDate>Sat, 16 Oct 2010 07:00:34 GMT</pubDate><dc:creator>WayneS</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (10/15/2010)[/b][hr][quote][b]PaulB-TheOneAndOnly (10/15/2010)[/b][hr][quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.[/quote]I remember ADA, took a couple of courses that used it in college?  I may still have the books some where at home.Does the language still live or has it gone the way of the dinosaur?[/quote]That's a very good question indeed :-DJust checked Monter and guess what? There are job opennings mentioning Ada skills/experience as requisites - go figure  :-)</description><pubDate>Sat, 16 Oct 2010 06:04:06 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]PaulB-TheOneAndOnly (10/15/2010)[/b][hr][quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.[/quote]I remember ADA, took a couple of courses that used it in college?  I may still have the books some where at home.Does the language still live or has it gone the way of the dinosaur?</description><pubDate>Fri, 15 Oct 2010 15:55:55 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]nick.mcdermaid (10/14/2010)[/b][hr]I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different types[/quote]...and you are absolutely correct.Are you old enough to remember Ada - the programming language? packages come from there.</description><pubDate>Fri, 15 Oct 2010 15:33:14 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]nick.mcdermaid (10/14/2010)[/b][hr]Here are my thoughts after going from many years SQL Server to an extended project in Oracle:I certainly found a lot of things in Oracle quite 'alien' to me and was initially very resistant and cynical.(particularly having to use a third party tool to develop - TOAD which I think has a user interface like a car accident). The poster who mentioned that Oracle has loads of baggage is really on the money. MS can now sit back and emulate all the good parts of Oracle without having to take on the baggage!......In summary, you'd be well served to jump the hurdle and get some experience to make an informed judgement about the two different platforms.PS at a current client we indeed have what seems to be a political decision to move from Oracle to SQL Server.[/quote]I use the SQL Developer tool provided by Oracle, and for day to day development, it's good enough, however TOAD obviously has more functionality and better DBA and performace monitoring features. I developed entirely in SQL Server for several years and for the past two years or so have been splitting my time between several smaller sized SQL Server projects and a large Oracle 11g data warehouse. When it comes to just writing SQL queries, the two platforms are very similar, and a developer new to Oracle may at first be overwhelmed by all the thick books and tend to overestimate the number differences. However, it's also easy to underestimate how frustrating those minor differences can be when you find yourself in a jam. I can recall early on how I would be sitting with my laptop in a project status meeting, answering questions about the data model and performing ad-hoc query requests. My screen would be displayed on a projector, and I'd be fumbling with the syntax of a fairly complicated Oracle SQL statement while management and business analysts patiently sat by watching. Fortunately those awkward first few months are behind me, and I'm now about equally proficient with both SQL Server and Oracle, at least in terms of SQL. Now in terms of PL/SQL vs T-SQL, database administration and architecture, there are more significant differences between SQL Server and Oracle and a more significant learning curve.</description><pubDate>Thu, 14 Oct 2010 07:53:52 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]PaulB-TheOneAndOnly (10/13/2010)[/b][hr][quote][b]Eric Russell 13013 (10/13/2010)[/b][hr]On the other hand, SQL Server is newer ...[/quote]Always remember SQL Server carries Sybase genes; don't look at SQL Server 4.0 as SQL Server date of birth  ;-)[/quote]You're correct, but at least SQL Server will prune the dead branches from it's family tree from time to time. Microsoft has always been much more adaptable than it's competitors, even if a large percentage of their customers were drug along kicking and screaming, but in the end they've proven to be wise risk takers. </description><pubDate>Thu, 14 Oct 2010 07:44:49 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]WayneS (10/14/2010)[/b][hr]If you look at these two posts, [i]especially the signature[/i], and that these are the only posts ever from this poster, they feel more like spam for their kitchen cabinets.[quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote][quote][b]harrifolfenced (10/13/2010)[/b][hr]thanks for above links i also solved my stored procedure code[/quote][/quote]LOL - I reported this already. But you know what, in this case it produced some pretty decent discussion. How about that. Even the spam on this site is helpful.</description><pubDate>Thu, 14 Oct 2010 06:50:35 GMT</pubDate><dc:creator>ta.bu.shi.da.yu</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>If you look at these two posts, [i]especially the signature[/i], and that these are the only posts ever from this poster, they feel more like spam for their kitchen cabinets.[quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote][quote][b]harrifolfenced (10/13/2010)[/b][hr]thanks for above links i also solved my stored procedure code[/quote]</description><pubDate>Thu, 14 Oct 2010 06:45:09 GMT</pubDate><dc:creator>WayneS</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Jeff Moden (10/13/2010)[/b][hr][quote][b]ta.bu.shi.da.yu (9/17/2010)[/b][hr]2. Oracle has implemented more of the SQL standard that Microsoft. Case in point: try doing a lag, lead, or top analytic function in SQL Server... you can't! You can only use rank, denserank, and row_number. If you were able to use lag(column) over () then I'm almost certain we wouldn't need to be using non-supported clustered index approaches to running total aggregates... though we wouldn't have had one of the coolest articles around on this approach, of course :-)[/quote]Heh... thanks for that.  As a side bar, there is a super fast way to guarantee either that the running total worked or get a notification that it didn't that Paul White and Tom Thompson came up with.  That's a good thing because just before that, Wayne S. was the first and only person I've ever met that broke a previously good running example.  I'm thinking I need to update the article (hopefully) one more time and then maybe retire.  :-PShifting gears, I wouldn't necessarily say that Oracle is ahead of the game for SQL standards.  The last time I looked, Oracle had nothing with DATEDIFF, DATEADD, etc, etc and, IIRC, those are part of the SQL standards.[/quote]Really? OK, that surprises me... good pickup! As far as I'm aware, Oracle doesn't have a Connect like Microsoft does, so I guess there's no way of providing feedback!</description><pubDate>Thu, 14 Oct 2010 06:00:46 GMT</pubDate><dc:creator>ta.bu.shi.da.yu</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>Here are my thoughts after going from many years SQL Server to an extended project in Oracle:I certainly found a lot of things in Oracle quite 'alien' to me and was initially very resistant and cynical.(particularly having to use a third party tool to develop - TOAD which I think has a user interface like a car accident). The poster who mentioned that Oracle has loads of baggage is really on the money. MS can now sit back and emulate all the good parts of Oracle without having to take on the baggage!I'm impressed with Oracle packages as they almost seem like classes to me-Variables which 'reflect' existing table meta data-Custom data types-Multiple 'methods' within the package all returning different typesSo you can truly wrap up a large piece of logic in a package which has various methods which can be called.The other thing that impresses me is the optimiser and the way it can decompose multiple levels of views. You can define many layers of views to contain your business logic and usually be happy that it will still perform. Back in SQL 2000 I tried doing this and it appeared to be effectively materialising the data at each level rather than doing any smart 'rewriting' - maybe things have changed by SQL 2008 though.In summary, you'd be well served to jump the hurdle and get some experience to make an informed judgement about the two different platforms.PS at a current client we indeed have what seems to be a political decision to move from Oracle to SQL Server.</description><pubDate>Thu, 14 Oct 2010 00:33:44 GMT</pubDate><dc:creator>nick.mcdermaid</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]ta.bu.shi.da.yu (9/17/2010)[/b][hr]2. Oracle has implemented more of the SQL standard that Microsoft. Case in point: try doing a lag, lead, or top analytic function in SQL Server... you can't! You can only use rank, denserank, and row_number. If you were able to use lag(column) over () then I'm almost certain we wouldn't need to be using non-supported clustered index approaches to running total aggregates... though we wouldn't have had one of the coolest articles around on this approach, of course :-)[/quote]Heh... thanks for that.  As a side bar, there is a super fast way to guarantee either that the running total worked or get a notification that it didn't that Paul White and Tom Thompson came up with.  That's a good thing because just before that, Wayne S. was the first and only person I've ever met that broke a previously good running example.  I'm thinking I need to update the article (hopefully) one more time and then maybe retire.  :-PShifting gears, I wouldn't necessarily say that Oracle is ahead of the game for SQL standards.  The last time I looked, Oracle had nothing with DATEDIFF, DATEADD, etc, etc and, IIRC, those are part of the SQL standards.</description><pubDate>Wed, 13 Oct 2010 19:38:58 GMT</pubDate><dc:creator>Jeff Moden</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (10/13/2010)[/b][hr]In my opinion, both Oracle and SQL Server have their place.  What I have seen, however, is that the decision to use one over the other is usually dictated by "politics" more than what is the best tool for a particular application or environment.  It seems to me that SQL Server can handle many of the environments that Oracle is used and do so at a lower cost.[/quote]I couldn't agree more.</description><pubDate>Wed, 13 Oct 2010 16:45:29 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>In my opinion, both Oracle and SQL Server have their place.  What I have seen, however, is that the decision to use one over the other is usually dictated by "politics" more than what is the best tool for a particular application or environment.  It seems to me that SQL Server can handle many of the environments that Oracle is used and do so at a lower cost.  I have seen that Oracle has reduced licensing costs over the past 10 years, but SQL Server still costs less and provides more out of the box.That said, there will still be places where Oracle may make better sense, such as where RAC is needed.  Bottom line, use the tool that makes sense technically and fiscally, not just politically.</description><pubDate>Wed, 13 Oct 2010 15:55:46 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Eric Russell 13013 (10/13/2010)[/b][hr]On the other hand, SQL Server is newer ...[/quote]Always remember SQL Server carries Sybase genes; don't look at SQL Server 4.0 as SQL Server date of birth  ;-)</description><pubDate>Wed, 13 Oct 2010 15:51:21 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote]Let me point to just two differences that some people may construct as Oracle advantages.Oracle runs on multiple O/SSQL Server runs only on top of WinTel while Oracle would run even in a blender if you can put on it anyone of a wide variety of O/S including but not limited to Windows, Unix, HP-UX, IBM-AIX, Linux, Solaris, etc.Oracle RACOracle RAC is a functional, reliable high-availability solution. There is nothing like Oracle RAC in SQL ServerHope this helps.</description><pubDate>Wed, 13 Oct 2010 15:38:25 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote]SQL Server is to Windows what Oracle is to Unix. Oracle has been around since the 70s or early 80s, and it carries a lot of legacy pre-ANSI SQL baggage. There is a much larger body of proprietary knowledge to learn, a lot more switches to tweak, and the impression I get is that there are more Oracle developers but fewer Oracle experts. On the other hand, SQL Server is newer and will deprecate features that become obsolete (a good thing in my opinion), making it a much cleaner and easier to learn. Go to Barnes &amp; Noble or Borders, browse the books on Oracle 11g and SQL Server 2008, then decide for yourself which speaks to you.</description><pubDate>Wed, 13 Oct 2010 15:18:21 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (10/13/2010)[/b][hr][quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote]In my opinion, nothing.  Both serve a purpose and can do the job.In the short time I have had with Oracle, however, I definately prefer MS SQL Server.  I could be biasedn howevern having worked with SQL Server for 12+ years and Oracle only a couple of weeks.[/quote]But there must be something that makes you say that... what in particular struck you?</description><pubDate>Wed, 13 Oct 2010 14:25:37 GMT</pubDate><dc:creator>ta.bu.shi.da.yu</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]harrifolfenced (10/13/2010)[/b][hr]what are advantages of oracle over sql[/quote]In my opinion, nothing.  Both serve a purpose and can do the job.In the short time I have had with Oracle, however, I definately prefer MS SQL Server.  I could be biasedn howevern having worked with SQL Server for 12+ years and Oracle only a couple of weeks.</description><pubDate>Wed, 13 Oct 2010 08:25:05 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>what are advantages of oracle over sql</description><pubDate>Wed, 13 Oct 2010 04:46:32 GMT</pubDate><dc:creator>harrifolfenced</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>thanks for above links i also solved my stored procedure code</description><pubDate>Wed, 13 Oct 2010 04:44:49 GMT</pubDate><dc:creator>harrifolfenced</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Eric Russell 13013 (9/17/2010)[/b][hr]Most Oracle developers love cursors. I mean, it's so obvious they're in love. If you read an Oracle PL/SQL developer guide, it will be full of sappy love poetry dedicated to the art of writing cursors.[/quote]This is a tricky one.It might be true that some developers love cursors - probably developers with strong mainframe procedural programming languages background. Cursors usually allow for a direct translation of poorly defined business rules.On the other hand, cursors force row-based processing which usually performs horrible. Best practice is to design back-end code to take advantage of set-based data processing; avoiding this way the use of cursors.Last but not least, cursors are a powerfull tool but it has to be used when needed rather than relying on cursors as the preferred development approach.Just remember Rule #5 which states that DBA are responsible for Database performance then, your job as a DBA is to be sure no unnecesary use of cursors makes it to production environment. In most serious Oracle shops DBA still have the power to validate/improve/reject bad code.Hope this clarifies a bit.</description><pubDate>Sun, 19 Sep 2010 07:51:01 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>Most Oracle developers love cursors. I mean, it's so obvious they're in love. If you read an Oracle PL/SQL developer guide, it will be full of sappy love poetry dedicated to the art of writing cursors. Another thing you will see a lot of in Oracle is old school non-ANSI join syntax. When (not if) you do see something like this, then don't freak out; it's basically the same as a left outer join.[code="sql"]SELECT Table_A.letter, Table_B.letterFROM Table_A, Table_BWHERE Table_A.letter(+) = Table_B.letter;[/code]The example below is what's called a NATURAL JOIN. Now this is a piece of work. Because these two tables share a common key column, Oracle will just make an assumption about how they should be joined, I guess because it saves the developer all the additional keystrokes required to explicitly code the join. On the downside, if your employer measures your productivity in terms of how many lines of code you can write in an hour, then this style of coding will work against you. However, I can think of even more practical reasons why natural joins are a bad idea. [code="sql"]SELECT region_id, r.region_name, c.country_id, c.country_nameFROM countries c NATURAL JOIN regions r;[/code]</description><pubDate>Fri, 17 Sep 2010 09:06:25 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Jeff Moden (9/4/2010)[/b][hr][quote][b]Lynn Pettis (8/31/2010)[/b][hr]Guess what, Oracle actually has CTE's, they just don't call it that in the reference manual.[/quote]True enough.  And search for WITH won't do it either.  They call it "Subquery ReFactoring".  [/quote]I believe they called it this because this was what it was commonly known as in the SQL:1999 standard... which Microsoft only ran with in SQL Server 2005... [quote][b]Jeff Moden (9/4/2010)[/b][hr][quote][b]Lynn Pettis (8/31/2010)[/b][hr][quote]Having access to the reference manual is showing me that I can actually use some of the things I have learned here on SSC.[/quote]There will be so much more that you won't be able to apply.  Try overwriting a variable using a pseudo-cursor.  Try writing a set based trigger.  And wait until you discover the joys of the UPDATE statement in Oracle... you need to get really, really good at using correlated subqueries to do any joined UPDATEs in Oracle.  If you have a late enough version, forget all about using UPDATE and just jump straight to MERGE for doing updates even if you don't need to do an "upsert". [/quote][/quote]If I may interject... :-)A few things: 1. If by "set based trigger" you mean that you can interate over every row that is updated, then you can iuse the "for each row" clause and use the :new or :old row tables to do inserts. Not sure what the performance is like compared to SQL Server's do it in one shot solution, but if anything it's more flexible than SQL Server's approach. 2. If you mean by a "joined" update you are missing the FROM clause, have a look at the following link: http://geekswithblogs.net/WillSmith/archive/2008/06/18/oracle-update-with-join-again.aspx In other words, you can do the same thing in Oracle, only with different syntax. In fact, you can do many, many more things in the UPDATE and DELETE statements along these lines - check the [url=http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/update_statement.htm]UPDATE documentation[/url] and the [url=http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/delete_statement.htm]DELETE documentation[/url]. [quote][b]Jeff Moden (9/4/2010)[/b][hr][quote][b]Lynn Pettis (8/31/2010)[/b][hr][quote]Still looking forward to seeing if I can push for moving toward SQL Server, but we'll have to wait and see.[/quote]Heh... ask their Oracle DBA's about that.  Of course, that's if you can get their attention on the subject.  Most of the Oracle DBA's I've run across still think SQL Server is a toy to be ignored especially for "enterprise class applications".  There are, of course, exceptions...[/quote][/quote]That is indeed somewhat infuriating, but sometimes I get their point, because:1. Oracle runs on more platforms, 2. Oracle has implemented more of the SQL standard that Microsoft. Case in point: try doing a lag, lead, or top analytic function in SQL Server... you can't! You can only use rank, denserank, and row_number. If you were able to use lag(column) over () then I'm almost certain we wouldn't need to be using non-supported clustered index approaches to running total aggregates... though we wouldn't have had one of the coolest articles around on this approach, of course :-)3. Oracle RAC - enough said4. Temporary tablespaces can be assigned to users - try THAT in SQL Server (TempDB anyone?)5. Oracle has a sophisticated CBO - sadly, hard to get your head around, unlike SQL Server. But then I look at the way you need to get execution plans, and I always think to myself - "I'd rather do that in SQL Server!".</description><pubDate>Fri, 17 Sep 2010 05:07:10 GMT</pubDate><dc:creator>ta.bu.shi.da.yu</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Jeff Moden (9/5/2010)[/b]... you need to build a "Reference Cursor" and those are best built in what they refer to as a "Package" using a "Global Reference Cursor".  Packages are a bit of a pain to program but they do allow you to "group" stored procedures and functions into logical units.[/quote]You are correct Jeff, nothing has changed in that department and reference-cursors are the way to expose the returned dataset to the application.In regards to packages, the logic behind is to load into memory -at once- all the code you need to perform some activity. This can backfire if packages are not well designed, like putting in the same package the procedures you need for night batch processes as well as the procedures you need for daily-hours quering.If in doubt, don't use packages and go for individual storedprocs and functions which are also supported.Hope this helps.</description><pubDate>Thu, 16 Sep 2010 07:44:07 GMT</pubDate><dc:creator>PaulB-TheOneAndOnly</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Jeff Moden (9/5/2010)[/b][hr][quote][b]Lynn Pettis (9/4/2010)[/b][hr]We are using 8g and 10g.  From what has been discussed, one of the databases will be moving from 8g to 10g.  This is to eliminate duplicate data for the database.  For development purposes on another project, a copy of the database was made in 10g.  Since it was determined to would be easier to relink an Access front end from 8g to 10g rather than integrate the 10g databasse back to the 8g database, that is the direction we are going.  At least then the two databases will be on the same server and integrated together in the new app that will replace the Access front end and a manual request process.[/quote]"8" doesn't have MERGE.  If you have to write joined updates, you will need to use the correlated subquery method.  And, you need to do it both in the update list and in the WHERE clause for performance... otherwise, your generally updating the whole table.I've got a couple of tricks on disk somewhere about such things has how to build a "Tally Table" on the fly in Oracle... I'll see if I can still find them for you.The other thing you need to be keenly aware of is that Oracle doesn't (unless something has changed) return result sets directly to a GUI.  Instead, you need to build a "Reference Cursor" and those are best built in what they refer to as a "Package" using a "Global Reference Cursor".  Packages are a bit of a pain to program but they do allow you to "group" stored procedures and functions into logical units.  I'm still not sure I like that but some swear by it.Think of the above as "reading suggestions".[/quote]Not using packages in the project I will becoming the database developer.  The individual currently there is a SQL Server type, the more he works with PL/SQL the more he misses T-SQL.  Unfortunately, he talks a lot about cursors and iterating through results sets.  Looking at some code already written, I'm thinking I can make some improvements.  Talked with my manager Friday, going to go to the Lead Engineer and just say it's time to get dirty and start working in the project itself instead of waiting for a sandbox to start learning.</description><pubDate>Sun, 05 Sep 2010 13:35:44 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning Oracle</title><link>http://www.sqlservercentral.com/Forums/Topic978445-1043-1.aspx</link><description>[quote][b]Lynn Pettis (9/4/2010)[/b][hr]We are using 8g and 10g.  From what has been discussed, one of the databases will be moving from 8g to 10g.  This is to eliminate duplicate data for the database.  For development purposes on another project, a copy of the database was made in 10g.  Since it was determined to would be easier to relink an Access front end from 8g to 10g rather than integrate the 10g databasse back to the 8g database, that is the direction we are going.  At least then the two databases will be on the same server and integrated together in the new app that will replace the Access front end and a manual request process.[/quote]"8" doesn't have MERGE.  If you have to write joined updates, you will need to use the correlated subquery method.  And, you need to do it both in the update list and in the WHERE clause for performance... otherwise, your generally updating the whole table.I've got a couple of tricks on disk somewhere about such things has how to build a "Tally Table" on the fly in Oracle... I'll see if I can still find them for you.The other thing you need to be keenly aware of is that Oracle doesn't (unless something has changed) return result sets directly to a GUI.  Instead, you need to build a "Reference Cursor" and those are best built in what they refer to as a "Package" using a "Global Reference Cursor".  Packages are a bit of a pain to program but they do allow you to "group" stored procedures and functions into logical units.  I'm still not sure I like that but some swear by it.Think of the above as "reading suggestions".</description><pubDate>Sun, 05 Sep 2010 13:09:01 GMT</pubDate><dc:creator>Jeff Moden</dc:creator></item></channel></rss>