RE: sql developer vs sqlplus sql and plsql syntax

  • From: "Clay Jackson (cjackson)" <Clay.Jackson@xxxxxxxxx>
  • To: "mwf@xxxxxxxx" <mwf@xxxxxxxx>, "exriscer@xxxxxxxxx" <exriscer@xxxxxxxxx>, 'William Robertson' <william@xxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 15 Dec 2020 19:15:46 +0000

50%?   I thought it was 90% 😊.     And it hasn’t gotten much better, even 
between shops running the same “fork” of Linux.

Both IBM and now Oracle had/have pretty reasonable solutions for the 
risk-averse (and cash-flush) CEO – “Just give us all your IT spend and we’ll 
take care of you”.

I seem to recall at some OpenWorld Larry actually remarked that “IBM had a 
pretty good business model, we’re just better”.


From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> On Behalf 
Of Mark W. Farnham
Sent: Tuesday, December 15, 2020 7:55 AM
To: exriscer@xxxxxxxxx; 'William Robertson' <william@xxxxxxxxxxxxxxxxxxxx>
Cc: 'oracle-l' <oracle-l@xxxxxxxxxxxxx>; 'Jeff Smith' <jeff.d.smith@xxxxxxxxxx>
Subject: RE: sql developer vs sqlplus sql and plsql syntax

CAUTION: This email originated from outside of the organization. Do not follow 
guidance, click links, or open attachments unless you recognize the sender and 
know the content is safe.

This entire kerfuffle was in fact specified to vendors by the MOSES protocol 
published circa 1995. MOSES was Massive Open Systems Environment Standards. 
Pioneers of using UNIX on a large commercial scale founded it to create a 
semblance of order in the chaotic world of Unix. John Black of USWEST New 
Vector noted two key things: 1) From shop to shop in the MVS [that was a 
mainframe opsys from IBM] world things vary in operations by one or two 
percent, but in UNIX shops things vary from shop to shop by 50%. 2) The power 
of UNIX is that there are dozens of ways to do pretty much anything; the 
weakness of UNIX is that there are dozens of ways to do pretty much anything.

The second one is probably not original to John. I think the first on was.

The key that was envisaged by MOSES was driving once via GUI, generating a line 
operation equivalent as both a log of operations AND an editable execution 
script. Then you could edit the variables for things like different ip 
addresses and machine names and have a repeatable, schedulable, testable script 
for each machine that had been built by driving the GUI with all the 
interactive checks and hints and so forth.

Sigh. Once upon a time that was a useful document, and whether or not vendors 
followed all the specifications, that one was the big deal: Everything you can 
make a change with in GUI, you can log and script.

Good luck. This is important. However you handle it, you have to remember that 
eventually someone will hire an inexperienced person with limited intellectual 
horizons to push the buttons. Or an automaton will do it without any judgement 
at all.

OH – and auditors deprecate material GUI actions that are not comprehensively 
logged. So it is best if the tool does it as a builtin.

mwf

From: oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Ls Cheng
Sent: Tuesday, December 15, 2020 6:55 AM
To: William Robertson
Cc: oracle-l; Jeff Smith
Subject: Re: sql developer vs sqlplus sql and plsql syntax

Hi

I was, am and still shocked too that they never used SQLPLUS, they don't even 
know the name. And these are not junior developers, I wonder where they have 
been living...! The quality of developers nowadays......

Thanks



On Tue, Dec 15, 2020 at 12:25 PM William Robertson 
<william@xxxxxxxxxxxxxxxxxxxx<mailto:william@xxxxxxxxxxxxxxxxxxxx>> wrote:
I'm frankly shocked at "But the developers have never used SQLPLUS so..."  Are 
these not Oracle developers?

Probably just making sure they "Run as script" would go most of the way, but 
obviously they really should make the effort to test it using the agreed 
deployment method.

Jeff, how about a post about setting up "Run with SQL*Plus" as an external tool 
in SQL Developer? Then they would just have to press one button, if that's not 
too much effort for them.

William


On 14 Dec 2020, at 20:18, Ls Cheng 
<exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>> wrote:

Hi

but SQLCl is CLI correct?

Thanks

On Mon, Dec 14, 2020 at 8:58 PM Jeff Smith 
<jeff.d.smith@xxxxxxxxxx<mailto:jeff.d.smith@xxxxxxxxxx>> wrote:
Sure it does, SQLcl and SQLDev use the exact same script engine.

From: Ls Cheng <exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>>
Sent: Monday, December 14, 2020 2:39 PM
To: Jeff Smith <jeff.d.smith@xxxxxxxxxx<mailto:jeff.d.smith@xxxxxxxxxx>>
Cc: Oracle Mailinglist <oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>>
Subject: Re: sql developer vs sqlplus sql and plsql syntax
Hi
That does make any difference, developers wants to use GUI, not CLI 
unfortunately
BR

On Mon, Dec 14, 2020 at 5:59 PM Jeff Smith 
<jeff.d.smith@xxxxxxxxxx<mailto:jeff.d.smith@xxxxxxxxxx>> wrote:
Or…ask the DBAs to meet their developers half way and start using SQLcl to do 
the pushes to prod.
There are SET commands you can use to define what statement delimiters you 
want, but again, at the end of the day, if you’re not testing it exactly as 
it’s going to run in production, that’s  FAIL.

From: Ls Cheng <exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>>
Sent: Monday, December 14, 2020 10:09 AM
To: Jeff Smith <jeff.d.smith@xxxxxxxxxx<mailto:jeff.d.smith@xxxxxxxxxx>>
Cc: Oracle Mailinglist <oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>>
Subject: Re: sql developer vs sqlplus sql and plsql syntax

Hi

"If you know the DBAs are using SQL*Plus to roll out updates, then the 
developers need to USE SQL*Plus for testing their scripts. It’s that simple."

Yes, that is being asked, the developers MUST test their scripts with SQLPLUS 
otherwise there is no way to automate updates. But the developers have never 
used SQLPLUS so it is very hard to ask them to move from GUI to CLI. So I was 
thinking if SQL developer could configure in such a way so semicolon and 
backslash can be forced...

BR

On Mon, Dec 14, 2020 at 2:41 PM Jeff Smith 
<jeff.d.smith@xxxxxxxxxx<mailto:jeff.d.smith@xxxxxxxxxx>> wrote:
If you ever want to talk to me, feel free to contact me directly
Jeff.d.smith@xxxxxxxxxx<mailto:Jeff.d.smith@xxxxxxxxxx>

DBA team and the developers because the developers write codes in SQL developer 
then they upload them as script for the DBA to run in the test/prod environment 
which all fails (and plsql objects not created) obecause DBA's uses SQLPLUS and 
because most SQL execution request are batched with SQLPLUS.

Wrong, wrong, wrong. Bad, bad, bad. Developers and DBAs need to agree on the 
requirements for production rollouts/promoting code.

If you know the DBAs are using SQL*Plus to roll out updates, then the 
developers need to USE SQL*Plus for testing their scripts. It’s that simple.

The DBAs should have figured out by now what was going on and had some checks 
in place to prevent this from happening accidently. This is more of a 
communication issue than a tooling issue.

Jeff


From: Ls Cheng <exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>>
Sent: Sunday, December 13, 2020 1:19 PM
To: Oracle Mailinglist <oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>>
Subject: sql developer vs sqlplus sql and plsql syntax

Hi

This is for Jeff Smith! :-)

I would like to know why SQL Developer allow people to execute SQL code without 
semicolon and PLSQL code with backslash? (OK TOAD does the same thing but it is 
not made by Oracle)

For example code such as this works in SQL developer

-- semicolon missing
select * from dba_users

-- backslash missing
declare
l_a number;
begin
select 1 into l_a from dual;
end;

-- backslash missing
create or replace procedure p_test
is
l_a number;
begin
select 1 into l_a from dual;
end;


This is causing some serious conflicts between DBA team and the developers 
because the developers write codes in SQL developer then they upload them as 
script for the DBA to run in the test/prod environment which all fails (and 
plsql objects not created) obecause DBA's uses SQLPLUS and because most SQL 
execution request are batched with SQLPLUS.

The developers claim if the code runs in SQL developer it must run in SQLPLUS 
because it is a tool from Oracle. Is there a way to configure SQL Developer so 
it can have the same behaviour as SQLPLUS?

Thanks


Other related posts: