|This is the talk page for discussing improvements to the PL/SQL article.|
|WikiProject Computing / Software|
Tail recursion irrelevant here
The brief discussion of tail recursion is probably off the point and confusing to readers in database art. SQL was created as a means of specifying relational operators: project, select, join, etc. Looping and recursion are not necessary to the relational algebra, hence i.m.h.o. the discussion should skip the un-programmatic aspects of SQL and dive directly into the programmatic features of PL/SQL. --Anonymous —Preceding unsigned comment added by Wernher (talk • contribs) 19:03, October 27, 2004
- Agreed. --Anonymous 2 —Preceding unsigned comment added by 188.8.131.52 (talk • contribs) 07:41, July 19, 2006
- Agree that a discussion of recursion may be overkill for this article, but disagree as to the reason. The whole point of the language is to add procedural elements like conditionals (IF, CASE) and looping to what is otherwise a non-procedural language. It's trivial to use a PL/SQL collection datatype to implement a basic stack for recursion, if a recursive algorithm is desired. BWatkins (talk) 03:27, 4 October 2011 (UTC)
I agree as well. I've been using PL/SQL many years and never had to (or wanted to) know about "tail recursion". What about putting in a an expanded section on procedure Exception Handling? That would be really good info IMHO. Wam067 (talk) 03:04, 26 March 2008 (UTC)
Advance or Advanced Data Type
- Advanced. --Anonymous 2 —Preceding unsigned comment added by 184.108.40.206 (talk • contribs) 07:42, July 19, 2006
"Its syntax strongly resembles that of Ada"
Actually its syntax superficially reminds you of Ada, but everything that made Ada an interesting language has been ripped out. It could just as easily have Pascal, C or even Basic syntax, for all the relevance it has to ADA.
Interestingly enough, PL/SQL is usually implemented by interpreting a byte code. The only native PL/SQL compiler works by first translating into C.
There's also an alternative language, ProC, which is a pre-processed C that allows similar embedding of SQL. —Preceding unsigned comment added by 220.127.116.11 (talk • contribs) 19:48, April 17, 2007
ADDITION : Claiming that it was based on ADA made it an easier sell to the USA Department of Defence (DOD). (By GrandPoohBah 28-Oct-2007)
- I can fully believe that it is based on Ada, as both Ada and PL/SQL strongly remind me of PL/1. Are there any sources on the PL/SQL <-> PL/1 connection?Mzk1 (talk) 06:54, 8 August 2011 (UTC)
First Appearance in Database
Im confused about the first appearance of PLSQL in the database. On many web sites PLSQL is listed as being introduced in Oracle Database v6. However procedures, functions, packages and triggers were first made available in Oracle v7, not v6 ! Can someone please clarify why PLSQL is often listed as appearing in v6 ? How could PLSQL be executed in v6 ? Did you have to use OCI or SQL*Plus or some other means ?
PLSQL was included in Oracle Forms v3 around the same time frame as database v6, however it had its own PLSQL engine and did not send the PLSQL code to the database to be execute (despite Oracle marketing and sales often implying that it did)
GrandPoohBah 00:52, 31 October 2007 (UTC)
PL/SQL v1 was available on the SQL*Plus command line as well as in various other Oracle tools in version 6. However it did not support stored packages/procedures/functions, just anonymous blocks. (It was also separately licensed as the Procedural Option.)
History - Time References
At present the History section uses only Oracle release numbers as a time references. I think it would be helpful to have calendar years cited as well, for those who do not measure time as against Oracle benchmarks... :)
History - Features
Exceptions as separate section?
Pragmas, control flow, automatic rollbacks and probably other issues make exceptions relatively complex to handle elegantly. Maybe some real-life examples could be added to show how to use it. All in all, maybe it deserves a separate section?
The assignment of values to a DATE datatype directly from a string, as shown in this article, is considered bad practice and should be avoided. Programming this way caused the majority of my company's (small number of) Y2K problems.
Instead, the programmer should always use a TO_DATE function - such as "MY_DATE = TO_DATE ('DD-MON-YYYY', '31-DEC-2010');".