ALLBASE/SQL Reference Manual (36216-90216)

Chapter 12 589
SQL Statements S - Z
UPDATE WHERE CURRENT
will not fire any otherwise applicable rules. When a subsequent ENABLE RULES is
issued, applicable rules will fire again, but only for subsequent UPDATE WHERE
CURRENT statements, not for those rows processed when rule firing was disabled.
In a rule defined with a
StatementType
of UPDATE, any column reference in the
Condition
or any
ParameterValue
that specifies the
OldCorrelationName
will
refer to the value of the column before the SET clause assignment is performed on it.
Any column reference that specifies the
NewCorrelationName
or
TableName
will
refer to the value of the column after the SET clause assignment is performed on it.
When a rule is fired by this statement, the rule's procedure is invoked after the changes
have been made to the database for that row. The rule's procedure, and any chained
rules, will thus see the state of the database with the current partial execution of the
statement.
If an error occurs during processing of any rule considered during execution of this
statement (including execution of any procedure invoked due to a rule firing), the
statement and any procedures invoked by any rules will have no effect. Nothing will
have been altered in the DBEnvironment as a result of this statement or the rules it
fired. Error messages are returned in the normal way.
SQL Syntax — LongColumnIOString
{ [<{[
PathName
/]
FileName
%SharedMemoryAddress
}]
[{>
>>
>!}[
PathName
/]{
FileName
CharString$
CharString$CharString
}
>% {
SharedMemoryAddress
$ } ] } |...|
Parameters — LongColumnIOString
< [
PathName
/]
FileName
is the location of the input file.
<%
SharedMemoryAddress
is the shared memory address where the input is located.
> specifies that output is placed in the following file. If the file already exists,
it is not overwritten nor appended to, and an error is generated.
>> specifies that output is appended to the following file name. If the file does
not exist, it is created.
>! specifies that output is placed in the following file name. If the file already
exists, it is overwritten.
>%
SharedMemoryAddress
is the shared memory address where the output is placed.
>%$ is the shared memory address, determined by ALLBASE/SQL, where the
output is placed.
$ is the wildcard character that represents a random, five-byte
alphanumeric character string generated by ALLBASE/SQL. This is a file
name.