PL/SQL Developer 9.0 - New Features

Below you can find a brief description of the most important new features in PL/SQL Developer 9.0.
Multiple simultaneous connections

The major new feature in PL/SQL Developer 9.0 is that you can now be connected with more than one user at more than one database at a time. Each window has its own connection, and you can easily switch the connection of a window by using the connection selector at the bottom-left of the window:

Support for multiple connections can be enabled or disabled through a preference. When disabled, behavior reverts to 8.0 and earlier behavior where changing the PL/SQL Developer connection also changes the connection of all windows.
 

Connection List

The new Connection List allows you to quickly access connections from a dockable or floating tool:

The connection list gives you a quick overview of all connections and their associated windows. Connections will automatically be added to the list when logging on, but they can also be explicitly added as a user-defined connection. By right-clicking on a connection you can quickly open windows, create objects, and launch tools for a connection:

You can explicitly define connections and connection folders by pressing the "Define Connections" button. For each connection you can define the display name, username, password, database, sysdba/sysoper connection, or whether the connection is identified externally:

If the password is omitted, PL/SQL Developer will prompt you for the password when the connection is used. For connection folders you can define a display name and optionally the criteria to automatically add connections to the folder. You can for example specify "SYS*" for the username to indicate that all connections for users that start with "SYS" should automatically be added to a folder:


 

XLSX format support (Excel 2007 / 2010)

PL/SQL Developer 9.0 adds support for Excel 2007 / 2010 XLSX format for exporting SQL Window result sets and saving Report Window results. Previous Excel formats had a restriction of 65,000 rows so that multiple sheets were required for larger result sets. The XLSX format allows for an unlimited number of rows per sheet. Both the SQL Window and Report Window allow you to explicitly choose between the old XLS format and the new XLSX format:


 

Diagram Window enhancements

The following enhancements have been made to the Diagram Window:

  • Explicitly sort items with drag & drop.
  • Automatically sort items by id or alphabetically.
  • Additional zoom levels for smoother zooming.
  • Show or hide item types at group or diagram level.
  • Table and View level comments included.
Command Window enhancements

The following enhancements have been made to the Command Window:

  • ZIP Archive [File | Directory] command added.
  • Support for SIZE UNLIMITED added for the SET SERVEROUTPUT command.
  • ZIP option added to the SPOOL command.
  • SHOW CONNECTION command added to show information about all connections.
Table Definition Editor enhancements

The table definition editor now supports Oracle11g virtual columns. You can mark a column as virtual and enter the expression in the Default/Expression field:

In this case the virtual column "email" will return the "ename" lowercase column value followed by "@acme.com".

Other enhancements include:

  • Support for local partitioned indexes added.
  • Support for logging/nologging added.
  • Support for rowdependencies added.
  • Comments can now be edited in a text editor.
SQL Window enhancements

  • You can now lock one or more columns so that they remain visible when the grid is scrolled horizontally. In the example above the "empno" and "ename" key columns are the first 2 columns, but they remain visible even though the grid is scrolled horizontally. You can also scroll lock rows to keep key rows visible or to easily compare 2 rows that are not adjacent.
  • Virtual columns are read-only and will immediately update when you change the value of a source column. In the example above the virtual "email" column is immediately updated to "bates@acme.com" when the "ename" column is changed to "BATES".
  • If a table has a before insert or update trigger that modifies column values, or if the table has default values for newly inserted records, the SQL Window grid will now immediately display these server-generated values after posting the new or modified record.
  • You can now use a "Tab=<title>" comment to define result tab titles. In the example above the first tab is named "All employees" and the second tab is named "DEPT Salary".
  • A function key has been added to invoke the Large Data Editor from the result grid.
  • The Output Buffer Size can be set to 0 for Unlimited.
Test Manager enhancements

The following enhancements have been made to the Test Manager:

  • Global variables added to pass variable values from one test script to another.
  • A "New Session" property is added to isolate test scripts from session state changes.
  • A Log pane is added on the Run tab page to show variable input and output values.
  • The definition page now contains a splitter to resize the top and bottom half.
Editor enhancements

The following enhancements have been made to the editors:

  • Syntax highlighting now works correctly for alternative quote delimiters.
  • The Code Assistant is now invoked for database links after typing @.
  • Code Assistant "Describe Context" queries can now be modified through CANames.sql.
  • The editor now detects Unicode encoding from the file contents in addition to the file header ("BOM").
  • The macro recorder now supports edit functions like Find, Bookmark, and so on.
  • Ctrl-Del is now assigned to "Editor / Delete next word".
Object Browser enhancements

The following enhancements have been made to the Object Browser:

  • A "Suppress owner" property has been added for user-defined Object Browser Folders
  • The list of users for the User selector can now be limited by specifying a where clause in the Preferences
File Browser enhancements

The following enhancements have been made to the File Browser:

  • Popup menu item "Open with" added to open a file with an external program.
  • Popup menu item "Properties" added to show the file properties.
  • Popup menu item "Open in Explorer" added to show a file or directory in the Windows Explorer.
Data Generator enhancements

The following enhancements have been made to the Data Generator:

  • SQL() expression now accepts bind variables for other field values.
    For example: SQL('Department ' || :deptno)
  • LIST(select) expression now accepts bind variables for other field values.
    For example: LIST(select empno from emp where deptno = :deptno)
  • SQL() expression now accepts a select statement with a single column/row result.
    For example: SQL(select count(*) from order_lines where order_id = :order_id)
Compare User Objects enhancements

The Compare User Objects tool now allows you to compare PL/SQL source objects with or without case, white space, and comments. Simply select the corresponding items on the options tab page:

The difference viewer will also compare with or without case and white space. If you are using your own difference viewer, you can configure which command-line switches need to be used for each option.
 

PL/SQL Beautifier enhancements

PL/SQL Beautifier enhancements have been postponed to version 9.1 later this year.