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> 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