Re: sql developer vs sqlplus sql and plsql syntax

From: Tim Hall <tim_at_oracle-base.com>
Date: Mon, 14 Dec 2020 20:59:44 +0000
Message-ID: <CAP=5zEjrQhJWiTeLPOePOs_Bdn+TFieS6n7r2BdDJAN_7c5WVw_at_mail.gmail.com>



I think the point people are trying to make is:

  1. Your developers use SQL Developer to do their job.
  2. When they think something is ready to go live they test the "final" script in SQL*Plus or SQLcl.

I don't think that is a lot of ask. They are developers, and it is their job to produce code that can be deployed. They can't just throw it over the fence and say, "Not my problem!"

Your company should have coding standards, and this could be covered in those coding standards. If you don;t have coding standards, your developers are not "real" developers.

Cheers

Tim...

On Mon, Dec 14, 2020 at 8:40 PM Ls Cheng <exriscer_at_gmail.com> wrote:

> Hi
>
> By the way, I am not very familiar with sql developer but I just tested
> this and it does not run as script unless I add semicolon and back slash
>
> select 1 from dual
>
> declare
> var1 varchar2(1);
> begin
> select 1
> into var1
> from dual;
> end;
>
> So it seems to me that to run sql scripts at the end of the day sql
> developer is the same as sqlplus which needs terminators?
>
>
>
> Thanks
>
>
>
>
> On Mon, Dec 14, 2020 at 9:18 PM Ls Cheng <exriscer_at_gmail.com> wrote:
>
>> Hi
>>
>> but SQLCl is CLI correct?
>>
>> Thanks
>>
>> On Mon, Dec 14, 2020 at 8:58 PM Jeff Smith <jeff.d.smith_at_oracle.com>
>> wrote:
>>
>>> Sure it does, SQLcl and SQLDev use the exact same script engine.
>>>
>>>
>>>
>>> *From:* Ls Cheng <exriscer_at_gmail.com>
>>> *Sent:* Monday, December 14, 2020 2:39 PM
>>> *To:* Jeff Smith <jeff.d.smith_at_oracle.com>
>>> *Cc:* Oracle Mailinglist <oracle-l_at_freelists.org>
>>> *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_at_oracle.com>
>>> 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_at_gmail.com>
>>> *Sent:* Monday, December 14, 2020 10:09 AM
>>> *To:* Jeff Smith <jeff.d.smith_at_oracle.com>
>>> *Cc:* Oracle Mailinglist <oracle-l_at_freelists.org>
>>> *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_at_oracle.com>
>>> wrote:
>>>
>>> If you ever want to talk to me, feel free to contact me directly
>>>
>>> Jeff.d.smith_at_oracle.com
>>>
>>>
>>>
>>> *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_at_gmail.com>
>>> *Sent:* Sunday, December 13, 2020 1:19 PM
>>> *To:* Oracle Mailinglist <oracle-l_at_freelists.org>
>>> *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
>>>
>>>
>>>
>>>

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Dec 14 2020 - 21:59:44 CET

Original text of this message