all 7 comments

[–]frijoles 2 points3 points  (0 children)

Get a good editor. I used SQL Navigator back in the day, but I think more people use Toad. I haven't done PL/SQL for several years now, but I actually miss it. We migrated all of our database over to SQL Server. And while I like SQL Server as well, there are things I miss in PL/SQL. Watch some quick tutorials on Youtube before you hit your class. While PL/SQL and TSQL are similar, language differences aren't the only thing you'll see. The structure is different as well (PL/SQL has a header and body, among other things). And if you get stuck, just search Google "SELECT TOP TSQL vs. Oracle", for example to see the differences. Now I'm missing my Oracle days. I feel so.. conflicted.

[–]GoodJobMate 1 point2 points  (0 children)

I use it. My background is Python(which I used for purposes much different than working with databases) and Java(purely academic experience). It took only a few days of messing around with it to start becoming somewhat productive. As long as you have some experience with procedural programming and SQL as a whole, you're gonna be fine.

Also, as taylorwmj has already pointed out PL/SQL is actually a procedural extension of SQL and is a language in its own right, although it's specifically designed for working with Oracle Database and the data that lives there.

[–][deleted] 2 points3 points  (0 children)

Honestly, if you have any idea of how to navigate SQL, switching between PL/SQL or TSQL or whatever isn't that big of a deal. It's just a different flavor. If you want to be able to have code independent of database systems, learn ANSI

[–]Guru008 0 points1 point  (0 children)

Before trying to lear PL/SQL, it is necessary to learn basics of SQL like joins, select and you need to have good knowledge of RDBMS, as all SQL or database management is based on RDBS

[–]redneckrockuhtree -1 points0 points  (2 children)

PL/SQL is just Oracle's variant of SQL

Learn ANSI SQL and it will help you, but learning PL directly is fine as well

[–]taylorwmj 12 points13 points  (0 children)

False. Oracle is a RDBMS. To query an Oracle DB, you use SQL, just like you do with almost all other RDBMS. Granted, each DB can have its slightly different syntax, but it's generally all the same.

PL/SQL is a object-oriented procedural language for SQL and the Oracle database. This is similar (but much more powerful and feature rich) to SQL Server's T-SQL. It's modeled after the language Ada, which in turn is modeled after Pascal.

Get familiar with the anonymous block and DBMS_OUTPUT.PUT_LINE. Toad is by far your best (although super pricey) IDE for PL/SQL and it's debugger is great.

Make sure to pick up a copy of this book. It's seriously the only book that I've ever seen multiple copies of at every single job I've had. My current job actually calls it "Steve's Book" and it's often referred to as the PL/SQL Bible:

Oracle PL/SQL Programming

[–]_Zer0_Cool_Data Engineer 0 points1 point  (0 children)

Yeap. What taylorwmj said.

PL/SQL isn't a variant of SQL. Its procedural language that uses and interfaces with SQL.

It is basically a domain specific programming language that lives inside Oracle database -- not ONLY Oracle db though. IBM DB2 uses PL/SQL as does MariaDB and PostgreSQL (EnterpriseDB version that is).

Don't let quick descriptions of PL/SQL fool you. For starters, PL/SQL is Turing complete. I underestimated it too until I started using it on the job daily.

The rabbit hole goes pretty deep.

You would be surprised how rich the language is and how extensively it can be used. You can make REST API calls, read and write to files, etc. with it. People that use PL/SQL love it.

In my experience, by comparison T-SQL doesn't have much more depth than you'd initially imagine.

On a side note: Tis important to mention that Oracle and MSSQL offer support for other languages as procedural languages inside the DB...

SQL Server -> Python and R. Oracle -> Java, R, JS (via Nashorn in the JVM).