We’ve been working on version 4.1 since last Fall, and I’ve been blogging about the new stuff all the while. In case you missed it, we officailly released version 4.1 yesterday 🙂

Here’s a quick index of all of those version 4.1 posts you may have missed:

That’s not EVERYTHING. But there was one other thing I wanted to call out, but I couldn’t find the exact post, so I’ll talk about it again.

Visualizing Relationships for Tables

No need to do a reverse engineer of your table just to see what else it’s related to, and how. Just click on the new ‘Model’ tab in a table editor.

Open a table, there's a new panel, 'Model.'
Open a table, there’s a new panel, ‘Model.’

If you have Foreign Keys, you’ll see more than just a picture of your table.

The driving table will be highlighted in a red border.

If you want to do anything with this ‘model’, you need to click the toolbar button to open it in an actual modeler design. Then you can make changes and generate ALTER scripts.

One thing you can do from this view immediately is see the table or relationship properties.

Like, why does Employees have a line that connects to itself?

Ah, so a an employee has a manager, who is also an employee...
Ah, so a an employee has a manager, who is also an employee…

Finding Related Content Here

Something you can do in WordPress is ‘tag’ your posts. I’ve been tagging any post that call out a version 4.1 feature with a ‘4.1’ WordPress Post ‘tag.’

At the end of every post now, you’ll see a list of tags. Clicking on it will pull up posts with those tags.

Click the text to pull up those other posts
Click the text to pull up those other posts

Be sure to let me know what else I can do here to make stuff easier to find!


I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.


  1. This is the right blog for everyone who wishes to understand this topic.
    You realize so much its almost hard to argue with you (not that
    I really will need to…HaHa). You definitely put a new spin on a topic
    that’s been written about for many years. Excellent stuff, just great!

  2. Hi Jeff,

    I installed 4.1 and already found a new feature that I consider a major flaw. In earlier versions of SqlDev (even in the e.a. versions of 4.1) when I right click on a table name and choose “Open Declaration”, I used to be able to open and view all kinds of info on the table in a number of tabs (table data, constraints etc). Now all I get is two tabs. All the other tabs have gone and I am left with trying to find the table in my navigator. This feature was comparable to the F4 in Toad.

    When will this feature be reinstored?


    • desc in SQL Dev is Shift-F4 on the object in a code editor or worksheet. Open Declaration is the same as a ctrl-click, it opens the object editor.

  3. Hi, Jeff. I’ve recently installed 4.1 and now I am not getting the dbms_output.put_line statements results in the log screen. Previous versions of OSD were fine about it.
    I googled about it and discovered there is a “View -> DBMS Output”, but since the log window is the one opened when you run a procedure, it is not as practical as it used to be.
    Is there a way to revert it ?
    Thank you in advance and congratulations for the great job with OSD.

    • that only happens if you have ‘set serveroutput on’ set to run in your login SQL script defined in the preferences

    • Jeff, I don’t have any login script defined. Actually, I’ve not changed any configuration after upgrading. Any clue?

    • that’s your clue – the dbms_output won’t come to the log panel automatically unless you have SET SERVEROUTPUT ON going – which you can do via a startup script

    • dbms_outpit not working even with startup script of set serveroutput on in sqldev4.1
      I’ve just opened SR
      It’s not working when running a stored procedure.
      Only working via sql worksheet

    • the View > DBMS_OUTPUT panel isn’t catching it from the procedure editor either, definitely a bug here

  4. Hello ,

    I use SQL developer on MS SQL Server databases extensively. I was using version On version 4.1 there seems to be an issue with & feature. Consider SQL below ,

    Define DATE = ‘5-may-15’;
    Define Loc = ‘1018’;

    I use the above variables in my SQL below by specifying &date or &loc wherever required. There is no prompt for Enter substitution variable which is the desired behavior.

    On the latest version i keep getting prompted for Enter substitution variable. Any ideas on a workaround or is this a bug ?


  5. The model tab is going to help out a lot. Thanks for continuing to make this tool better!

    • Yeah, I was VERY excited to have this brought into the tool. Easier than building an ad-hoc model, and should be easier to read than a bunch of foreign key constraints in an excel type table…

  6. I’m facing a problem working with bind variables in SQLDeveloper

    Code to run:

    set serveroutput on
    set feedback on

    var APIID number;

    exec :APIID := 112;

    print APIID

    Output in version:

    > set serveroutput on
    > set feedback on
    > var APIID number
    > exec :APIID := 112
    anonymous block completed
    > print APIID


    Output in version:

    PL/SQL procedure successfully completed.


  7. Parley Kennelly Reply

    In 4.1 it seems the ‘&’ triggers a variable event even if the line is commented out. The EA2 didn’t have this issue.

    • I’ve hit the same issue. It’ll be a headache if I need to start modifying my scripts…

    • What exactly are you running?

      If I run this in SQL*Plus it prompts for value – but then doesn’t use the commented line when executing.

      select * from hr.emloyees
      /* &value */

      We’re trying to mirror SQL*Plus activity as much as possible…

    • The point is 4.1 EA2 version (and also did not prompt for a value if line was commented out, and does.

    • right, but SQL*Plus does, and that’s what we base ‘right’ and ‘wrong’ off of – add SET SCAN OFF to your scripts

      I’ll talk to the developer to make sure this change was indeed intentional though.

    • So Jeff, people who have been using SQL Developer for YEARS will find that this new version is not backwards compatible with everything they have written?! Wow! Just….. wow!

    • Hi Jeff,

      I too have people complaining to me about this issue. Can you make this as a preference instead?



    • No, SQL*Plus rules the roost. This is just something folks will have to get used to. Their SQL Developer scripts will now run the same way in SQL*Plus, and that’s no small gain/win.

    • Just realized set scan off doesn’t prompt for the uncommented lines — that’s no good!

    • Does that conflict with how SQL*Plus behaves? If so, it’s a bug. If not, it’s by design.

Write A Comment