Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Moving into new territory...

Moving into new territory...

Scheduled Pinned Locked Moved The Lounge
databasesql-serveroraclecomsysadmin
33 Posts 19 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Bruce Patin

    Ask for a pay raise/rise. If your organization/organisation can afford Oracle, they are obviously swimming in cash. My organization could save money by moving in the other direction to PostgreSQL, but fat chance of that.

    Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #24

    :laugh: As a supplier of Oracle it costs us nothing. It's our customers who can afford it ;)

    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

    Regards, Sander

    1 Reply Last reply
    0
    • Sander RosselS Sander Rossel

      Going from SQL Server to Oracle. Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve. All in all I just miss SQL Server. Any "surviving Oracle for SQL Server devs" tips or guides? :sigh:

      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

      Regards, Sander

      K Offline
      K Offline
      Kirk 10389821
      wrote on last edited by
      #25

      Sander, It is much harder to go the other way for me. Utter shock when my coworker hit a breakpoint, and the SQL Server locked up until he continued. I can HONESTLY SAY I have never seen Oracle do that. Report blocks because user is editing a record. Ouch. Okay, so after MANY MANY years of doing Oracle. Get a decent tool to work with Oracle. I use Toad, SQL Navigator (both too expensive), and recently: DevArt dbForge Studio for Oracle. Straight up, SQL Server is easier to backup/restore since it is built into the tool. Integration to VS is not as nice. But with dbForge, you should be able to navigate the DB and write the code you want. They have a free version! Play with it. The paid version is well worth it (I Pay). I put the free version out on servers I maintain for quick access. Oracle suffers because it is NOT a user-driven environment. It was designed for SysAdmins, and DBAs who had been trained to use it properly. PL/SQL does not have many limitations. And the best part. I have ported the entire DB from Windows 32 bit to a Linux 64 Bit, without changing a single line of PL/SQL. For many years, PL/SQL was so stable that testing our apps in new versions requires ZERO changes. Just import the DB. Done. (BTW, I feel that importing an OLD DB into a new version of Oracle is much more transparent/easier than learning how to do it in MSSQL Server) BTW, you lose #TempTables. this sucks, but Oracle supports nested SQL in ways that I never really needed the #TempTables: Select A.*, B.* from (SELECT something from XXX) A, (SELECT other from ZZZ) B where A.X=B.X; I have nested them about 7 deep, never had an issue. Read: AskTom.Oracle.Com Just about Every question asked is answered in a strict Engineering Approach. Also, you will learn how to see the internals of what the query does, how, why, and where it is slow. Google most of your answers with Oracle as the first string: "Oracle create table as" And you will find a ton of references. CTAS is one of the differences between oracle and T-SQL. I prefer: Create Table XYZ as Select * from ...; You must select from a table. There is no "Select 'Hello'" in Oracle. you do "Select 'Hello' from Dual' (Dual is a simple table with a dummy column and only one row). You will have more powerful functions and procedures than you get inside of T-SQL (IMO). Functions can cache results for speed. be tied to table, so updates on a table clear the cache!!! In general, I feel the difference is:

      Sander RosselS 1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        Going from SQL Server to Oracle. Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve. All in all I just miss SQL Server. Any "surviving Oracle for SQL Server devs" tips or guides? :sigh:

        Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

        Regards, Sander

        J Offline
        J Offline
        jschell
        wrote on last edited by
        #26

        Sander Rossel wrote:

        Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve.

        Could be worse. Way worse. Could be one of the no-sql bandwagon monsters.

        Sander RosselS 1 Reply Last reply
        0
        • J jschell

          Sander Rossel wrote:

          Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve.

          Could be worse. Way worse. Could be one of the no-sql bandwagon monsters.

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #27

          jschell wrote:

          no-sql bandwagon monsters.

          Actually those are pretty fun! :D

          Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

          Regards, Sander

          1 Reply Last reply
          0
          • K Kirk 10389821

            Sander, It is much harder to go the other way for me. Utter shock when my coworker hit a breakpoint, and the SQL Server locked up until he continued. I can HONESTLY SAY I have never seen Oracle do that. Report blocks because user is editing a record. Ouch. Okay, so after MANY MANY years of doing Oracle. Get a decent tool to work with Oracle. I use Toad, SQL Navigator (both too expensive), and recently: DevArt dbForge Studio for Oracle. Straight up, SQL Server is easier to backup/restore since it is built into the tool. Integration to VS is not as nice. But with dbForge, you should be able to navigate the DB and write the code you want. They have a free version! Play with it. The paid version is well worth it (I Pay). I put the free version out on servers I maintain for quick access. Oracle suffers because it is NOT a user-driven environment. It was designed for SysAdmins, and DBAs who had been trained to use it properly. PL/SQL does not have many limitations. And the best part. I have ported the entire DB from Windows 32 bit to a Linux 64 Bit, without changing a single line of PL/SQL. For many years, PL/SQL was so stable that testing our apps in new versions requires ZERO changes. Just import the DB. Done. (BTW, I feel that importing an OLD DB into a new version of Oracle is much more transparent/easier than learning how to do it in MSSQL Server) BTW, you lose #TempTables. this sucks, but Oracle supports nested SQL in ways that I never really needed the #TempTables: Select A.*, B.* from (SELECT something from XXX) A, (SELECT other from ZZZ) B where A.X=B.X; I have nested them about 7 deep, never had an issue. Read: AskTom.Oracle.Com Just about Every question asked is answered in a strict Engineering Approach. Also, you will learn how to see the internals of what the query does, how, why, and where it is slow. Google most of your answers with Oracle as the first string: "Oracle create table as" And you will find a ton of references. CTAS is one of the differences between oracle and T-SQL. I prefer: Create Table XYZ as Select * from ...; You must select from a table. There is no "Select 'Hello'" in Oracle. you do "Select 'Hello' from Dual' (Dual is a simple table with a dummy column and only one row). You will have more powerful functions and procedures than you get inside of T-SQL (IMO). Functions can cache results for speed. be tied to table, so updates on a table clear the cache!!! In general, I feel the difference is:

            Sander RosselS Offline
            Sander RosselS Offline
            Sander Rossel
            wrote on last edited by
            #28

            Wow, thanks for the really long answer and all the recommendations. I use SQL Developer as my main tool now. It makes so much more sense than the internal tool I've been using! :laugh: I'll just be creating some small tables and procedures for now, so no query analyzing, handling massive real-time data and other hard stuff. I did run into the mandatory FROM TABLE stuff, didn't really need it though so I didn't bother with it. Good to know it's FROM DUAL :) Also found out Oracle doesn't know the bit/boolean data type (although PL/SQL does) :wtf: I've noticed Oracle has A LOT of features I don't know yet. Seems I'll need to read some Oracle book if I get to do more with it :)

            Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

            Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

            Regards, Sander

            K 1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              Wow, thanks for the really long answer and all the recommendations. I use SQL Developer as my main tool now. It makes so much more sense than the internal tool I've been using! :laugh: I'll just be creating some small tables and procedures for now, so no query analyzing, handling massive real-time data and other hard stuff. I did run into the mandatory FROM TABLE stuff, didn't really need it though so I didn't bother with it. Good to know it's FROM DUAL :) Also found out Oracle doesn't know the bit/boolean data type (although PL/SQL does) :wtf: I've noticed Oracle has A LOT of features I don't know yet. Seems I'll need to read some Oracle book if I get to do more with it :)

              Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

              Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

              Regards, Sander

              K Offline
              K Offline
              Kirk 10389821
              wrote on last edited by
              #29

              Sander, My Pleasure. I would read Expert oracle by Tom Kyte. You can find it as a PDF probably. I probably need to read it again... With a bottle of Red Wine... Ahhhh... The boolean field is really a number(1) which can hold 0-9 (and null). If it is a boolean, I usually put DEFAULT(0) value on it. Another gotcha. A Unique constraint allows 1 null key value. That blew my mind. I would have thought that a unique constraint would prevent. But you need both NOT NULL and UNIQUE. Keep that in mind. I just fixed someones bug last week over this. Enjoy!

              Sander RosselS 1 Reply Last reply
              0
              • K Kirk 10389821

                Sander, My Pleasure. I would read Expert oracle by Tom Kyte. You can find it as a PDF probably. I probably need to read it again... With a bottle of Red Wine... Ahhhh... The boolean field is really a number(1) which can hold 0-9 (and null). If it is a boolean, I usually put DEFAULT(0) value on it. Another gotcha. A Unique constraint allows 1 null key value. That blew my mind. I would have thought that a unique constraint would prevent. But you need both NOT NULL and UNIQUE. Keep that in mind. I just fixed someones bug last week over this. Enjoy!

                Sander RosselS Offline
                Sander RosselS Offline
                Sander Rossel
                wrote on last edited by
                #30

                Kirk 10389821 wrote:

                The boolean field is really a number(1) which can hold 0-9 (and null). If it is a boolean, I usually put DEFAULT(0) value on it.

                Yeah, but just having a bit/bool field would've been so much easier. My company uses char(1) Y/N by the way :( Had to work like that before in SQL Server and all the casting is horrible...

                Kirk 10389821 wrote:

                Another gotcha. A Unique constraint allows 1 null key value. That blew my mind.

                I think that's the same in SQL Server. What blew my mind in SQL Server is the following: I have three tables: Order - ID PK OrderLine - OrderID PK / FK - LineNumber PK SomethingElse - ID PK - OrderID FK - LineNumber FK So notice how I've put a composite Primary Key on OrderLine and a composite Foreign Key from SomethingElse to OrderLine. I wouldn't usually do this, but I had to work with this database. Now in SomethingElse either OrderID or LineNumber may be NULL as long as the other value is valid! :wtf: That means that even though SomethingElse has Foreign Keys defined it can't guarantee the combined values of OrderID and LineNumber are in fact a valid OrderLine! :omg: :wtf: :confused: :~ :| X| Not sure if this also works like that in Oracle.

                Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                Regards, Sander

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  Going from SQL Server to Oracle. Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve. All in all I just miss SQL Server. Any "surviving Oracle for SQL Server devs" tips or guides? :sigh:

                  Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

                  B Offline
                  B Offline
                  BrainiacV
                  wrote on last edited by
                  #31

                  You might want to start wallpapering your cubicle with Oracle error message translations like I had to. Errors like "Bad END statement" really means "Label Not Found" (Honestly I wrote better parsers in high school) I'm guessing the parser found the END statement before the label and therefore blamed the END statement. I had covered half a wall with these translations when I worked at an Oracle shop. I used to tell head hunters NEVER to send me to any place that was using Oracle. I hoped the A-Team wrote the database engine, but it seemed the F-Troop wrote the user interface.

                  Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                  1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    Going from SQL Server to Oracle. Say goodbye to good tooling. Say goodbye to civilized (T-)SQL (I think the PL in PL/SQL means Oracle outsourced the language to some cheap Polish labor... (no offence to Polish people)). Say hello to steep learning curve. All in all I just miss SQL Server. Any "surviving Oracle for SQL Server devs" tips or guides? :sigh:

                    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                    Regards, Sander

                    M Offline
                    M Offline
                    Mark Harrington
                    wrote on last edited by
                    #32

                    The only times I've ever had to use Oracle I was very thankful for the tool called "Toad". Here's a link to one of the versions for Toad[^]. Hope that helped.

                    Mark-Harrington.Where(i => i.Was == "Here")

                    Sander RosselS 1 Reply Last reply
                    0
                    • M Mark Harrington

                      The only times I've ever had to use Oracle I was very thankful for the tool called "Toad". Here's a link to one of the versions for Toad[^]. Hope that helped.

                      Mark-Harrington.Where(i => i.Was == "Here")

                      Sander RosselS Offline
                      Sander RosselS Offline
                      Sander Rossel
                      wrote on last edited by
                      #33

                      Looked at Toad and found it to be a little too expensive. Maybe this freeware version can offer what I need, thanks! :D

                      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                      Regards, Sander

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups