General Question

yankeetooter's avatar

Does anyone here have experience working with PL/SQL? I need some help getting started...

Asked by yankeetooter (9651points) September 1st, 2013

I am taking a class this fall on PL/SQL. The problem is, we have not been told what development tool to use, and I am clueless. Our professor has not provided this information (at least, not yet), and I am raring to go! I like to work through examples as I read the text, but obviously can’t at this point. Any advice?

Observing members: 0 Composing members: 0

12 Answers

jerv's avatar

PL/SQL is Oracle’s take on SQL. It’s mostly “vanilla” SQL, but with some Oracle-specific twists.

You need Oracle SQL Developer or something similar. I doubt other relational databases can handle the specific differences that turn SQL into something more closely resembling a true object-oriented language, so make sure you get something Oracle-specific!.

ETpro's avatar

Was going to say, consult the Oracle, but @jerv beat me to it.

rexacoracofalipitorius's avatar

I don’t have direct experience with PL/SQL, but it seems like you will be well set to get started if you already know SQL and Ada.
You will need to have an Oracle database installed. If you can’t or don’t want to go buy it then possibly you can install Oracle Linux, which I assume comes with an Oracle database or has it available for installation. Presumably the database has a command-line interface you can use for developing simple examples.
Alternatively, you could install PostGres and play with it; again according to Wikipedia, it has a procedural add-on language similar to PL/SQL.
But I suspect @jerv has the answer you are looking for.

yankeetooter's avatar

Yes, @rexacoracofalipitorius, we used Oracle APEX last semester for my SQL class, but we didn’t learn anything but how to use that particular application. My problem is that my knowledge is very limited to only those tools I have specifically used in the programming classes I have taken. It is a real concern as I prepare to transfer to a four-year college, since I feel like everyone already has some working knowledge of such things…

rexacoracofalipitorius's avatar

In my experience, database engines (PostGres and MySQL are the only ones I know at all well) have a CLI available for performing direct manipulation from a terminal. Of course, they all also expose APIs, otherwise they wouldn’t be much use to user programs. Everything you can do with the vendor’s program should be do-able through your favorite language’s API. (Since you are working with Oracle, I’m hoping “your favorite language” == Java.)
Most of the real-world database manipulation you’ll likely do will be through an API, so if you are already comfortable with a programming language, I suggest you work up a few stub programs for manipulating the database, and work your examples through those stubs. I learned MySQL mostly by poking at it through PHP, though I later learned how to use the mysql interactive prompt for doing database maintenance.

yankeetooter's avatar

Now see, I understood most of what you just said, @rexacoracofalipitorius, but I don’t really know how to do any of it. Sometimes I really worry I am not cut out for my chosen major in computer science. Should I already know how to do the above? I have taken two semesters of Java, one of C++, one of Visual Basic, one for SQL, and now the current one, PL/SQL. I got A’s in all of the above, and I still feel like the world’s most stupid computer science major…

rexacoracofalipitorius's avatar

I assume you know what an API is, but for those who don’t: it means Application Programming Interface, and it’s a collection of classes or functions in a programming language used to communicate (or “interface”) with other programs.

For you specifically: after 2 semesters of Java, I assume you know how to “include” libraries (I have no idea how this works in Java, so I’m using the terminology of C, which is probably different.) I’m assuming that there is such a library (probably a jarfile of classes) which provides the interface between Java and PL/SQL, similarly to how you would use Java to manipulate SQL. A few minutes’ googling wasn’t enough to find more than what I linked above, so I don’t think you should feel stupid because it’s not immediately obvious how to proceed. It took me a long time to figure out PHP/MySQL, which is a whole lot simpler.
The best advice I can offer is this: try to find a local mentor, ideally someone who has taken the class before and can help you through setting up a dev environment. Failing that, just keep hacking on it and believe that you’ll get it eventually.
All this stuff was invented by regular human beings to be used by regular human beings. It’s a massively complex problem domain and there’s a certain amount of non-reducible concept clutter to be sorted through and digested. It’s just a matter of time and skull-sweat.
Take heart! I’ve been doing this stuff more than 20 years, and you already know more programming languages than I do :^)

LostInParadise's avatar

Follow @jerv‘s advice to download Sql Developer. Before you get into interfacing with Java, you need to know the basics of working with a database – setting up tables and indexes and doing selects, updates, inserts and deletes. Then you can move on to working with packages and stored procedures. Just working with Sql Developer will allow you to do all these things. If you get stuck, refer to the help menu.

yankeetooter's avatar

Oh… @LostinParadise, we are using PL/SQL for our programming language, not Java, so would I still use SQL Developer? (Forgive me if that is a stupid question.)

And I do know SQL commands…took a whole semester on it last spring.

LostInParadise's avatar

If you are using PL/SQL that is all the more reason to use SQL Developer. It deals only with PL/SQL. I think you will find it very helpful.

yankeetooter's avatar

Okay, thanks…

CWOTUS's avatar

My experience with the “PL” (Procedure Language) side of that was very limited. I didn’t get to do much of that at all.

But I was a pretty fair SQL-Plus programmer, back before the turn of the century. My, how time flies.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther