Oracle® Database Application Developer's Guide - Fundamentals 10g Release 1 (10.1) Part Number B10795-01 |
|
|
View PDF |
The following sections give an overview of new application development features introduced in this release and some previous releases of the database. Related documentation on each feature is cross-referenced when it is available.
This section discusses new features introduced in Oracle Database 10g Release 1 (10.1).
A set of SQL functions introduced in this release let you perform queries and manipulate string data using regular expressions. See Chapter 12, "Using Regular Expressions With Oracle Database" for more information.
Oracle Expression Filter lets you store conditional expressions in a column that you can use in the WHERE clause of a database query. See "Representing Conditional Expressions as Data" for more information.
Column datatypes BINARY_FLOAT and BINARY_DOUBLE are introduced in this release. These datatypes provide an alternative to using the Oracle NUMBER
datatype, with the following benefits:
Support for native floating-point datatypes in bind and fetch operations is provided for the following client interfaces:
This release provides support for terabyte-size LOB values (from 8 to 128 terabytes) in the following programmatic environments:
You can store and manipulate LOB (BLOB
, CLOB
, and NCLOB
) datatypes larger than 4GB.
This release has new and enhanced flashback features. You can now do the following:
Oracle Data Provider for .NET (ODP.NET) is a new programmatic environment that implements a data provider for Oracle Database. It uses APIs native to Oracle Database to offer fast and reliable access from any .NET application to database features and data. ODP.NET also uses and inherits classes and interfaces available in the Microsoft .NET Framework Class Library.
This section gives an overview of application development features introduced in Oracle9i Release 2 (9.2).
You can perform an Oracle Flashback Query using the AS OF
clause of the SELECT
statement rather than going through the DBMS_FLASHBACK
package. This technique is very flexible, allowing you to perform joins, set operations, subqueries, and views using different date/time or SCN settings for each table in the query. You can also restore or capture past data by using a Flashback Query inside an INSERT
or CREATE TABLE AS SELECT
statement.
When you represent related data items using a PL/SQL record, you can perform insert and update operations using the entire record, instead of specifying each record field separately.
If a data management application experiences problems because it tries to create a constraint when the constraint already exists, you can rename the existing constraint to avoid the conflict. If you track down a constraint with a cryptic system-generated name, you can give it a descriptive name to make it easier to enable and disable later.
These globalization-support types can now be used as attributes of SQL and PL/SQL object types, and in PL/SQL collection types such as varrays and nested tables.
New and enhanced built-in types, such as XMLType and XDBURIType, let you delegate XML parsing, storage, and retrieval to the database.
The UTL_FILE
package has a number of new functions for performing popular file operations. You can seek, auto-flush, read and write binary data, delete files, change file permissions, and more. Use the CREATE DIRECTORY
statement (using double quotation marks around any lowercase names), rather than the UTL_FILE_DIR
initialization parameter.
See Also:
PL/SQL Packages and Types Reference for details about these enhancements |
You can now override the system default constructor for an object type with your own constructor function.
You can access or change LOB data within BEFORE
and INSTEAD OF
triggers, using the :NEW
variable.
You can now define synonyms for types.
See Also:
Oracle Database Administrator's Guide for details on creating synonyms |
Scrollable cursors let you move forward and backward through the result set in a Pro*C/C++ application.
The Connection Pool feature in Pro*C/C++ helps you optimize the performance of Pro*C/C++ applications.
Many of the cross-references from this book to other books have been made more specific, so that they link to a particular place within another book rather than to its table of contents. If you are reading a printed copy of this book, you can find the online equivalent, with full search capability, at http://otn.oracle.com/documentation/
.
This section discusses Java features that were removed from the database in Oracle9i Database release 2 (version 9.2.0). Support for some of these features was moved from the database to Oracle Application Server.
The following Java features and related technologies are no longer supported as integrated components of the database:
Oracle Application Server now includes Oracle Application Server Containers for J2EE (OC4J). Migrate any existing applications that use the following technologies in the database to OC4J: servlets, JSP pages, EJBs, and CORBA objects.
To develop new applications using EJBs or CORBA, you must use the J2EE components that are part of Oracle Application Server. EJBs and CORBA are no longer supported within the database.
You can still access the database from these components using Oracle Application Server as a middle-tier. You can still write Java stored procedures and Java methods for object types within database applications.
For more information on OC4J, visit the Oracle Application Server documentation pages at:
http://otn.oracle.com/documentation/
This section gives an overview of application development features introduced in Oracle9i Release 1 (9.0.1).
PL/SQL now supports the complete range of syntax for SQL statements, such as INSERT
, UPDATE
, DELETE
, and so on. If you received errors for valid SQL syntax in PL/SQL programs before, those statements should now work.
Because of more consistent error-checking, you might find that some invalid code is now found at compile time instead of producing an error at runtime, or vice versa. You might need to change the source code as part of the migration procedure.
See Also:
Oracle Database Upgrade Guide for details on the complete migration procedure |
When an application encounters some kinds of storage allocation errors, it can suspend operations and take action such as resolving the problem or notifying an operator. The operation can be resumed when storage is added or freed.
This release has new and enhanced flashback features. You can now do the following:
Rather than repeat a complex subquery, you can give it a name and refer to that name multiple times within the same query. This is convenient for coding; it also helps the optimizer find common code that can be optimized.
See Also:
Oracle Database Administrator's Guide for details on creating synonyms |
The new datatype TIMESTAMP
records time values including fractional seconds. New datatypes TIMESTAMP WITH TIME ZONE
and TIMESTAMP WITH LOCAL TIME ZONE
allow you to adjust date and time values to account for time zone differences. You can specify whether the time zone observes daylight savings time. New datatypes INTERVAL DAY TO SECOND
and INTERVAL YEAR TO MONTH
represent differences between two date and time values, simplifying date arithmetic.
You can use character functions on CLOB
and NCLOB
types. You can treat BLOB
types as RAW
s. Conversions between LOBs and other types are much simpler now, particularly when converting from LONG
to LOB types.
Data can be stored in Unicode format using fixed-width or variable-width character sets. String handling and storage declarations can be specified using character lengths, where the number of bytes is computed for you, or explicit byte lengths. You can set up the entire database to use the same length semantics for strings, or specify the settings for individual procedures; this setting is remembered if a procedure is invalidated.
You can now perform bulk SQL operations, such as bulk fetches, using native dynamic SQL (the EXECUTE IMMEDIATE
statement). You can perform bulk insert or update operations that continue despite errors on some rows, then examine the individual row problems after the operation is complete.
The UTL_HTTP
and UTL_SMTP
packages have a number of enhancements, such as letting you access password-protected Web pages, and sending e-mail with attachments.
Improve performance by compiling Oracle-supplied and user-written stored procedures into native executables, using typical C development tools. This setting is saved, so that the procedure is compiled the same way if it is later invalidated.
The OCCI API lets you write fast, low-level database applications using C++. It is similar to the Oracle Call Interface (OCI) API.
In Oracle9i, application developers no longer need to secure a role by embedding passwords inside applications. They can create application roles and specify which PL/SQL package is authorized to enable the roles. Application roles enabled by PL/SQL packages are called secure application roles.
You can create an application context by entering a command like:
CREATE CONTEXT Order_entry USING Apps.Oe_ctx;
Alternatively, you can use Oracle Policy Manager to create an application context.
You can run external procedure agents (the EXTPROC
entry in tnsnames.ora
) under different instances of Oracle Database or on entirely separate machines. This lets you configure external procedures more robustly, so that if one external procedure fails, other external procedures can continue running in a different agent process.