![]() SQL Statement Generation |
![]() Virtual Machine |
![]() |
The following statement formats are generated by PROIV for Oracle within Transparency mode.
Read File - Single Row
SELECT key-col-name-1, key-col-name-2, ..., col-name-1,col-name-2 ...{ ,ROWID}
FROM table-name
WHERE key-column-name-1 = :key-column-name-1 AND key-column-name-2 = :key-column-name-2 ...
{FOR UPDATE OF column-name-1, column-name-2, ... }
The optional parameters (shown in brackets) are included in change and update modes only.
Read File - Multiple Rows
SELECT key-col-name-1, key-col-name-2 ...col-name-1, col-name-2 ...
FROM table-name
WHERE key-col-name-1 BETWEEN: key-col-name-1-hi
AND :key-col-name-1-lo,
AND key-col-name-2 BETWEEN :key-col-name-2-hi
AND :key-col-name-2-lo,
AND ...
ORDER BY key-col-name-1, key-col-name-2 ...
Update File
UPDATE table-name
WHERE ROWID = :ROWIDVAR
SET(col-name-1 = :col-name-1, col-name-2 = :col-name-2, ...)
or
DELETE FROM table-name
WHERE ROWID = :ROWIDVAR
or
INSERT INTO table-name
SET (key-col-name-1, key-col-name-2, ... col-name-1, col-name-2 ...)
VALUES (:key-col-name-1, :key-col-name-2, ... :col-name-1, :col-name-2, ...)
Oracle Interface behaviour
With the exception of the INSERT operation, only those columns referenced by the PROIV function are also referenced in the generated SQL statements. The INSERT operation references all columns defined to PROIV for that table. This effectively inserts a single space in any columns not used by the function unless the variable has been flagged Null Permissible in the file definition, in which case it will be inserted as a null value.
Breaking out of Oracle Record Locks
Users may experience problems trying to break out of an Oracle record lock with Ctrl+Break. This is a problem with the Oracle database software and the Oracle OBREAK calls on Windows NT Server. The only NT Server configuration possible, is with the PROIV Virtual Machine running on one machine and the Oracle RDBMS running on a second one. The PROIV Virtual Machine machine needs to be running ORA73.DLL from the Oracle 7.3.4.2.0/2.1 distribution. The DLL version which works is 7.3.4.2.0, with a size of 338kB and a timestamp of 3 Sep 98 at 7:03PM. Any other version will fail. In addition, the kernel machine needs to have BREAK_POLL_SKIP = 5 set in the sqlnet.ora file. It can take over 30 seconds for Oracle to break out of the lock. The version of Oracle RDBMS appears not to be relevant. A Client version of 127.1 or later is recommended.
Topic ID: 720229