Moving into new territory...
-
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
Congratulations! You are talking job security well into your 80's!:rose:
-
Congratulations! You are talking job security well into your 80's!:rose:
Vivic wrote:
job security well into your 80's
Might as well do some COBOL then :laugh:
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
-
If you use the unix command line, installing gqlplus will make your life easier. http://gqlplus.sourceforge.net/
Treading on the toes of giants . . .
I'm not doing anything Unix and I try to avoid command lines as much as possible on any OS ;)
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
-
For years I used Oracle and SQL Server interchangeably, there are slight differences in certain things (like wildcard character), but otherwise, I really like Oracle. I strongly recommend Toad[^] for a decent tool to work with Oracle. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Yeah, I looked at Toad, but it's not cheap... My company has their own in-house editor of which they're very proud, so there's no way they're going to buy some external editor. I didn't like the in-house one though, so I downloaded the free Oracle SQL Developer[^] which is a step in the right direction :)
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
-
Vivic wrote:
job security well into your 80's
Might as well do some COBOL then :laugh:
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
But then you will not be stark raving mad! :laugh:
-
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
-
Sorry, I have no advice but have read some of your articles. :thumbsup: I have no doubt you'll pick it up quickly! Great opportunity to broaden your skillset. Have fun! :)
"Go forth into the source" - Neal Morse
kmoorevs wrote:
Sorry, I have no advice but have read some of your articles. :thumbsup: I have no doubt you'll pick it up quickly!
Thanks, that's awesome! :D It's pretty fun to see something beside SQL Server indeed. And Oracle will spice up the ol' resume :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
-
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
-
It's strange you worry about T-SQL/PL-SQL at all! It's atavism from 70-th. Nowadays application server does it much better, so on database side you leave just tables and SQL requests - they are "almost compatible" across all databases.
Yeah, but how to make the tables, procedures, etc. It's quite a difference. Oracle has procedures which can't return a result, only output parameters, while in SQL Server a procedure is like Oracle's procedure and function in one and SQL Servers function is quite different from the Oracle function... etc. etc. :) And I just found out Oracle doesn't know the bit/boolean type... :wtf: And while an application server might do it better a database will generally do it faster ;)
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
-
Yeah, I looked at Toad, but it's not cheap... My company has their own in-house editor of which they're very proud, so there's no way they're going to buy some external editor. I didn't like the in-house one though, so I downloaded the free Oracle SQL Developer[^] which is a step in the right direction :)
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
Or, you may want to have a look at PL/SQL Developer by dutch AllRound Automation. I have been using it for years and I am very pleased with it. Doesn't have as many features as Toad, but then it is generally faster to use. http://allroundautomations.com/[^]
-
Yeah, but how to make the tables, procedures, etc. It's quite a difference. Oracle has procedures which can't return a result, only output parameters, while in SQL Server a procedure is like Oracle's procedure and function in one and SQL Servers function is quite different from the Oracle function... etc. etc. :) And I just found out Oracle doesn't know the bit/boolean type... :wtf: And while an application server might do it better a database will generally do it faster ;)
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
and once you have learned Oracle PL/SQL it will be easy for you to code Postgres plpgsql - almost identical ;-).
-
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
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.
-
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.
: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
-
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
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:
-
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
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 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.
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
-
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:
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
-
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
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, 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!
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
-
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
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.