RDB/VMS SQL — VMS RDB_4.1_M
Additional information available:
$@ALTERATTACHBEGIN_DECLARECLOSE
COMMENT_ONCOMMITCONNECTCREATEDBKEYDECLARE
DELETEDESCRIBEDISCONNECTDROPEDITEND_DECLARE
EXECUTEEXECUTE_IMMEDIATEEXITEXPORTFETCHFINISH
GRANTHELPIMPORTINCLUDEINSERTINTEGRATE
LSENULLOPENPREPAREPRINTQUITRELEASE
REVOKEROLLBACKRUN_TIME_ONLY_KITSELECTSETSET_ALIAS
SET_ALL_CONSTRAINTSET_ANSISET_CATALOGSET_CONNECT
SET_SCHEMASET_TRANSACTIONSHOWSQLCASQLDA
UPDATEUSERWHENEVER
aliasarith expressionauthorization idcol select expr
Command recallcorrelation namedatabase handleData Distributor
data typesDCL invokedefault databaseDynamic SQLDyn DECLARE CURSOR
Dyn FETCHDyn INSERTDyn OPENErrorExecute(@)Ext Dyn DEC CURSOR
FunctionsGRANT ANSI styleInteractive kitLinking programs
literalsModule languageNew featuresPrecompilerpredicateRelease Notes
REVOKE ANSI styleSample Databasesselect exprsingleton select
Value expression
alias
An alias is a name that identifies a particular attachment to a database so that your program or interactive SQL statements can refer to more than one database. You can specify the alias in an ATTACH, CONNECT, CREATE DATABASE or DECLARE ALIAS statement. (Specify an alias in addition to the file specification or a data dictionary path name that you supply in these statements.) An alias must be no longer than 25 characters. Once you specify an alias, you must use it when referring to the database in subsequent SQL statements (unless those statements are within a CREATE DATABASE statement). You must use an alias when you declare more than one database. DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use the term database handle instead of alias. The two terms mean the same thing.
Additional information available:
Examples
Example 1: Qualifying domain names This example attaches to a PERSONNEL database by the alias CORPORATE and creates a domain within PERSONNEL. When you create a domain for a database that you have attached to using an alias, you must qualify the domain name with that alias. SQL> ATTACH 'ALIAS CORPORATE FILENAME DISK01:[DEPT3]PERSONNEL'; SQL> CREATE DOMAIN ADDRESS_DATA2_DOM CHAR(20) DEFAULT NULL; %SQL-F-NODEFDB, There is no default database SQL> CREATE DOMAIN CORPORATE.ADDRESS_DATA2_DOM CHAR(20) DEFAULT NULL; SQL> SHOW DOMAINS; User domains in database with alias CORPORATE ADDRESS_DATA2_DOM CHAR(20) SQL> Example 2: Qualifying catalog names in a multischema database When you use the alias to qualify the name of a catalog, you must separate the alias from the catalog name with a period and use double quotation marks to delimit the name pair, as follows: SQL> SET ANSI QUOTING ON; SQL> SHOW DOMAIN "CORPORATE.MARKETING".DEPT1.LAST_NAME;
arith expression
An arithmetic expression is a value expression formed by combining value expressions with arithmetic operators. When you use an arithmetic expression in a statement, SQL calculates the value associated with the expression and uses that value when executing the statement. Therefore, an arithmetic expression must be reducible to a value. If either operand of an arithmetic expression is a null value, the resulting value is also null. Select More_Information to continue.
Additional information available:
Date and time arithmeticMore Information
Date and time arithmetic
The list of legal date arithmetic operations and their results
follows:
Operand1 Operator Operand 2 Result Type
date-time - (subtract) date-time interval
date-time + or - interval date-time
interval + date-time date-time
interval + or - interval interval
interval * or / numeric interval
interval / numeric interval
- (negate) interval interval
More Information
The arithmetic operators and their functions are: + Add - Subtract * Multiply / Divide You can use parentheses to control the order in which SQL performs arithmetic operations. SQL follows the normal rules of precedence. That is, it evaluates arithmetic expressions in the following order: 1. Value expressions in parentheses 2. Multiplication and division, from left to right 3. Addition and subtraction, from left to right
authorization id
When you issue a CREATE SCHEMA statement (alone or as part of a CREATE DATABASE statement), you must specify either a schema name or an authorization identifier. If you wish to comply with the ANSI/ISO standard, you must specify an authorization identifier. An authorization identifier is a user name that SQL uses for privilege checking when you specify ANSI_AUTHORIZATION in the precompiler or module language command line options. Under ANSI privilege checking, SQL restricts access to the schema to that user whose user name matches the authorization identifier.
col select expr
col-select-expr = ─┬─┬─> col-select-clause ─┬─┬────────────────────┬─┐ │ └─>( col-select-expr )─┤ └─> order-by-clause ─┘ │ │ ┌─────────<────────────┘ │ │ └─>
U
N
I
O
N ─┬───────┬────┐ │ │ └>
A
L
L ─┘ │ │ └────────<────────────────┘ │ ┌─────────────────────────────────────────────────┘ └─┬────────────────────┬───────────────────────────> └─> limit-to-clause ─┘
Additional information available:
col select clauseMore Information
col select clause
col-select-clause = SELECT ─┬──────>──────┬─┬─> typebox (*) ─────────────────────────────┬
F
R
O
M ┐ ├─>
A
L
L ──────┤ ├─> table-name ───────┬─> .typebox (*) ──────┤ │ ├─>
D
I
S
T
I
N
C
T ─┘ ├─> view-name ────────┤ │ │ │ ├─> correlation-name ─┘ │ │ │ └─> value-expr ────────────────────┤ │ └┬──────┬─┬───>
S
U
M ───┬┬─> (
D
I
S
T
I
N
C
T column-name) ┤ │ ├─> typebox (+) ─┤ ├───>
A
V
G ───┤└─> (typebox (A)typebox (L)typebox (L) value-expr) ──────┤ │ └─> - ─┘ ├───>
M
A
X ───┤ │ │ ├───>
M
I
N ───┘ │ │ └───>
C
O
U
N
T ─┬──> (typebox (*)) ───────────────────┤ │ └──> (
D
I
S
T
I
N
C
T column-name) ┘ │ ┌────────────────────────────────<──────────────────────────────┘ └┬┬─> table-name ┬┬────────────────────┬┬─┬────────>───────────┬┐ │└─> view-name ─┘└─> correlation-name ┘│ └─>
W
H
E
R
E predicate ─┘│ └────────── , <────────────────────────┘ │ ┌──────────────────────────────<────────────────────────────────┘ └┬─────────────>──────────────────┬─┬──────────>──────────┬──> └─>
G
R
O
U
P
B
Y ─┬─> column-name ─┬─┘ └─>
H
A
V
I
N
G predicate ─┘ └─────── , <─────┘
UNION
The UNION operator merges the results of a select expression or select clause with another select expression or select clause into one result table by appending the values of columns in one table with the values of columns in other tables.
Additional information available:
ALL
The ALL qualifier specifies that duplicate rows should not be eliminated from the result table.
More Information
A column select expression is a select expression that specifies a
one-column result table. Column select expressions cannot specify a
list of select items.
SQL accepts a column select expression as a type of value expression.
However, since a value expression must correspond to a single value,
a column select expression used as a value expression should not
return more than one value. If it does, SQL generates an error. A
column select expression used as a value expression cannot include
GROUP BY or HAVING clauses.
NOTE
IN predicates allow column select expressions used as
value expressions to return more than one value.
Column select expressions are also called subqueries.
Command recall
Interactive SQL users can recall the 20 most recent command lines
using the up and down arrow keys or the CTRL/B key sequence:
o The up arrow key recalls lines in sequence from most recent to
least recent.
o The CTRL/B key sequence also recalls lines in sequence from most
recent to least recent.
o After you have recalled prior lines, the down arrow key allows
you to recall more recently entered lines.
correlation name
A qualifier for column names. Users can qualify a column name with its table or view name, or with an aribitrary correlation name they specify in the FROM clause of an SQL statement. SQL requires correlation names as qualifiers instead of table or view names in statements that join a table with itself.
database handle
DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use the term database handle instead of alias. The two terms mean the same thing. For more information see the Help topic on alias.
Data Distributor
VAX Data Distributor is a software product that enables you to make
data available to users and applications at multiple sites in a
network. From a source relational database, you can define the
following transfers:
o Transfer an entire source database or a subset of that database.
Transfers can remain on the same processor or you can define
transfers to remote processors.
o Transfer data from multiple source databases into a single target
database.
o Transfer data from one or more source databases into an existing,
user-created target database.
Additional information available:
CREATE_SCHEDULECREATE_TRANSFERDROP_SCHEDULEDROP_TRANSFER
REINITIALIZESHOW_TRANSFERSTART_TRANSFERSTOP_TRANSFER
More InformationRelease NotesError msg doc
More Information
Data Distributor allows three types of transfer: extraction, extraction rollup, and replication transfers. Extraction transfers copy the latest version of the tables specified in the transfer definition from a single source database to a target database. Once the transfer completes, Data Distributor severs the connection between the source and target databases. Extraction rollup transfers copy the latest version of the tables specified in the transfer definition from multiple source databases to a target database. Once the transfer completes, Data Distributor severs the connection between the source and target databases. Like extraction transfers, a replication transfer creates tables at a target site during initial execution. Unlike extraction transfers, a replication transfer maintains a connection with the target database so that the source database can supply updates to the target. After the initial transfer execution, subsequent executions of a replication transfer involve only those additions, modifications, and deletions that have been made to rows in the source database since the previous transfer. You can issue Data Distributor statements, options, and qualifiers from SQL when VAX Data Distributor is installed on your system. See the VAX Data Distributor Handbook and the SQL Reference Manual for details of the Data Distributor statements.
Release Notes
To see the current Release Notes for VAX Data Distributor, type or
print the following file:
SYS$HELP:DDALvvu.RELEASE_NOTES
where vv = version
u = update
For example:
SYS$HELP:DDAL022.RELEASE_NOTES
Error msg doc
Errors returned by Data Distributor are documented online in the file SYS$HELP:DDAL$MSG.DOC, which you can PRINT, TYPE, or SEARCH at DCL level.
CREATE_SCHEDULE
CREATE SCHEDULE FOR ───> transfer-name ─┐ ┌──────────────────────────────────────┘ └┬───────────>─────────────────────┬───┐ └─>
S
T
A
R
T ─────> start-date-time ─┘ │ ┌──────────────────────────────────────┘ └┬───────────>───────────────────────┬─┐ └─>
E
V
E
R
Y ─┬> every-delta-time ────┬┘ │ └> every-absolute-time ─┘ │ ┌──────────────────────────────────────┘ └┬──────────────────────────────────────┬─> └>
R
E
T
R
Y ─> count ─>
T
I
M
E
S ──────┐ │ ┌────────────────────────────┘ │ └─┬──────────────────────────────┬─┘ └─>
R
E
T
R
Y
E
V
E
R
Y ─> delta-time ─┘
Additional information available:
More Informationtransfer-namestart-date-timeevery-delta-time
every-absolute-timeAT at-timecountdelta-timeExamples
More Information
Creates a schedule definition and stores it in the transfer database. The schedule definition specifies when and how often a transfer should execute. A transfer can have only one schedule definition associated with it. Data Distributor returns an error if you attempt to create a schedule for a transfer that already has one.
transfer-name
Names the transfer for which this schedule is being defined. The transfer must already exist before a schedule definition can be created for it.
start-date-time
Specifies the time to execute the initial transfer. You can specify a delta time or an absolute time. If you use a delta time, Data Distributor uses the current time and the delta-time value to calculate the actual transfer time. If you supply an absolute time, the initial transfer will be executed at the time specified. The START clause is optional. If you do not include a START clause, the start time is set to the current time. The transfer then will execute as soon as the transfer schedule definition is processed. The delta-time format is as follows: dddd hh:mm:ss.cc The absolute-time format is as follows: dd-mmm-yyyy hh:mm:ss.cc In the delta-time and absolute designations, the abbreviations have the following meanings: o dddd - Number of days o dd - Day of the month o mmm - Month o yyyy - Year o hh - Hours o ss - Seconds o cc - Hundredths of a second
every-delta-time
Used to calculate the time to execute the next transfer. The EVERY clause is optional. If you specify the EVERY clause, you must specify either every-delta-time or every-absolute-time. If you omit the EVERY clause, the transfer occurs only once.The valid specification for every-delta-time is the delta-time format used by the $BINTIM VMS system service.
every-absolute-time
every-absolute-time = ──┬──>
D
A
Y ────┬─┬───────>──────────┬──┬─> ├──>
W
E
E
K ───┤ └─>
A
T ─> at-time ─┘ │ ├──>
M
O
N
T
H ──┘ │ └┬─> weekday ──┬───────>──────────┬─┬┘ │ └─>
A
T ─> at-time ─┘ │ └──────────── , <──────────────────┘ Used to calculate the time to execute the next transfer. The EVERY clause is optional. If you specify the EVERY clause, you must specify either every-absolute-time or every-delta-time. If you omit the EVERY clause, the transfer occurs only once. Valid specifications for the every-absolute-time parameter are: o DAY The transfer executes on a daily basis. o WEEK The transfer occurs every week on the same day of the week as the initial transfer. o MONTH The transfer occurs on a monthly cycle on the same day of the month as the initial transfer. o WEEKDAY The transfer executes on the weekdays that you list. If you list more than one weekday, separate the days with commas. Valid weekdays are SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, and SATURDAY.
AT at-time
Qualifies every-absolute-time by specifying the time of day the transfer should occur. If you specify DAY, WEEK, or MONTH, but do not specify an at-time, Data Distributor uses the time of day of the initial transfer. You can specify in a list of weekdays the at-time for each day. If you omit the at-time for any weekday, Data Distributor selects as the default the time used for the previous entry in the list. For the first entry in the list, the time of day of the initial transfer is used, if none is specified. The at-time argument has the following format: hh:mm:ss.cc. For an explanation of these abbreviations, see the Help topic on start-date-time.
count
Specifies the maximum number of times Data Distributor retries a transfer if a transfer execution fails. If you do not include a retry count or if the count value is set to zero, Data Distributor does not attempt to retry the transfer until the next scheduled transfer time as indicated by the EVERY clause. If you include a retry count and the transfer fails, the retry will start at the beginning, not where the transfer left off.
delta-time
Specifies the length of time Data Distributor waits between the time of the last failed attempt and the time of the next retry attempt. The RETRY EVERY delta-time clause is optional and can only be specified if the RETRY count TIMES clause is included.
Examples
Example 1: Creating a schedule to run a transfer once a week This example calls for the COLLEGE_INFO transfer to execute at 3:00 pm. every Wednesday. The schedule definition calls for a maximum of three retries occurring at intervals of 30 minutes. SQL> CREATE SCHEDULE FOR COLLEGE_INFO cont> START 14-NOV-1990 15:00:00.00 cont> ! Wednesdays at 3 p.m. cont> EVERY WEDNESDAY AT 15:00:00 cont> RETRY 3 TIMES cont> RETRY EVERY 0 00:30:00 cont> ; Example 2: Creating a schedule to run a transfer on an as-needed basis In this example, a transfer starts at midnight on December 15. Because the transfer will be performed on an as-needed basis, the user does not include an EVERY clause. The user can replace the schedule definition if the transfer has to be run on a firm schedule at some later date. SQL> CREATE SCHEDULE FOR NH_EVALUATION cont> START 15-DEC-1990 cont> ;
CREATE_TRANSFER
CREATE TRANSFER ──> transfer-name ──>
T
Y
P
E typebox (I)typebox (S) ┐ ┌─────────────────────────────────────────────┘ └┬>
R
E
P
L
I
C
A
T
I
O
N ─> replication-extr-move-clause ─┬┐ ├>
E
X
T
R
A
C
T
I
O
N ─> replication-extr-move-clause ──┤│ └>
E
X
T
R
A
C
T
I
O
N
R
O
L
L
U
P ─> rollup-move-clause ─────┘│ ┌────────────────────────────────────────────────┘ └─> to-clause ─┬────────────────────────────┬────┐ └┬> target-db-param-clause ─┬┘ │ └────────────<─────────────┘ │ ┌────────────────────────────────────────────────┘ └┬──────────────────────────────────┬────────────┐ └─┬> transfer-file-options-clause ┬┘ │ └─────────────<─────────────────┘ │ ┌────────────────────────────────────────────────┘ └┬───────────────────┬──────────────────────────> typebox (;) └─> comment-clause ─┘
Additional information available:
TYPE_ISREPLICATIONEXTRACTIONEXTRACTION_ROLLUP
More Informationtransfer-namereplication-extrrollup-move-clause
to-clausetarget-db-paramtransfer-filecomment-clauseExamples
More Information
Creates a transfer definition and stores it in the transfer database.
A transfer definition contains all of the information necessary to
select a set of records from the source database and to define a
target database. A transfer definition also can contain the views to
be defined on the target database and the command procedures to be
executed before and after the execution of the transfer.
Additionally, you can specify the following in a transfer definition:
o Whether the target database already exists or whether Data
Distributor must create a new target database
o New names for specified data definitions in the target database
transfer-name
Identifies the transfer by name. The transfer name must be unique among the set of all transfers defined in the transfer database. Because a single transfer database serves all nodes in a VAXcluster environment, the transfer name must be unique across all nodes at a given VAXcluster site. The transfer name does not have to be unique within the entire communications network. Two VAXcluster systems can define transfers using the same transfer name. If each transfer specifies the same existing target database, the transfers are differentiated by their respective network location.
TYPE_IS
Names the type of transfer for the transfer definition. REPLICATION, EXTRACTION, and EXTRACTION ROLLUP are the three valid transfer types for Data Distributor.
REPLICATION
Declares the transfer type to be a REPLICATION transfer. When a replication transfer executes, Data Distributor creates the tables at the target site during the initial execution and maintains a connection to that target database so the source can supply updates to the target database. Subsequent transfers involve only those additions, modifications, and deletions that have been made to the selected rows in the source database. If the target and source databases become inconsistent with each other, you can use the REINITIALIZE TRANSFER statement and then the START TRANSFER statement to create new versions of the target tables that are consistent with the source tables.
EXTRACTION
Declares the transfer type to be an EXTRACTION transfer. The tables copied to a target database by an extraction transfer maintain no relationship with the source database tables. Unlike a replication transfer, Data Distributor severs the connection between the source database and the target database after the extraction transfer completes. Each time an extraction transfer executes, Data Distributor copies the latest version of the selected tables to the target database. Although you can write to tables created by Data Distributor in a target database, any future execution of an extraction transfer that copies the same tables from the source database will not include data written only to the target tables. For more information on read and write restrictions, see the description of the to-clause.
replication-extr
replication-extr-move-clause =
q
q
q
q
>
M
O
V
E
T
A
B
L
E
S
q
q
w
q
>move-tables-clause ─┬─┬───────────────────────┬──>
m
q
q
q
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
q
q
j
m
q
>move-views-clause
q
q
j Selects the rows of a table that Data Distributor transfers to the target database during an extraction or a replication transfer. The rows selected for replications are specified with a restricted form of a select clause. You must specify a move-tables-clause for each user table moved to the target database.
Additional information available:
move-tables-clausemove-select-clauseselect-listpredicatemove-views-clause
MOVE_TABLES
For extraction transfers, specifies the table name or view name that you want copied from the source database. For replication transfers, specifies the table name (not view name) that you want copied from the source database. If you do not specify a table name or view name, you can specify a select clause.
move-tables-clause
move-tables-clause =
q
q
q
w
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
w
q
q
q
*
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
w
q
q
k
x
t
q
q
>alias
q
q
q
q
>
.
q
q
q
j
t
q
q
>table-name
q
q
q
u
x
x
x
x
m
q
q
>view-name
q
q
q
q
u
x
x
x
m
q
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
>
"
*
.
*
"
.
*
.
*
q
q
q
q
j
x
x
m
q
q
>move-select-clause
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
x
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
>
x
x
m
q
>
I
N
T
Otable-name
q
j
move-select-clause
move-select-clause =
q
q
>
S
E
L
E
C
T
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
>select-list
q
q
>
F
R
O
M ─┬───────────────────┬──┐
t
q
>
A
L
L
q
q
q
q
q
q
u
m
q
>alias
q
q
q
q
>
.
q
q
j │
m
q
>
D
I
S
T
I
N
C
T
q
j │
x
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
x
m
q
q
w
q
q
>table-name
q
q
q
w
q
q
w
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
w
q
w
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
>
m
q
q
>view-name
q
q
q
q
j
m
q
>correlation-name
q
j
m
q
>
W
H
E
R
Epredicate
q
q
q
j
select-list
select-list =
q
q
q
w
q
q
q
q
q
q
>
*
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
>
m
q
w
q
w
q
q
>column-name
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
j
x
m
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
j
x
m
q
w
q
>select-element-list
q
w
q
q
>
.
*
q
q
q
q
q
q
q
q
q
q
q
q
q
w
j
x
m
q
q
> column-name
q
w
q
j
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j select-element-list =
q
q
q
w
q
q
>table-name
q
q
q
q
q
q
q
w
q
>
t
q
q
>view-name
q
q
q
q
q
q
q
q
u
m
q
q
>correlation-name
q
j
predicate
predicate =
q
q
q
w
q
q
w
q
q
q
q
q
q
q
q
q
q
w
q
q
w
q
q
q
>basic-predicate
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
w
q
q
q
>
x
m
q
q
>
N
O
T
q
q
j
t
q
q
q
>between-predicate
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
q
q
>containing-predicate
q
q
q
q
q
q
q
u
x
x
t
q
q
q
>in-predicate
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
q
q
>like-predicate
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
q
q
>null-predicate
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
q
q
>starting-with-predicate
q
q
q
q
u
x
x
m
q
q
q
> predicate)
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
x
x
x
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
A
N
D
<
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
m
q
q
q
O
R
<
q
q
j
move-views-clause
move-views-clause = MOVE VIEWS
q
q
q
k
l
q
q
q
q
q
q
q
q
q
j
m
w
q
w
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
w
>
*
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
w
q
>
x
t
q
>alias
q
q
>
.
j
x
x
x
m
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
>
"
*
.
*
"
.
*
.
*
q
q
j
x
m
q
w
q
w
q
q
q
q
>
q
q
q
q
q
q
q
q
q
w
>view-name
q
w
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
w
q
w
q
j
x
m
q
>alias
q
>
.
j
m
>
I
N
T
Oview-name
j
x
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
EXTRACTION_ROLLUP
Specifies that Data Distributor create an extraction rollup database at the target site by transferring selected tables and columns from one or more source databases into a single target database. An extraction rollup database is created at the target site, and Data Distributor reads data from the source databases and stores the data in a target database. Each time an extraction rollup transfer is executed, Data Distributor creates a new version of the target database and transfers a complete copy of the selected rows to the target database. Upon completion of an extraction rollup transfer, Data Distributor severs the connection between the source database or databases and the target database.
rollup-move-clause
rollup-move-clause =
q
q
q
q
>
M
O
V
E
T
A
B
L
E
S
q
q
w
q
q
>rollup-source-table-spec
q
q
q
w
q
q
q
>
m
q
q
q
q
q
q
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
Additional information available:
More Informationrollup-sourcemove-select-expr
More Information
Selects the tables or views that Data Distributor transfers to the
target database from a number of source databases during an
extraction rollup transfer. You can roll up multiple tables into a
single target table only by using a move select expression with the
UNION ALL keywords.
Rollup-move-clause has the following restrictions:
o Data Distributor requires you to declare each source database
with a different alias. You must then use these aliases in the
rollup-move-clause clause.
o The rollup-move-clause clause must be used with the EXTRACTION
ROLLUP parameter.
o The rollup-source-table-spec clause that specifies *.* expands to
a comma-separated list of alias.* for each declared database.
The order of the list is undefined.
o All move-select-clause clauses that include the UNION keyword
must also include the ALL keyword, must be of the same degree,
and must match data types exactly for all columns being merged.
rollup-source
rollup-source-table-spec =
q
q
w
q
q
>
*
.
*
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
>
t
q
q
>alias
q
q
q
q
q
q
>
.
q
q
w
q
>
*
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
j
x
t
q
>table-name
q
q
w
q
k
x
x
m
q
>view-name
q
q
q
j
x
x
m
q
q
>move-select-expr
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
v
q
k
x
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
x
m
q
q
>
I
N
T
Otable-name
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
move-select-expr
move-select-expr =
q
q
q
w
q
q
>move-select-clause
q
q
w
q
q
>
m
q
q
q
q
q
q
q
U
N
I
O
N
A
L
L
<
q
q
q
q
q
q
j
to-clause
to-clause =
q
>
T
O
q
w
q
>
N
E
W
F
I
L
E
N
A
M
E
q
>target-file-spec
q
q
q
q
q
q
q
q
q
q
q
q
w
>
m
q
>
E
X
I
S
T
I
N
G
q
w
q
>
A
L
I
A
Salias
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
k
x
m
q
>
F
I
L
E
N
A
M
Etarget-file-spec
q
j
x
x
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
x
m
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
q
q
q
q
q
q
q
q
q
j
t
q
>
W
I
T
H
C
H
E
C
K
I
N
G
q
q
q
q
q
u
m
q
>
W
I
T
H
N
O
C
H
E
C
K
I
N
G
q
q
j
Additional information available:
More Information
Specifies the name of an existing target database or the name of a new target database to be created by Data Distributor.
target-db-param
target-db-param-clause =
q
q
q
w
q
w
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
w
q
q
>
x
t
q
>
A
L
L
O
C
A
T
I
O
N
I
S
q
q
q
q
q
q
q
q
>number-pages
q
q
>
P
A
G
E
S
q
q
q
q
u
x
x
t
q
>
P
A
G
E
S
I
Z
E
I
S
q
q
q
>page-blocks
q
q
q
q
q
q
>
B
L
O
C
K
S
q
q
q
q
q
q
u
x
x
t
q
>
N
U
M
B
E
R
O
F
B
U
F
F
E
R
S
I
S
q
q
>number-buffers
q
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
>
N
U
M
B
E
R
O
F
U
S
E
R
S
I
S
q
q
q
q
>number-users
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
x
t
q
>
B
U
F
F
E
R
S
I
Z
E
I
S
q
q
>buffer-blocks
q
q
q
>
B
L
O
C
K
S
q
q
q
q
q
q
u
x
x
t
q
>
E
X
T
E
N
T
I
S
q
q
q
q
q
q
q
w
q
>extent-pages
q
q
q
>
P
A
G
E
S
q
q
q
w
q
q
u
x
x
x
m
q
> extension-options)
q
q
q
q
q
q
q
j
x
x
x
t
q
>
S
N
A
P
S
H
O
T
I
S
q
q
q
q
w
q
>
E
N
A
B
L
E
D
q
w
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
w
q
q
q
u
x
x
x
x
t
q
>
I
M
M
E
D
I
A
T
E
q
q
u
x
x
x
x
x
x
m
q
>
D
E
F
E
R
R
E
D
q
q
j
x
x
x
x
x
m
q
>
D
I
S
A
B
L
E
D
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
j
x
x
x
t
q
>
S
N
A
P
S
H
O
T
A
L
L
O
C
A
T
I
O
N
I
S
q
q
>snp-pages
q
q
>
P
A
G
E
S
q
q
q
q
u
x
x
m
q
>
S
N
A
P
S
H
O
T
E
X
T
E
N
T
I
S
q
w
q
>extent-pages
q
q
>
P
A
G
E
S
q
q
w
q
j
x
x
m
q
> extension-options)
q
q
q
q
q
j
x
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
<
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
<
q
q
q
q
q
q
q
q
q
q
q
q
j
Additional information available:
More Informationextension-options
More Information
Specifies values for parameters that Data Distributor uses to create the target database. This clause uses syntax similar to the SQL CREATE DATABASE statement. However, Data Distributor does not support all the parameters that the SQL CREATE DATABASE statement does.
extension-options
extension-options =
q
q
q
q
q
>
M
I
N
I
M
U
M
O
F
q
q
>min-pages
q
q
q
>
P
A
G
E
S
q
q
q
>
,
q
k
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
m
q
q
>
M
A
X
I
M
U
M
O
F
q
q
>max-pages
q
q
q
>
P
A
G
E
S
q
q
q
>
,
q
k
l
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
m
q
q
>
P
E
R
C
E
N
T
G
R
O
W
T
H
I
S
q
q
q
>growth
q
q
q
q
>
transfer-file
transfer-file-options-clause
q
w
q
w
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
w
q
q
q
q
q
q
q
>
x
t
q
q
>
P
R
O
L
O
G
U
E
F
I
L
E
I
S
q
q
q
q
>prologue-file-spec
q
q
q
q
q
q
q
u
x
t
q
q
>
N
O
P
R
O
L
O
G
U
E
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
t
q
q
>
E
P
I
L
O
G
U
E
F
I
L
E
I
S
q
q
q
q
>epilogue-file-spec
q
q
q
q
q
q
q
u
x
t
q
q
>
N
O
E
P
I
L
O
G
U
E
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
u
x
t
q
q
>
L
O
G
F
I
L
E
I
S
q
q
q
q
q
q
q
q
q
>log-file-spec
q
q
q
q
q
q
q
q
q
q
q
q
u
x
m
q
q
>
N
O
L
O
G
q
q
q
q
q
q
q
q
q
q
q
q
q
q
>
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
u
m
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
<
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
j
Additional information available:
More Information
Specifies the DCL command procedures to be executed before or after a transfer runs, and the VMS file where logging information related to the transfer execution is located. For each transfer definition, you can specify one prologue file, one epilogue file, and one log file, or any combination of the three.
comment-clause
comment-clause =
q
q
q
q
>
C
O
M
M
E
N
T
I
S
q
q
w
q
q
>string-literal
q
q
q
w
q
q
q
>
m
q
q
q
q
q
q
q
q
q
,
<
q
q
q
q
q
q
q
q
q
j
Additional information available:
More Information
Documents your transfer definition with one or more character string literals.
Examples
Example 1: Creating a local extraction database from a remote node This example shows an extraction from a remote source database to a local target database. The CREATE TRANSFER statement specifies the transfer of all personnel rows to the target node. SQL> ATTACH 'FILENAME NODE1::DISK1:[DIR1]PERSONNEL'; SQL> CREATE TRANSFER PERS_EXAMP TYPE IS EXTRACTION cont> MOVE TABLES * cont> TO NEW FILENAME [LEARNER.PERS]PERS_COPY cont> LOG IS [LEARNER.PERS]PERS_EXAMP.LOG cont> COMMENT IS 'Extraction of personnel information' cont> ; Example 2: Creating an extraction database on a remote node from a source remote node This example shows an extraction transfer from a remote source to a remote target database. The log file, PERS_REC.LOG, is located on the source node where the transfer definition was defined. SQL> ATTACH 'FILENAME NODE1::DISK1:[DIR1]PERSONNEL'; SQL> CREATE TRANSFER PERS_REC TYPE IS EXTRACTION cont> MOVE TABLES * cont> TO NEW FILENAME NODE2::DISK2:[PROTO]PERS_REC_TARGET cont> LOG IS USER3:[DBS.PERSLOG]PERS_REC.LOG cont> COMMENT IS 'Extraction of personnel information' cont> ;
DROP_SCHEDULE
DROP SCHEDULE FOR
q
q
q
>transfer-name
q
q
q
q
>
;
Additional information available:
More Informationtransfer-nameExample
More Information
Deletes the schedule definition associated with a transfer definition. You can delete a schedule definition only when the associated transfer is in the suspended state. (Refer to the STOP TRANSFER statement for information about how to suspend a transfer.) If you issue a START TRANSFER statement after deleting the schedule, the transfer will be placed in the unscheduled state.
transfer-name
Identifies the transfer whose schedule is to be deleted.
Example
This example suspends the NH_EMPLOYEES transfer and then deletes its associated schedule. The error message notifies you that a schedule definition cannot be deleted unless the transfer that the definition schedules is suspended with the STOP TRANSFER statement. SQL> DROP SCHEDULE FOR NH_EMPLOYEES; %SQL-F-DDALERR, VAX Data Distributor fatal error -DDAL-E-TNSF_NOT_SUSPEN, transfer is not suspended SQL> STOP TRANSFER NH_EMPLOYEES; SQL> DROP SCHEDULE FOR NH_EMPLOYEES;
DROP_TRANSFER
DROP TRANSFER
q
q
q
>transfer-name
q
q
q
q
>
;
Additional information available:
More Informationtransfer-nameExample
More Information
Deletes a transfer definition. If a transfer has a schedule definition, DROP TRANSFER also deletes the corresponding schedule definition.
transfer-name
Specifies the transfer definition to be deleted.
Example
The following example suspends the NH_EMPLOYEES transfer and then deletes its definition. If a transfer has an associated schedule definition, that definition is deleted as well. SQL> STOP TRANSFER NH_EMPLOYEES; SQL> DROP TRANSFER NH_EMPLOYEES;
REINITIALIZE
REINITIALIZE TRANSFER
q
q
q
q
q
>transfer-name
q
q
q
q
q
>
; Reinitializes a replication transfer to make the source and replication databases consistent with each other. You must reinitialize a transfer when someone restores a previous version of the source database.
Additional information available:
More Informationtransfer-nameExample
More Information
If you want to reinitialize a particular transfer, the transfer definition must be associated with your UIC. You can reinitialize a transfer only when the transfer is in the suspended state. To suspend a transfer, first issue a STOP TRANSFER statement. You must execute the REINITIALIZE TRANSFER statement outside the scope of a transaction. If you issue this statement when a transaction is outstanding, Data Distributor returns an error message. After you enter the REINITIALIZE statement, the transfer remains in the suspended state. You must then issue a START TRANSFER statement to restart the transfer. The REINITIALIZE statement forces the next execution of a replication transfer to create a new replication database in the target directory. You must reinitialize a transfer when someone restores a previous version of the source database.
transfer-name
Specifies the replication transfer that you want to reinitialize.
Example
This example places the LLAMA_REGISTRY transfer in a suspended state and then reinitializes it. The schedule and definition for this replication transfer remain in place. Once the transfer has been reinitialized, you can restart it. SQL> STOP TRANSFER LLAMA_REGISTRY SQL> REINITIALIZE TRANSFER LLAMA_REGISTRY SQL> START TRANSFER LLAMA_REGISTRY
SHOW_TRANSFER
SHOW TRANSFER ─┬────────────────────────────┬─> typebox (;) └─┬──────────────────────┬─┐ │ └─> transfer-attribute ┘ │ │ ┌───────────────────<──────────────────┘ │ └─┬──> typebox (*) ──────────────┬─┬───────────────┘ └┬─> transfer-name ──┘ │ └─────── , <──────────┘ transfer-attribute = ──> ( ─┬─┬────────────────┬─┬──> ) ───> │ ├─>
D
E
F
I
N
I
T
I
O
N ──┤ │ │ ├─>
S
C
H
E
D
U
L
E ────┤ │ │ └─>
S
T
A
T
U
S ──────┘ │ └──────── , ─────────┘
Additional information available:
More Informationtransfer-attributewildcardtransfer-name
Examples
More Information
Displays information about the transfer definition, schedule definition, the transfer status, or all of these transfer attributes. When you enter the SHOW TRANSFER statement, you can display information about one transfer or all of them, but not about a selected number of transfers. You must have the Rdb/VMS READ privilege for a database to use the SHOW TRANSFER statement.
transfer-attribute
The type of information you want displayed about the selected transfer or all transfers. Separate transfer attributes with a comma and enclose them in parentheses.
Additional information available:
DEFINITION
Displays transfer definition information for one transfer, all transfers, or a set of transfers you select.
SCHEDULE
Displays schedule definition information for one transfer, all transfers, or a set of transfers you select.
STATUS
Displays the following status information for one transfer, all
transfers, or a set of transfers you select:
o Time the transfer entered its current transfer state
o Last transfer status
o Time the last successful transfer completed
o Next scheduled transfer time (for transfers in the scheduled or
waiting-to-retry state)
o Number of the currently executing retry (for transfers in the
retrying state)
o Number of the next retry (for transfers in the waiting-to-retry
state)
wildcard
The wildcard character (*) displays information about all transfers associated with your UIC. For transfers belonging to other UICs, Data Distributor displays the transfer name and the name of the transfer definer. To display information about transfers belonging to other UICs, you must have VMS BYPASS or READALL privilege. If you omit the transfer attribute and type SHOW TRANSFER *, Data Distributor displays definition, schedule, and status information for all transfers.
transfer-name
Specifies one or more transfers about which you want Data Distributor to display information.
Examples
Example 1: Displaying a schedule definition This example displays information about the schedule for the NH_EMPLOYEES transfer. The transfer is scheduled to begin at 1:15 pm. to repeat every day. If the transfer fails, the transfer will retry three times with an hour between retry attempts. Schedule for transfer NH_EMPLOYEES: Start 22-FEB-1989 13:15:00.00 Frequency Every day at 14:30:00.00 Number of retries 3 times Retry frequency 0 01:00:00.00 Example 2: Checking on the status of the NH_EMPLOYEES transfer This example displays information about the status of the NH_EMPLOYEES transfer. The transfer is scheduled to be performed at 2:30 pm. on February 23, 1989. The transfer ran successfully the day before. Schedule for transfer NH_EMPLOYEES: Start 22-FEB-1989 13:15:00.00 Frequency Every day at 14:30:00.00 Number of retries 3 times Retry frequency 0 01:00:00.00
START_TRANSFER
START TRANSFER ────> transfer-name ───┐ ┌───────────────────────────────────┘ └─┬──────────────────────────┬───> typebox (;) └──>
N
O
W ──┬─>───────────┬─┘ ├─>
W
A
I
T ─────┤ └─>
N
O
W
A
I
T ──┘ Executes a transfer on demand, or changes the state of a transfer from suspended to scheduled, unscheduled, or active.
Additional information available:
More Information
You can use the START TRANSFER statement without any qualifiers to change the state of a suspended transfer. Issuing the START TRANSFER statement places the transfer in the scheduled state if a schedule definition exists for the transfer. Execution then occurs at the next scheduled time. If a schedule definition does not exist, the transfer is placed in the unscheduled state and will execute only when you issue a START TRANSFER statement using the NOW qualifier or you define a schedule for the transfer. You cannot enter the START TRANSFER statement when a transaction is outstanding. You must terminate any outstanding transactions before issuing the START TRANSFER statement. You can use the START TRANSFER statement to initiate a transfer on demand by including the NOW option. The NOW option immediately places the transfer in the active state. This execute-on-demand feature is useful in batch processing environments when you want to initiate the transfer after another job has completed successfully, regardless of the transfer's schedule. If you want to start a transfer, the transfer definition must be associated with your UIC.
Examples
Example 1 This example starts a transfer called ENROLL_SPANISH1. If this transfer has a schedule defined for execution one hour from now but the transfer is suspended, issuing the START TRANSFER statement only changes the transfer's state to scheduled. Execution of the transfer will not occur for another hour. SQL> START TRANSFER ENROLL_SPANISH1 Example 2 In this example, transfer ENROLL_SPANISH1 has been defined but has no schedule. You issue this START TRANSFER NOW statement because you want to execute the transfer immediately. Control returns to RDO as soon as the transfer begins. SQL> START TRANSFER ENROLL_SPANISH1 NOW
STOP_TRANSFER
STOP TRANSFER ─────> transfer-name ─────> typebox (;) Places a transfer in the suspended state. Data Distributor does not attempt to execute the transfer until you remove it from the suspended state using the START TRANSFER statement. If the transfer is in the active state, the STOP TRANSFER statement also stops the copy process associated with that transfer.
Additional information available:
transfer-name
Specifies the transfer to be suspended. 3$More_Information You must terminate any outstanding transactions before you issue a STOP TRANSFER statement. If you want to stop a particular transfer, the transfer definition must be associated with your UIC.
Example
The following example places the EUROPE_PERS transfer in the suspended state. SQL> STOP TRANSFER EUROPE_PERS
data types
data-type = ─┬─>
C
H
A
R ─┬────────┬───────────────────────────┬──> │ └─> (n) ─┘ │ ├─>
V
A
R
C
H
A
R (n) ───────────────────────────────┤ ├─>
L
O
N
G
V
A
R
C
H
A
R ──────────────────────────────┤ ├─>
T
I
N
Y
I
N
T ──────────────┬─────┬────────┬─────┤ ├─>
S
M
A
L
L
I
N
T ─────────────┤ └─> (n) ─┘ │ ├─>
I
N
T
E
G
E
R ──────────────┤ │ ├─>
B
I
G
I
N
T ───────────────┤ │ ├─>
Q
U
A
D
W
O
R
D ─────────────┤ │ ├─>
L
I
S
T
O
F
B
Y
T
E
V
A
R
Y
I
N
G ─┘ │ ├─>
D
E
C
I
M
A
L ─┬─┬─────────────────────────────┬─┤ ├─>
N
U
M
E
R
I
C ─┘ └─> ( ──> n ─┬────────┬─> ) ──┘ │ │ └─> , n ─┘ │ ├─>
F
L
O
A
T ─┬────────┬──────────────────────────┤ │ └─> (n) ─┘ │ ├─>
R
E
A
L ──────────────────────────────────────┤ ├─>
D
O
U
B
L
E
P
R
E
C
I
S
I
O
N ──────────────────────────┤ └─> date-time-data-types ──────────────────────┘
Additional information available:
More Informationdate time data typesdomains
More Information
Data types control how SQL interprets and stores values in columns. Literals, arithmetic expressions, parameters, and SQL functions are examples of expressions other than column names that supply values and also have associated data types.
date time data types
date-time-data-types = ──┬─>
D
A
T
E ─┬──────────┬─────────────────┬──> │ ├─>
A
N
S
I ─┤ │ │ └─>
V
M
S ───┘ │ ├─>
T
I
M
E ───> frac ────────────────────┤ ├─>
T
I
M
E
S
T
A
M
P ──> frac ────────────────┤ └─>
I
N
T
E
R
V
A
L ───> interval-qualifier ──┘
Additional information available:
frac
frac = ──┬───────────────────────────────────┬─> └──> ( ───> numeric-literal ──> ) ──┘ Specifies the time or timestamp precision to a fraction of a second
interval qualifier
interval-qualifier= ──┬─>
Y
E
A
R ───> prec ──┬─────────────┬─────────────────┬─> │ └─>
T
O
M
O
N
T
H ─┘ │ ├─>
M
O
N
T
H ──> prec ──────────────────────────────────┤ │ │ ├─>
D
A
Y ────> prec ──┬───────────────────────────────┤ │ └─>
T
O ─┬─>
H
O
U
R ───────────────┤ │ ├─>
M
I
N
U
T
E ─────────────┤ │ └─>
S
E
C
O
N
D ─> frac ─────┤ ├─>
H
O
U
R ───> prec ──┬───────────────────────────────┤ │ └─>
T
O ─┬─>
M
I
N
U
T
E ─────────────┤ │ └─>
S
E
C
O
N
D ─> frac ─────┤ │ │ ├─>
M
I
N
U
T
E ─> prec ──┬───────────────────────────────┤ │ └─>
T
O
S
E
C
O
N
D ──────> frac ─────┤ │ │ └─>
S
E
C
O
N
D ─> seconds-prec ──────────────────────────┘
Additional information available:
prec
prec = ──┬───────────────────────────────────┬─> └──> ( ───> numeric-literal ──> ) ──┘ Specifies the interval leading field precision, which restricts the number of decimal digits that the leading segment occupies.
seconds prec
seconds-prec =
──┬──────────────────────────────────────┬──>
└─> ( ─> numeric-literal-1 ──┐ │
┌─────────────────────────┘ │
└┬──────────────────────────┬─> ) ──┘
└> . ─> numeric-literal-2 ─┘
The first numeric literal specifies the interval leading field
precision for the interval, and the second specifies its fractional
seconds precision.
domains
A domain is the set of values that a column in a table can have. The CREATE DOMAIN statement specifies the set of values by associating a data type with a domain name. You can refer to a domain instead of an SQL data type in the CREATE and ALTER TABLE statements, and in formal parameter declarations in SQL module procedures. You can specify the same domain in many table definitions. If the domain has to change, you need only change that one domain definition to change all the tables and SQL modules that refer to it. This ability makes it easier to keep applications consistent.
DCL invoke
Gives access to DCL from inside interactive SQL. The dollar sign ($) instructs interactive SQL to spawn a subprocess and pass the rest of the command line to DCL for processing. You must follow the dollar sign with a DCL command. After DCL processes the command, it logs out of the subprocess and returns control to interactive SQL. For example: SQL> $ MAIL MAIL>
Additional information available:
Example
Seeing your current default VMS directory: SQL> $ DIRECTORY Directory DISK2:[DEPT3.ACCT] DEFPRO.SQL;6 NOTEQUAL.SQL;1 QUERY.SQL;1 REFEXAM.SQL;12 STORE.SQL;1 UPDATE.SQL;2 Total of 6 files. SQL>
default database
SQL allows you to specify an alias that declares the database as the default database. Specifying a default database means that subsequent statements during the database attachment that refer to the default database need not use an alias. In the SQL module language, the alias specified in the module header is the one that designates the default database. In precompiled SQL programs and in interactive SQL, the special alias RDB$DBHANDLE designates the default database. In all environments, omitting an explicit alias is the same as specifying the alias that designates the default database. Select More_Information to continue.
Additional information available:
More Information
If you do not declare any alias or attach to any database, SQL declares the database specified in the logical name SQL$DATABASE as the default database, using the FOR FILENAME clause. If you declare a database specifying an alias other than the one that declares the default database, you must use that alias to qualify names of any database elements to which you refer in SQL statements. If you omit the alias, SQL assumes the table or view must be part of the default database. If there is no default database and you omit the alias, SQL generates an error.
Dynamic SQL
Dynamic SQL lets programs accept or generate SQL statements at run time, in contrast to SQL statements that are part of the source code for precompiled programs or SQL module language procedures. Unlike precompiled SQL or SQL module language statements, such dynamically executed SQL statements are not necessarily part of a program's source code, but can be created while the program is running. Dynamic SQL is useful when you cannot predict the type of SQL statement your program will need to process. You cannot use dynamic SQL statements in interactive SQL, but interactive help includes quick reference information on these dynamic SQL statements: Dynamic DECLARE CURSOR (listed as Dyn_DECLARE_CURSOR) DESCRIBE EXECUTE EXECUTE IMMEDIATE (listed as EXECUTE_IMMEDIATE) Extended Dynamic DECLARE CURSOR (listed as Ext_Dyn_DEC_CURSOR) Dynamic FETCH (listed as Dyn_FETCH) INCLUDE Dynamic INSERT (listed as Dyn_INSERT) Dynamic OPEN (listed as Dyn_OPEN) PREPARE
Dyn DECLARE CURSOR
Declares a cursor where the select statement is supplied at run time in a parameter.
Additional information available:
Format
DECLARE cursor-name ──────────────────────┐ ┌─────────────────────────────────────────┘ ├─┬────────────────┬────> typebox (T)typebox (A)typebox (B)typebox (L)typebox (E)
C
U
R
S
O
R ───┐ │ ├─>
I
N
S
E
R
T
O
N
L
Y ─┤ │ │ ├─>
R
E
A
D
O
N
L
Y ───┤ │ │ └─>
U
P
D
A
T
E
O
N
L
Y ─┘ │ │ ┌───────────────────────────────────────┘ │ └─>
F
O
R ─> statement-name ──────────────┐ │ ┌───────────────────────────────────────┘ │ └┬────────────────────────────────────┬─┐ │ └>
O
P
T
I
M
I
Z
E Ftypebox (O)typebox (R) ─┬─>
F
A
S
T
F
I
R
S
T ──┬──┘ │ │ └─>
T
O
T
A
L
T
I
M
E ──┘ │ │ ┌───────────────────────────────────────┘ │ └─>
F
O
R ─> statement-name ──────────────┬> typebox (;) │ │ └┬────────────────┬>
L
I
S
T
C
U
R
S
O
R ──────┐ │ ├─>
I
N
S
E
R
T
O
N
L
Y ─┤ │ │ └─>
R
E
A
D
O
N
L
Y ───┘ │ │ ┌─────────────────────────────────────┘ │ └─>
F
O
R ─> statement-name ───────────────┘
Additional information available:
INSERT_ONLY
Insert-only cursors position themselves on a row that has just been inserted so that you can load data values into lists or rows of that row.
READ_ONLY
Read-only cursors can be used to access row information from a result table whenever you do not intend to update the database. For example, you could use a read-only cursor to fetch row and column information for display.
TABLE
Specifies a cursor used to access individual rows of result tables. If you do not specify a cursor type, SQL declares a table cursor by default.
LIST
Specifies a cursor used to access lists. A list is an ordered collection of elements of the data type LIST OF VARBYTE (also called LIST OF BYTE VARYING). A list is equivalent to an RDO segmented string. You can use lists to scan through very large data structures from within a language that does not support objects of such size. Lists exist as a set of elements within a row of a table. Each list cursor must reference a table cursor, which provides the row context.
statement name
Identifies a prepared select statement that is generated at run time.
Dyn FETCH
The dynamic FETCH statement positions a list cursor onto the next element within a list. The dynamic FETCH statement is a FETCH statement that references a dynamic list cursor. You cannot use a dynamic FETCH statement before you issue a dynamic OPEN statement for the specified list cursor. If the list element is longer than the target specification, SQL sets the sixth element of the SQLERRD array of the SQLCA to the difference between these two values (the number of truncated bytes).
Additional information available:
Format
FETCH ───> dynamic-list-cursor-name ──────────────┐ │ ┌─────────────────────────────────────────┘ │ └──>
U
S
I
N
G
D
E
S
C
R
I
P
T
O
R descriptor-name ────>typebox (;)
Dyn INSERT
Inserts new data into a dynamic cursor (positioned insert) or a list, depending on which syntax you use. For more information, see the Positioned and LIST subtopics.
Additional information available:
Positioned
Use the following syntax when you want to insert data into a dynamic table cursor to set up the proper row context for any list cursors. This type of INSERT statement is known as a dynamic positioned insert statement. INSERT INTO CURSOR ───> dynamic-cursor-name ────────┐ │ ┌─────────────────────────────────────────────────┘ │ └─┬────────────────────────────┬──────────────────┐ └─> ( ─┬ column-name ─┬─> ) ─┘ │ └────── , <────┘ │ ┌─────────────────────────────────────────────────┘ └─>
V
A
L
U
E
S ──> ( ─┬┬─> literal ───┬┬──> ) ────────────>typebox (;) │├─> parameter ─┤│ │├─>
N
U
L
L ──────┤│ │└─>
U
S
E
R ──────┘│ └──── , <────────┘
LIST
Inserts new data into a list. INSERT INTO CURSOR ───> dynamic-cursor-name ───┐ │ ┌────────────────────────────────────────────┘ └──>
V
A
L
U
E
S ──> ( ─┬┬─> literal ───┬┬─> ) ──> typebox (;) │└─> parameter ─┘│ └───── , <───────┘
Dyn OPEN
Opens a dynamic list cursor so that you can retrieve its elements through dynamic FETCH statements.
Additional information available:
Format
OPEN ───> dynamic-list-cursor-name ──────────────>typebox (;)
Error
The following topics document messages returned with the SQL facility code. The online file SYS$HELP:SQL$MSG.DOC contains the same text. Print that file if you need hardcopy SQL message documentation. The Appendix on error messages in the VAX SQL Reference Manual describes how to use this file and files documenting related error messages with other facility codes.
Additional information available:
2DBTRISTMTACENOTFNDACE_ID_OVFLACE_ID_UNFL
ADADISUNSADAVARUNSAGGTBLCURALIASEMBFIRST
ALIASONLYONCEALLSCHROLLALLSCHTABALTNOTOCB
ALTSCHATTAMBHV_DECAMBTYP_DECAMB_KEYWORD
ANODBHANDANSIPROTONLANSI_UPDATE_VIEWARGCOUNT
ARIEXPEXPASSSTRLITATTMISSINGBACKUPBYBADADJLOCKGRAN
BADARGAVGBADARGSUMBADBLOBBADBUFFERPOOL
BADCATALOGBADCATINCREBADCBDATEBADCLUMP
BADCOLIGNCASBADCOLLATIONBADCORATTBADCTXLEN
BADCTXTYPEBADCTXVERBADDBHANDBADDBKEY
BADDICTIONARYBADDTFMTBADEPILOGUEBADEPINAM
BADEXTENDIBLEBADFILEVERBADFLDTYPBADIDXMAP
BADINTERVALBADLANGUAGEBADLOGFILEBADLOGNAM
BADMAINTBADMETNAMBADMVIEWFLDBADMVIEWREL
BADMVIEWVEWBADMVRELSBADMVVIEWSBADNONEXTEND
BADORIENTBADPAGEFORMATBADPREPAREBADPROLOGUE
BADPRONAMBADPROTECTIONBADRECBUFBADROLMVFLD
BADSCHEMABADSCHINCREBADSEGSTRINGBADSNAPFILENAME
BADSTOGROUPBADSUPLVLBADTHRESHOLDBADVAXCLUSNODES
BADVERNUMBAD_ARRAYBAD_CDD_DEFBAD_DB
BAD_LENGTHBAD_LEVELBAD_NAMEBAD_PRECISION
BAD_SCALEBAD_TOKENBAD_TXN_STATEBAD_VERSION
BASROWDELBINSCAFACBIT_FIELDBOG_DYN_NAMEBOOEXPEXP
BUGCHKCABORTCANTDOVALXPRCANT_MOVECATNOTDEF
CAT_EXISTSCDDERRCDDUNKPROTCDDVERERR
CHAR_SET_USEDCHECKOPTROCHGINDMAPCHGINDMAPSTP
CHRUNIBADCHR_TOO_SHOCHR_TOO_SMACIRCTYPE
CLOSERRCMDINTRCMPBYINVWCMPBYMVMETOOCMPBYWNRL
CMPBYWNVWCNTSPNSUBCOLEXISTSCOLLSTINVCOLL_EXISTS
COLNOTFUNCOLNOTNULCOLNOTSSCOLNOTUPD
COLNOTVALCOLONDISILLCOLONENAREQCOLSEQNOTDEF
COMPNOTRANSCOMPONENTCOMTOOLONCONALREXI
CONCHAILLCONDICREQCONLYOPTCONNAMEXI
CONNOTDEFCONNOTSUPCONREAATTCONSNAATT
CONTPREQCONTPROMPTCONTRIACTCONVARDEF
CONVARILLUPDCONVARUNDCORREFFUNCREATEDATE
CRE_STO_ERR_SCHCSETNOASCIICSETSYNCS_ERRCTXIGNORED
CTXPARMNOTALLCURALRDCLCURALROPECURNAMEXI
CURNOTOPECUROFNOTCUROFREQCUROFSTACURSTMTTXN
CURTWOOPENCURUSEINVCURVERDATCONERR
DATEADDILLDATEDIGNEQDATEDIVILLDATEEQLILL
DATEFORTIMESDATEMULILLDATEOPRDATESCANEQ
DATESUBILLDATETIMESDATETIME_PRECDATETIM_PREC
DATETIM_SCALEDATETYPESDATIM_SCALEDATNOTSUP
DATTYPUNKDBALLOCISDBALLOCWASDBBUFLENIS
DBBUFLENWASDBCLWASOFFDBCLWASONDBENVSYNERR
DBFCINTVLISDBFCINTVLWASDBFCISOFFDBFCISONDBFCWASON
DBHANDOVEDBHANDOVE_QDBHANDUNKDBHDLREQ
DBINUSEDBJNLALLISDBJNLALLWASDBJNLEXTIS
DBJNLEXTWASDBJRNCMTISNDBJRNCMTISYDBJRNCMTWASN
DBJRNCMTWASYDBKAMBIGDBKTOOBIGDBLCKTMOUTIS
DBLCKTMOUTWASDBMUNGEDDBMUNGED_QDBNAMCONF
DBNOTINCONNDBNUMBUFISDBNUMBUFWASDBNUMDBRIS
DBNUMDBRWASDBNUMNODISDBNUMNODWASDBNUMUSERIS
DBNUMUSERWASDBPGSIZISDBPGSIZWASDBSNPDEFISN
DBSNPDEFISYDBSNPDEFWASNDBSNPDEFWASYDBSNPENAISN
DBSNPENAISYDBSNPENAWASNDBSNPENAWASYDBSPECSYNERR
DB_EXISTSDB_HANDECDB_HANDEC2DB_HANLON
DB_IN_TXNDCLBEFEXEDCLDATBEFDDALERR
DDALFMTUNKDDALNOTINSDDLPARAMDDNOTSUPP
DECCURINTODECEMBERDEFCONMODDEFDBDECDEFVALINC
DEFVALNOTCBDEFVALUNSDEGMODSPCDELBACKUP
DELLSTDYNCURDEPIMPCASDEPR_DQUOTESDEPR_FEATURE
DEP_FEATUREDIC_DB_CHG1DIC_DB_CHG2DIFFDEFINV
DIFFSCHVIEWDIGNUMPICDOMNOTBCKDOM_CDD_NAME
DOM_INVALIDDPBFMTUNKDROP_COLDOMDROP_COLL
DROP_CONSDROP_DOMDROP_IDXDROP_STOMAP
DROP_STORMAPDROP_TABLEDROP_TRIGDROP_VIEW
DTFMTTOOBIGDTONCEEACHDUPFLDDEFDUPPROCNAM
DUPREFACTDUPVARDYNSIZARREMPMSGVEC
ENDENUM_VARERRATTDECERRATTDEF
ERRCRESCHERRDETERRINCPATHERRSYMDEL
ERRSYMREPES_ILL_RPTEVACLAUNSEXESELSTA
EXPNUMLITEXPQUEXPREXP_CDD_NODATAEXP_CDD_NOEXT
EXP_CONVERTEXTNAMEXISTSEXTRADATAEXTREPONESCH
FETNOTDONFIELD_EXISTSFINNOSESFKCONSNOTCB
FLDAMBIGFLDNOTBCKFLDNOTCRSFLDNOTDEF
FLDNOTINRELFLUINPBUFFORCOLNMASSFORCOLNMDECL
FORCOLNODECLFORPASLENFORTABNODECLFUN_VAR
GARBLEDGETCRESEGGFLOATHEXSTREVEHI_ORD_LOS
HVNOTDECLHV_NOT_INIDMISSINGIGNCASE_BAD
ILLBEGINILLCHARILLCOMPRECILLDATLENILLEXEIMMILLFLOLEN
ILLFRASECPREILLFROMILLHEXNUMILLINTLENILLPICSTR
ILLSTRCONTIMPL_DIMIMP_CDD_NODATAIMP_IDXNOTCRE
IMP_IDXNOTDROIMP_IDX_CONFLICTIMP_IDX_DELIMP_IDX_NODEL
IMP_IDX_OVRIMP_IDX_TWICEIMP_MAP_DELIMP_MAP_OVR
IMP_STANOTDROIMP_STAREADONLYIMP_STMNOTCREIMP_STMNOTDRO
IMP_STO_AREAIMP_STO_CONFLICTIMP_STO_DELIMP_STO_MAP_CONFLICT
IMP_STO_MAP_TWICEIMP_STO_OVRIMP_STO_TWICE
IMP_TRA_BEGIMP_TRA_ENDINCCSASSINCCSCMPINCCSCON
INCNOTRECINC_DAT_TYPINDEXTSINDFIXINTINDNOTDEF
INDSHOINTIND_EXISTSINFODETINPUTERRORINSCOLALR
INSCURDYNINSVALSPECINS_INTO_ROINS_MUST_INS
INTERVAL_USEDINTIGNSYSINTNOTQUALINTNOTSYSINTONOTALW
INTONOTQUALINTQUALINVINTVALLOWINTVALOVR
INT_DEL_FLD_PATHINT_DEL_REL_PATHINVACLINVARRSUB
INVATTVALINVCHAINPINVCHANUMSTRINVCOLLSTINVCOLSPCINVCOMLIN
INVCONSINVCORRSLINVCSETINVDATCONINVDBKREF
INVDISXPRINVESCVALINVFLDINVFUNREFINVHVDECL
INVINDEXINVINTQUALINVLENHVINVNODESIZEINVNUMLIT
INVNUMSTRPREINVOBJFILINVORDNUMINVPERCENTFILL
INVPICNINVPRIVINVPRIVNAMESINVQUALINVREFCLA
INVRELVIEWINVRNGINVRTOSTMINVSEGVALINVSELLIS
INVSELSTARINVSQLCODEINVSSCONVINVSSHAN
INVSTRLENINVTRGINVTRISTMTINVTYPEINVVALLISIOERROR
ISQLINTOJOITOOBIGJUNONLINKEYTOIDENTLANFILEXTLANSWIVAL
LANUNSDSCDTPLANUNSDTPLCKTMOUTISLENMISMAT
LIMFIXINTLINETOOLONGLISTNOTVALLIT_EXCEPT
LOGBACDATLOOK_FORLOOK_FOR_CONLOOK_FOR_FIN
LOOK_FOR_STMTLOOK_FOR_STTLOOK_FOR_UNTERMLOWCASNOTALL
LOW_ORD_LOSLSTCURSTALSTNOTNULLSTREFAMB
L_PAGE_HEAD_2MAJORVERMAXFLDPRTSTRMAXNESEXC
MAXORDEXCMAXRELEXCMINGTRMAXMINORVER
MINUSDATINTMISREQVALMISSINGNAMEMIXTABLIS
MLTDFNRTNMODTOOOLDMOVENOCOLSMULDIMARR
MULSPECATRMULTSPECATRMULT_STRUCTMUL_UIC
MVMULTITARGMVRELABSNTNAMCONFNAMTOOBIG
NEG_DIMNESFUNINVNESINCFILNESQRYEXPNO1ST
NOAGGALLNOALTERNOANYALLNOBATCHUPDATENOBATUPDNOBCKFIL
NOBCKTRNSNOBUCTXPARMNOBUUSINGCTXNOCATRES
NOCDDNOCDDALTNOCDDRESNOCDDUPDATNOCMPBYRES
NOCMPINTDYNOCOLALLNOCOLLSTNOCOLNAMNOCOLRES
NOCONNAMNOCONRESNOCORRCOLNOCPRIRES
NOCSETNOCUROFNODATDIVNODATRESNODBHALWNODBKALL
NODBKGRONODBNAMENODBSINTXNNODECLMOD
NODEFDBNODISTINCTNODROPSYSCATNODROPSYSSCH
NODUPLIVIEWNOENTRYPTNOFILLISTNOFLDRESNOFSTINREPT
NOGROUPNOIDXRESNOIMPTXNNOINCDICNOITEMDEFNOLANGFIL
NOMAPIMPONOMAPRESNOMATCHKEYNOMLTIMVNOMLTIMVIEW
NOMODFILNOMOVESYSNOMVRALLNOMVVROLNONCONARR
NONOVALNONSINGLE_INTONONSTAAMBNONSTAANSPARM
NONSTACASNONSTACOBNONSTACOLNONSTACOLQUAL
NONSTACONNONSTACUCNONSTACURNONSTADIS
NONSTADTPNONSTADYNNONSTAHVNONSTAINVOKER
NONSTANAMNONSTAOKWNONSTAPHYNONSTAQUO
NONSTARSWNONSTASCLNONSTASMNONSTASYN
NONSTATXNNONSTAUNINONSTAVIANOOPENCUR
NOORDERNOPASQLDANOPHYSMULSCHNOPRECOMPSEL
NOPRIMKEYNOPROCNOPRVMVIEWNOPRVMVREL
NOPRVREPLINOPRVROLMVRNORDBPRIVNOREDINREPT
NORELFOUNORELRESNOREMVERNOREPSQLDANORETURN
NOROCOLNORTPARMNOSCHALTNOSCHRESNOSEGSTRAREANOSELALL
NOSELXPRNOSORTINREPTNOSPRIRESNOSQLCANOSQLCODE
NOSTRDEFNOSTRNAMNOSUCHCONNOSUCHCURNOSUCHDATEFMT
NOSUCHLANGNOSUCHPROCNOSUCHSTMTNOSUCHTIMEFMT
NOSUPREPLINOTAVIEWNOTDB2NOTDB2DURNOTDB2FN
NOTFOUNDNOTGROFLDNOTHVDECLNOTIMPSES
NOTINSCURNOTINTBLCURNOTLISTCOLNOTLSTCUR
NOTPRIRESNOTRGRESNOTSAMESCOPENOTSAMETBL
NOTTBLCURNOTUSEINDNOTYPESNOT_A_DB
NOT_CDD_DBNOT_SAME_CONTEXTNOT_SCH_IDNOUNION
NOVIERESNOVIEWINREPTNOWHERENO_CDDACCNO_COMMAND
NO_DCLTXNNO_DECIMALNO_DESCENDINGNO_DMLPLAN
NO_ENDCOMNO_ENDEXECNO_FILFNDNO_HDRPLAN
NO_INCFNDNO_NUMERICNO_PLNFNDNO_SQLDA
NO_STMTB4HDRNO_SUCH_FIELDNO_TRIGGER_VALSNO_TXNOUT
NO_UNSNUMERICNSEGBLRNULLNOINDNUMCMPTXT
NUMHVSNOTNUMITESELNUMXPREXPNUM_TO_DATE
OLDNAMWASONEEPERMONETXNMODONLFIRPRE
ONLFIRVARONLONEDBONLONETRNONLVALLSTONLY1LISTONLY1TBL
ONLYONEPSECTOPENERROPRSTK_OVRFLOPARAMNOTSTR
PARAMQUALPARBADCLAPARBADDATPARBADLEN
PARBADSCAPARBINSCAPARMLISTREQPARSE_STACK_OVERFLOW
PASPRGNOTFNDPASRECUNSPASVARUNSPATH_NAM_REQ
PHYBACDATPKCONSNOTCBPKGNAMCHGPKNOTNULL
PREFORSTRPREMATURE_EOFPREPCDDVER1PREPCDDVER2
PREPCDDVER3PREPDBVERPREPNOCTXSTRPREPPROMPT
PRESTAOPEPRIKEYEXIPRINT_SSIDPROCNOCAPROCSTATWO
PROMPTPRPSELINTOPRVERRSDTPUNKPTR_VARPUTOPESEG
QUAINVVALQUALNOTALLOWQUANOVALQUERYCANQUERYLIMPOS
RDBVMSONLREANOWRTREAONLATTRECEXCMAX
REFKEYCOLREFKEYNUMRELNOTDEFREL_EXISTS
REMNOTALWREORGONLALTSMRESABORTRESERVED_WORD
RESRELMSGRESVIEMSGRESWORDCHKOFFRESWORDCHKON
RES_KEYWORDRES_WORD_AS_IDENTRETRYPOSREVENTANS
RTCSASS_C2CRTCSASS_C2NRTCSASS_D2CRTCSASS_N2C
SATURDAYSCHCATMULTISCHEMA_CDDFILESCHNOABSTIM
SCHNOTDEFSCH_EXISTSSEGAREERRSEGSTRAWAS
SEGSTREXPSELMORVALSESNOTENASEVERRDET
SHCONSHCONNONESHCONRELSHDBCDDSHDBFILSHDBINFIL
SHDBPTHSHDESCENDSHEXECOFFSHEXECONSHFLDGBL
SHFLDNONESHFLDRELSHFLDVIEWSHINDDRSHINDDUP
SHINDFSHINDFLDSIZESHINDIFSHINDMAPVALSHINDMAPVAL2
SHINDNDUPSHINDNONESHINDRSHODEPROFF
SHODEPRONSHOFLAGOFFSHOFLAGONSHOTABMAPDR
SHRELNONESHTYPNONESHVIEWSHVIEWNONE
SMA_DAT_TYPSPACREQSPANOTVALSQL41UNAS1
SQL41UNAS2SQL41UNAS3SQL41UNAS4SQL41UNAS5
SQLCHSCALESQLDANOTSQLDATASQLLENSQLTYPESSTOOBIG
STANOTDEFSTANOTSELSTAREQCOLSTARNOTALL
STAROCURSTATWOCURSTMTALREXISTOCOLERR
STOCOLUKNSTOMAPNOTDEFSTOMAP_EXISTSSTOTABUKN
STRARRAYSTRCVTNUMSTRINXPRSTRLITEXPSTRLITMISQUO
STRMORELESTRTOOBIGSTRTOOLONSTRXPREXP
SUBNOGBSUBTOOVALSYMDEFSYM_EXPSYNTAX_ERR
SYSPAGFORSYSPAGUNIS_ALGDISS_ALGENABLEDS_ALLINDDBF
S_ALLINDDBHS_ALLINDDBPS_ALLTBLDBFS_ALLTBLDBH
S_ALLTBLDBPS_ALLTYPDBFS_ALLTYPDBHS_ALLTYPDBP
S_BATCH_UPDATES_BLANKSS_COLHDR1S_COLHDR2
S_COMMENTS_COMMIT_CONSTS_COMPUTEDS_COMTBL
S_CONCOMMITS_CONCURRENCYS_CONNODEFERS_CONSISTENCY
S_CONSSGLLEVS_CONVERBS_DBCDDPATHS_DBHAN
S_DB_LCKTIM_INTVLS_DEFDBS_DESCRIPTIONS_DICTS_FC_COM
S_FC_INTS_FC_NOCOMS_FC_TIMS_FC_TSNS_FLDADTS_FLDB_NS
S_FLDB_SS_FLDFS_FLDGS_FLDL_NSS_FLDL_SS_FLDNL
S_FLDNUS_FLDPS_FLDQ_NSS_FLDQ_SS_FLDSSS_FLDSS_BLR
S_FLDSS_SEGLENS_FLDSS_TXTS_FLDSS_TYPS_FLDT
S_FLDUNKS_FLDVTS_FLDW_NSS_FLDW_SS_GB_DISABLE
S_GB_ENABLEDS_INSERT_COUNTS_INTEGNPRESS_INTEGPRES
S_LINES_LIST_STOMAP_NAMES_LOCK_ERS_LOCK_EW
S_LOCK_PRS_LOCK_PWS_LOCK_SRS_LOCK_SW
S_LONG_BLANKSS_LONG_DESCRIPTIONS_MULTLEV
S_NOWAITS_PRIV_DBS_PRIV_TBLS_PROT_DB
S_PROT_TBLS_QUERY_HEADERS_RDBVMSFILS_READONLY
S_READ_WRITES_SERDBSEVMSFILS_SNGLEVS_SOURCES_STOAREA_READONLY
S_STOAREA_READWRITES_STOAREA_UNIFORMS_STOAREA_WRITEONCE
S_STOMAP_NAMES_SYSINDDBFS_SYSINDDBHS_SYSINDDBP
S_SYSTBLDBFS_SYSTBLDBHS_SYSTBLDBPS_SYSTYPDBF
S_SYSTYPDBHS_SYSTYPDBPS_TBLINFO1S_TBLINFO2
S_TRANSBRIEFS_TRANSFCOMMENTS_TRANSFDEFS_TRANSFDEFINER
S_TRANSFDEFNONES_TRANSFDELTAS_TRANSFDESTDBS_TRANSFEPILOG
S_TRANSFERSS_TRANSFINF1S_TRANSFINF2S_TRANSFLAST
S_TRANSFLINES_TRANSFLOGFILES_TRANSFMODEES_TRANSFMODEER
S_TRANSFMODERS_TRANSFNEXTS_TRANSFNOEPIS_TRANSFNOLOG
S_TRANSFNONES_TRANSFNOPRIVS_TRANSFNOPROS_TRANSFNOSTS
S_TRANSFPROLOGS_TRANSFRETRIEDS_TRANSFRETRYS_TRANSFSCH
S_TRANSFSCHDAYS_TRANSFSCHDLTS_TRANSFSCHDPWS_TRANSFSCHDPW2
S_TRANSFSCHMONS_TRANSFSCHNONES_TRANSFSCHONCS_TRANSFSCHWEK
S_TRANSFSOURCES_TRANSFSRCDBS_TRANSFSRCNOHS_TRANSFSTART
S_TRANSFSTATUSS_TRANSFSTSS_TRANSFSTSACTS_TRANSFSTSNONE
S_TRANSFSTSRETS_TRANSFSTSSCHS_TRANSFSTSSSPS_TRANSFSTSUNS
S_TRANSFSTSWTRS_TRAN_BASESYSS_TRAN_DBHANDLES_TRAN_DECLARE
S_TRAN_DEFDBS_TRAN_HEADERS_TRAN_NOBASSYSS_TRDPB2AIJ
S_TRDPB2AIJALLS_TRDPB2AIJCONTS_TRDPB2AIJEXTS_TRDPB2AIJONCE
S_TRDPB2AIJSPLS_TRDPB2ALGS_TRDPB2ALGDISS_TRDPB2ALGENA
S_TRDPB2ALLOCS_TRDPB2AUTOS_TRDPB2BADCODES_TRDPB2BFLEN
S_TRDPB2CDDMNTS_TRDPB2CDDPATHS_TRDPB2CDDREQS_TRDPB2CHGSTO
S_TRDPB2CONVERTS_TRDPB2DBRBUFFS_TRDPB2DEFSTOS_TRDPB2DELSTO
S_TRDPB2DESCRS_TRDPB2ENDSTOS_TRDPB2EXSGRWS_TRDPB2EXSMAX
S_TRDPB2EXSMINS_TRDPB2EXSPGSS_TRDPB2EXTBLES_TRDPB2EXTGRO
S_TRDPB2EXTMAXS_TRDPB2EXTMINS_TRDPB2EXTPGSS_TRDPB2FILESPC
S_TRDPB2FILETYPS_TRDPB2HEADERS_TRDPB2LAYRACCS_TRDPB2MANUAL
S_TRDPB2NUMBFS_TRDPB2NUMNODES_TRDPB2NUMUSRS_TRDPB2PGSIZE
S_TRDPB2PROTS_TRDPB2READONLS_TRDPB2REQSCOS_TRDPB2SEGAREA
S_TRDPB2SNAPS_TRDPB2SNPALLS_TRDPB2SNPDISS_TRDPB2SNPENA
S_TRDPB2SNPENDS_TRDPB2SNPENIS_TRDPB2SNPFLGS_TRDPB2SPAMINT
S_TRDPB2SPAMSS_TRDPB2SPMTHR1S_TRDPB2SPMTHR2S_TRDPB2SPMTHR3
S_TRDPB2STONAMES_USRINDDBFS_USRINDDBHS_USRINDDBP
S_USRTBLDBFS_USRTBLDBHS_USRTBLDBPS_USRTYPDBF
S_USRTYPDBHS_USRTYPDBPS_VALIDS_VERB_CONST
S_VIDANAMS_WAITS_WAIT_INTERVALTBLCOLAFT
TBLCURDYNTBLNOTCURTBL_CDD_NAMETHRESHIGNO
THRIGNSYSTHRNOTSYSTOKINSBEFTOKTOOBIG
TOOBIGBLRTOOMANYNAMESTOOMANYTBLTRAACT
TRAACT_1TRAACT_2TRAACT_3TRADBPNEWONLTRAHDLINV
TRAMODSPCTRANOTOWNERTRANSFDISTREPTRANSFGRPBY
TRANSFHAVINGTRANSFSUBQRYTRANSFUNIONALLTRATOEXEXTR
TRATOEXPRIVTRATOEXRDBTREE_OVRFLOTRIGNOTDEF
TRIG_EXISTSTRNNOTBLSTRNNOVIEWSTWOIMPTXN
TXNNOTLONGTXN_HNDL_IGNOREDUKN_ALT_OPTUNAOBTDSR
UNBDECFILUNBTMPFILUNDEFVARUNDPARAM
UNDVERUNICONSNOTCBUNIKEYEXIUNIONEXTROLLUNISELLIS
UNKTYPEUNMATENDUNSCOMPBYUNSDATASSUNSDATATYPE
UNSDATCVTUNSDATXPRUNSDB2PRIVUNSDSCCLA
UNSDTPCVTUNSIGNED_VARUNSNUMXPRUNSPLIATT
UNSSTRXPRUNSSUPDATUNSUPOPUNSUPVERUNTSTR
UPDCOLPRIVUPDINSCURUPDREACURUSERINVIEW
USERNOTSUPUSINGCTXNOTALLUSRDEFTYPVECNOTIND
VEWNOTDEFWAIMODSPCWARDETWARNINGCB
WHYTWICEWILDALLWILDWISH_LISTWRICIRREF
YES_CHARZABORTZEROSIZE
2DBTRISTMT
Triggered statement is not in the same database as the trigger Explanation: You specified a triggered statement which uses a different database than the database the trigger is a part of. This is not legal. User Action: Specify only triggered actions which execute in the database in which the trigger is defined.
ACENOTFND
No matching access control entry found Explanation: In a protection command that refers to an existing access control entry, you specified identifiers that did not match any existing entry. User Action: Use SHOW PROTECTION to see what the access control list currently looks like, and correct your command.
ACE_ID_OVFL
ACE identifier stack overflow during ACE parsing Explanation: You included too many identifiers in an expression. The identifier stack for the access control entry (ACE) overflowed during parsing. User Action: Simplify the access control entry that caused the error.
ACE_ID_UNFL
ACE identifier stack underflow during ACE parsing Explanation: The access control entry (ACE) identifier stack underflowed during ACE parsing. This happens when identifiers are not stored in the stack appropriately. User Action: Submit a software performance report (SPR) with the Rdb/VMS interchange file (.RBR).
ADADISUNS
Host variable <text> is based on a type that uses discriminamts Explanation: The host variable you referred to is based on a type which uses Ada discriminants. SQL does not support types which include discriminants User Action: Use a different type defintion.
ADAVARUNS
Host variable <text> is based on a record type that uses variants Explanation: The host variable you referred to is based on a record type which uses Ada variants. SQL does not support types which include variants. User Action: Use a different type defintion.
AGGTBLCUR
Table cursor, <text>, cannot have list cursors because it contains an aggregate or UNION Explanation: The table cursor referenced in the WHERE CURRENT OF clause of a list list cursor was defined using an aggregate or union expression. User Action: Change the table cursor to no specify an aggregate or union expression.
ALIASEMBFIRST
Alias may only be specified in first level name Explanation: An alias was embedded in a quoted identifier after the first level. User Action: Change the name to embed the alias at the first level of the name.
ALIASONLYONCE
Alias may be specified only once Explanation: An alias was embedded in a quoted identifier at more than one level in a multilevel name. User Action: Change the name to embed the alias at the first level of the name.
ALLSCHROLL
All databases may be moved only by EXTRACTION ROLLUP transfers Explanation: You have specified *.* in the move tables clause of a transfer which was an extraction or replication transfer. User Action: Reenter the CREATE TRANSFER statement with a differene MOVE clause.
ALLSCHTAB
All tables must be moved if all databases are moved Explanation: The move clause must be *.* or xxx.*, not *.xxx. User Action: Reenter the CREATE TRANSFER statement with a different MOVE clause.
ALTNOTOCB
ALTER TABLE may not be used to change a column to computed Explanation: The ALTER clause of the ALTER TABLE statement was used to change an existing column with a data type to a computed column. User Action: Use the DROP clause of the ALTER TABLE statement to drop the existing column and the ADD clause to add a computed column.
ALTSCHATT
You cannot use the ALTER DATABASE statement on an attached database Explanation: You attempted to alter a database that was already attached. User Action: Either remove the ALTER DATABASE statement or make sure the database being altered is not attached.
AMBHV_DEC
Host variable <text> was ambiguously defined Explanation: You declared a host variable ambiguously by using the same name in two host variable declarations. User Action: Change the name or level of one of the definitions.
AMBTYP_DEC
Host variable <text> was based on an ambiguously defined type Explanation: You declared a host variable which was based on a type. The type is ambiguous because two or more type declarations use the same name. User Action: Change the name or scope of one of the definitions.
AMB_KEYWORD
Ambiguous keyword abbreviation Explanation: You used an ambiguous abbreviation. User Action: Specify the entire keyword.
ANODBHAND
Another database already declared with alias <text> Explanation: You specified in the DECLARE ALIAS or ATTACH statement the same alias as in a previous DECLARE DECLARE ALIAS or ATTACH statement. User Action: Either issue a DISCONNECT statement and try the same ATTACH statement, or enter the DECLARE ALIAS statement again with a different alias .
ANSIPROTONL
This statement may only refer to database with ANSI protection Explanation: You tried to execute a SHOW statement which is only for ANSI style protections on a database which uses ACL style protections. User Action: Only use this statement with ansi style protections.
ANSI_UPDATE_VIEW
This view is non-updatable by ANSI standards Explanation: The way that the view was created violates the ANSI requirements for updatableness. The view is marked non-updatable though at this time (version 4.1), the view can still be updated. The violations of the ANSI standard are: a column name used more than once in a select expression and a computed-by field User Action: None. For future compatibility, user may want to note if a view is updatable or not
ARGCOUNT
Procedure <text> expected <value> parameters, was passed <value> Explanation: The module language procedure was not passed as many parameters as it expected. This may be because the /CONTEXT qualifier was or was not specified when the module was compiled, or because the procedure call and procedure declaration do not have the same number of parameters. User Action: If a context parameter is being passed, make sure that the /CONTEXT qualifier is specified on module compilation. Otherwise, make sure that the procedure call and declaration specify the same number of parameters.
ARIEXPEXP
Expected arithmetic value expression Explanation: You supplied a predicate where SQL expected to find an arithmetic value expression. User Action: You must use an arithmetic value expression in this context.
ASSSTRLIT
Numeric literal is assumed to be text
Explanation: You tried to store a numeric literal into a text
column or compare a numeric literal to a text column. SQL
assumes the string is a text literal and converts it for the
storage or comparison. Note that each digit in the numeric
literal, including leading zeroes, is converted to text. For
instance, 001 and 1 represent the same number, but are converted
to different literals ("001" and "1").
User Action: None. However, it is good programming practice to
convert the numeric literal to a string literal by enclosing it
in quotes.
ATTMISSING
invalid or missing attributes Explanation: Internal error -- a required attribute (such as the data type in a GLOBAL FIELD clump) is missing. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BACKUPBY
exported by <text> Explanation: Information about who created the Rdb/VMS export file (.RBR). User Action: None.
BADADJLOCKGRAN
ADJUSTABLE LOCK GRANULARITY clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified an ADJUSTABLE LOCK GRANULARITY clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the ADJUSTABLE LOCK GRANULARITY clause.
BADARGAVG
Argument of AVG must be numeric or interval Explanation: The expression for an AVG function must be numeric or interval. User Action: Change the value expression to contain only numeric or interval fields, or remove the function.
BADARGSUM
Argument of SUM must be numeric or interval Explanation: The expression for an SUM function must be numeric or interval. User Action: Change the value expression to contain only numeric or interval fields, or remove the function.
BADBLOB
unable to import a list Explanation: Error from Rdb$CREATE_SEGMENTED_STRING. See the following message for more information. User Action: If the nature of the problem is not obvious, submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADBUFFERPOOL
BUFFERPOOL clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the BUFFERPOOL clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the BUFFERPOOL clause.
BADCATALOG
Catalog <text> not used by this query Explanation: You used a catalog name to qualify a reference to a column and that catalog was not specified in the FROM clause of the query. User Action: Either remove the catalog name from the select-list or specify the same catalog as specified in the FROM clause of the query.
BADCATINCRE
Reference to catalog <text> not permitted within definition of catalog <text> Explanation: You specified the name of a catalog other than the one being defined. User Action: Remove the catalog name or use the name of the catalog being defined.
BADCBDATE
Bad computed by date data type Explanation: Datetime data type in COMPUTED BY clause was invalid User Action: Fix data type and try again
BADCLUMP
invalid clump type encountered Explanation: Internal error - bad data in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADCOLIGNCAS
The LIKE pattern is incompatible with IGNORE CASE Explanation: The use of column names as the pattern string cannot be supported if IGNORE CASE is also choosen. User Action: Use UPPER or LOWER functions to translate the source string into a consistent case before rather than having LIKE ignore case.
BADCOLLATION
COLLATION SEQUENCE clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the COLLATION SEQUENCE clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the COLLATION SEQUENCE clause.
BADCORATT
invalid core attribute <hex-value>, <hex-value> in .RBR file Explanation: Internal error - bad data in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADCTXLEN
Illegal length value found in context structure Explanation: The LENGTH field of the context structure passed to the SQL procedure was illegal. VAX SQL supports only the global tid, which has a length of 16 (symbolically DDTM$S_TID). User Action: Change the HLL code to pass a context structure whose only length is 16 (DDTM$S_TID).
BADCTXTYPE
Illegal type value found in context structure Explanation: The TYPE field of the context structure passed to the SQL procedure was illegal. VAX SQL supports only the SQLCONTEXT$K_GLOBAL_TID type. User Action: Change the HLL code to pass a context structure whose only type is SQLCONTEXT$K_GLOBAL_TID.
BADCTXVER
Unsupported version of context structure Explanation: The VERSION field of the context structure passed to the SQL procedure was unsupported. VAX SQL supports only the SQLCONTEXT$K_VERSION1 version. User Action: Change the HLL code to pass a context structure whose only version is SQLCONTEXT$K_VERSION1.
BADDBHAND
Alias <text> not used by this query Explanation: You used an authorization identifier to qualify a reference to a column and that authorization identifier was not specified in the FROM clause of the query. User Action: Either remove the authorization identifier that qualifies the select-list item or specify the same authorization identifier as specified in the FROM clause of the query.
BADDBKEY
DBKEY SCOPE clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the DBKEY SCOPE clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the DBKEY SCOPE clause.
BADDICTIONARY
DICTIONARY clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the DICTIONARY clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the DICTIONARY clause.
BADDTFMT
Date or time format is not set up properly.
Explanation: You entered a SHOW DATE FORMAT statement, but
LIB$DT_FORMAT is not properly defined.
User Action: Check the definition of LIB$DT_FORMAT. If it is a
process logical, it should be changed. If it is a group
or system logical, contact your system manager to change
it.
BADEPILOGUE
only one epilogue file clause can be specified per transfer Explanation: You specified more than one epilogue file clause in the CREATE TRANSFER statement. This is not permitted. User Action: Reenter the CREATE TRANSFER statement, specifying only one EPILOGUE IS or NOEPILOGUE clause.
BADEPINAM
invalid epilogue file name Explanation: You entered an invalid epilogue file name. User Action: Refer to the explanation in the user action section of the secondary error message.
BADEXTENDIBLE
EXTENDIBLE clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the EXTENDIBLE clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the EXTENDIBLE clause.
BADFILEVER
incompatible .RBR file type Explanation: This version of SQL cannot import a database from this Rdb/VMS interchange file (.RBR). User Action: Use a version of RDO that corresponds to the version of RDO that created this file.
BADFLDTYP
source fields of target relation <text> field number <value> have different types Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have entered MOVE RELATION clauses with the same target relation name and specified fields with the same names but of different data types in the source databases. User Action: Reenter the CREATE TRANSFER statement by specifying fields of the same data type in all the MOVE RELATION clauses with the same target relation.
BADIDXMAP
Fields specified for partitioning btree do not agree with fields for index Explanation: You named fields to partition a btree index but in an incorrect order. User Action: Review the statement and specify it again.
BADINTERVAL
INTERVAL clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified an INTERVAL clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the INTERVAL clause.
BADLANGUAGE
Language <text> not properly set up. Explanation: SQL attempted to retrieve month or weekdays from the logical name table LNM$LANGUAGE_xxx for language xxx, but could not retrieve a value. User Action: Contact the sytem manager to make sure everything has been properly set up.
BADLOGFILE
only one log file clause can be specified per transfer Explanation: You specified more than one log file clause in the CREATE TRANSFER statement. This is not permitted. User Action: Reenter the CREATE TRANSFER statement, specifying only one LOG FILE IS or NOLOG clause.
BADLOGNAM
invalid log file name Explanation: You entered an invalid log file name. User Action: Refer to the explanation in the user action section of the secondary error message.
BADMAINT
Database is an unsupported maintenance release for the current version Explanation: The maintainance release number and the version number of the database that you just attached to forms an unknown combination. User Action: Check to make sure that you are running with the correct versions of Digital-supported database products for the SQL interface to Rdb/VMS. Correct versions are listed in the Rdb/VMS Installation Guide.
BADMETNAM
Metadata names must end in A - Z or 0 - 9 Explanation: The name given in a data manipulation or definition statement ended with a dollar sign ($) or underscore (_). These symbols are not allowed. User Action: Specify a valid name.
BADMVIEWFLD
field <text> of relation <text> must be moved for view <text> Explanation: You attempted to transfer a view without transferring a field to which the view refers. You must also explicitly transfer in the CREATE TRANSFER statement all relevant fields of relations to which the view refers. User Action: Reenter the CREATE TRANSFER statement, adding the required field to the appropriate MOVE RELATION clause.
BADMVIEWREL
underlying relation <text> of view <text> must also be moved Explanation: You attempted to transfer a view without transferring the relations to which the view refers. You must explicitly transfer the relations to which the view refers in the CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement adding the required MOVE RELATION clause.
BADMVIEWVEW
underlying view <text> of view <text> must also be moved Explanation: You attempted to transfer a view without transferring other views that underlie the view you want to transfer. You must explicitly transfer the views to which the view refers in the CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement adding the required views to the MOVE VIEW clause.
BADMVRELS
move-relations-clause is allowed only once in CREATE TRANSFER Explanation: You specified more than one move-relations-clause in a CREATE TRANSFER statement. Possibly you did not separate the MOVE RELATION clauses with semicolons. User Action: When you use a CREATE TRANSFER statement, group all the MOVE RELATION clauses together and separate them with semicolons.
BADMVVIEWS
move-views-clause is allowed only once in CREATE TRANSFER Explanation: You entered more than one move-views-clause in a CREATE TRANSFER statement. Only one move-views-clause is allowed in a CREATE TRANSFER statement. User Action: Combine all MOVE VIEWS clauses into one list and separate the view names with commas.
BADNONEXTEND
NONEXTENDIBLE clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the NONEXTENDIBLE clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the NONEXTENDIBLE clause.
BADORIENT
fetch orientation allowed only for scroll cursors Explanation: You specified a fetch orientation for a fetch statement, but the cursor for the fetch statement wasn't scrollable. User Action: Either ignore the clause or choose a cursor that can be scrolled.
BADPAGEFORMAT
PAGE FORMAT clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified a PAGE FORMAT clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the PAGE FORMAT clause.
BADPREPARE
Cannot use DESCRIBE or EXECUTE on a statement that is not prepared Explanation: You attempted to use a DESCRIBE or EXECUTE statement that named a statement which was not successfully prepared. User Action: Prepare the statement before calling DESCRIBE or EXECUTE.
BADPROLOGUE
only one prologue file clause can be specified per transfer Explanation: You specified more than one prologue file clause in the CREATE TRANSFER statement. This is not permitted. User Action: Reenter the CREATE TRANSFER statement, specifying only one PROLOGUE IS or NOPROLOGUE clause.
BADPRONAM
invalid prologue file name Explanation: You entered an invalid prologue file name. User Action: Refer to the explanation in the user action section of the secondary error message.
BADPROTECTION
PROTECTION clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the PROTECTION clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the PROTECTION clause.
BADRECBUF
NUMBER OF RECOVERY BUFFERS clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the NUMBER OF RECOVERY BUFFERS clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the NUMBER OF RECOVERY BUFFERS clause.
BADROLMVFLD
MOVE RELATION clauses of target relation <text> have different fields Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have entered a MOVE RELATION clauses with the same target relation name but specified a different set of fields in each clause. User Action: Reenter the CREATE TRANSFER statement by specifying the same set of fields in all the MOVE RELATION clauses with the same target relation.
BADSCHEMA
Schema <text> not used by this query Explanation: You used a schema name to qualify a reference to a column and that schema was not specified in the FROM clause of the query. User Action: Either remove the schema name from the select-list or specify the same schema as specified in the FROM clause of the query.
BADSCHINCRE
Reference to schema <text> not permitted within definition of schema <text> Explanation: You specified the name of a schema other than the one being defined. User Action: Remove the schema name or use the name of the schema being defined.
BADSEGSTRING
SEGMENTED STRING clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the SEGMENTED STRING clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the SEGMENTED STRING clause.
BADSNAPFILENAME
SNAPSHOT_FILENAME clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified a SNAPSHOT_FILENAME clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the SNAPSHOT_FILENAME clause.
BADSTOGROUP
STOGROUP clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified the STOGROUP clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the STOGROUP clause.
BADSUPLVL
Attached database has unknown support level. Explanation: The database you just attached to has an unknown support level. User Action: Check to make sure that you are using Digital-supported database products for the SQL interface to Rdb/VMS.
BADTHRESHOLD
THRESHOLDS clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified a THRESHOLDS clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the THRESHOLDS clause.
BADVAXCLUSNODES
NUMBER OF VAXCLUSTER NODES clause is not allowed in the CREATE TRANSFER statement. Explanation: You have specified a NUMBER OF VAXCLUSTER NODES clause as an attribute for the target database in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement without the NUMBER OF VAXCLUSTER NODES clause.
BADVERNUM
Attached database has unsupported version number. Explanation: The database you just attached to has a version number that is not supported by this version of SQL. User Action: Check to make sure that you are running with the correct versions of Digital-supported database products for the SQL interface to Rdb/VMS. Correct versions are listed in the Rdb/VMS Installation Guide.
BAD_ARRAY
Host variable <text> contains an array syntax error in its declaration. Explanation: The named variable is defined as a C array, but is either missing the closing "]" or contains a non-numeric dimension. User Action: Correct the syntax of the declaration and recompile the program.
BAD_CDD_DEF
CDD$DEFAULT is not valid, data dictionary default is now CDD$TOP. Explanation: Your logical name CDD$DEFAULT is not acceptable to the data dictionary. The data dictionary will be used, but your default is set to CDD$TOP. User Action: Define a valid CDD$DEFAULT.
BAD_DB
Data dictionary description of current database is corrupt Explanation: The data dictionary description of the schema is missing the RDB$INSTANCE node. User Action: Verify that the database itself has not been corrupted. If it has, recreate the database.
BAD_LENGTH
Negative length specified for column <text> Explanation: You specified a length for a character or varchar column that was less than zero. User Action: Change the length to a positive number.
BAD_LEVEL
CONSISTENCY LEVEL <value> is illegal Explanation: Only values 2 and 3 are allowed for consistency level. User Action: Enter 2 for concurrency; enter 3 for consistency
BAD_NAME
Identifiers and names may not exceed 31 characters in length Explanation: The name given in a data manipulation or data definition statement was longer than the permitted limit. User Action: For data definition statements, specify a shorter name. For data manipulation statements, consult your database design specifications to find the correct name.
BAD_PRECISION
Invalid precision specified for column <text> Explanation: The precision specified for a DECIMAL or NUMERIC column is less than or equal to zero. Or, the precision specified for a FLOAT column was less than zero or greater than 15. Or the precision contained a decimal point. User Action: Change the precision to a valid value.
BAD_SCALE
Negative scale specified for column <text> Explanation: The scale specified for a column is less than zero. User Action: Change the scale to a positive number.
BAD_TOKEN
<text> is not a valid SQL language element Explanation: The indicator string is neither a predefined language element (i.e. a keyword, delimiter or operator) not a valid SQL name. User Action: Use a valid SQL language element.
BAD_TXN_STATE
Invalid transaction state. Transaction already started. Explanation: A SET TRANSACTION statement was executed, but it was not the first statement executed in the transaction. User Action: Make the SET TRANSACTION statement the first statement to be executed.
BAD_VERSION
This database system does not support this statement Explanation: This statement uses a DSRI feature which is not supported by all versions of all DSRI database systems. You tried to execute this statement using a version of a database system which does not support this feature. User Action: Use a simpler statement, or a different base system version.
BASROWDEL
Row containing list has been deleted Explanation: An attempt was made to fetch or insert into a list cursor where the row containing the list has been deleted. User Action: Do not delete the row containing the list or simply close the list cursor.
BINSCAFAC
Host variable <text> has a binary scale factor Explanation: The host variable is a PL/I fixed binary data type with a nonzero binary scale factor. SQL supports only decimal scale factors. User Action: Either change the scale factor to zero, or change the data type to fixed decimal.
BIT_FIELD
Host variable <text> is a bit field which is illegal in SQL statements. Explanation: The named variable is defined as a C bit field. Such fields are not legal in SQL statements. User Action: Use a different variable.
BOG_DYN_NAME
Invalid name for dynamic statement or cursor Explanation: The user passed either a zero length string, no string or a variable not of data type text for a dynamic statement name or dynamic cursor name. User Action: Pass a string that has a non-zero length.
BOOEXPEXP
Expected a predicate Explanation: Either a numeric or string value expression was found where SQL expected a predicate. User Action: You must use a predicate in this context.
BUGCHK
There has been a fatal error. Please submit an SPR. Explanation: A fatal error has occurred. User Action: Submit an SPR with information about the circumstances under which the bug occurred.
CABORT
User entered Control-C to abort statement Explanation: You typed a Control-C to abort the current statement. User Action: None.
CANTDOVALXPR
Value expressions may not be moved by CREATE TRANSFER Explanation: The user entered a value expression in the select list of a select expression in the move tables clause of the CREATE TRANSFER statement. This is not allowed. User Action: Move only columns using CREATE TRANSFER. Use a prologue file to define a view on the target database which computes the value expression from the columns moved.
CANT_MOVE
<text> already exists in <text> Explanation: The object or schema named by the first parameter could not be moved to the schema or catalog named by the second parameter, because there is already an object or schema by that name. User Action: Move the object or schema to a different schema or catalog, or don't move it at all.
CATNOTDEF
Catalog <text> is not defined Explanation: The specified catalog does not exist in the specified database. User Action: Check the spelling of the catalog name and ensure that it is the name of a catalog in the specified database.
CAT_EXISTS
Catalog <text> already exists Explanation: You attempted to create a catalog in the specified database with the name of an existing catalog in that database. User Action: Choose a different name for the new catalog.
CDDERR
Error occurred during attempt to use data dictionary. Data dictionary will not be used Explanation: An error occurred when SQL attempted to access the data dictionary. User Action: Refer to following data dictionary messages for more information.
CDDUNKPROT
Unknown data dictionary protocol <text> Explanation: The protocol in the data dictionary was not correct. User Action: Try to recreate the data dictionary. If the data dictionary is still corrupt, submit an SPR. Try invoking it with the file name.
CDDVERERR
Found data dictionary core_level <value> was expecting <value> Explanation: The core_level in the data dictionary was not correct. User Action: Try to recreate the data dictionary. If the data dictionary is still corrupt, submit an SPR. Try invoking it with the file name.
CHAR_SET_USED
Domain was a non-MCS CHARACTER data type Explanation: This message is used as a subcode to SQL$_DOMNOTBCK. It indicates that the offending domain was a new subtype of CHARACTER or VARYING CHARACTER. User Action: If the columns defined using this domain contain only MCS data, change the domain to reflect that fact. Otherwise, the database cannot be exported WITH NO EXTENSIONS until this domain is removed completely.
CHECKOPTRO
You specified WITH CHECK OPTION for read only view <text> Explanation: You specified the WITH CHECK OPTION for a view which is based on a read only select expression. You should specify the WITH CHECK OPTION only for a read write view. User Action: Remove the WITH CHECK OPTION clause from this view definition, or make the select expression specify an updatable select expression.
CHGINDMAP
This index was previously specified with a STORE clause. Continue? [N] Explanation: You are specifying an ALTER INDEX statement without a STORE clause, which places the index into the RDB$SYSTEM storage area. The index was previously specified as being stored in a different area. SQL$ is confirming whether you want the index placed in the RDB$SYSTEM storage area. User Action: An affirmative reply (Y or YES) causes the operation to continue. A negative reply (a carriage return, N, or NO) terminates the operation.
CHGINDMAPSTP
Terminating operation at user's request Explanation: See above. User Action: None.
CHRUNIBAD
Number of octets is not an integral number of characters Explanation: When defining a column or domain, you specified a size that is interpreted as a number of octets. The number of octets is not an integral number of characters. User Action: Change the units to characters or specify the correct number of octets.
CHR_TOO_SHO
Character length of column <text> is too short Explanation: The character string length is too short to contain all possible converted data already stored in the column. User Action: None. This is a warning message only.
CHR_TOO_SMA
The string length of column <text> is too small Explanation: The length of the character string is too small to handle all possible numeric data that might already be stored in the table. User Action: None. This is a warning message only.
CIRCTYPE
Host variable <text> is based on a type which was used in its own definition Explanation: You referred to a host variable which is based on a type. The type was not validly defined because it was based on itself. User Action: Fix the type definition.
CLOSERR
error detected when closing .RBR file Explanation: See the message that follows for details. User Action: In the absence of other error messages, the database has probably been imported successfully. If the error occurred during an EXPORT operation, the file is not likely to be usable in a later IMPORT.
CMDINTR
this statement is not allowed in a transaction Explanation: You entered a statement that cannot be used when a transaction is outstanding. User Action: Commit or rollback the transaction and try the statement again.
CMPBYINVW
view <text> cannot be transferred because of invalid computed field <text> in relation <text> Explanation: In a CREATE TRANSFER statement, you are attempting to move a view which references a COMPUTED_BY field which contains an unsupported value expression. User Action: Reenter the CREATE TRANSFER statement and omit the view that contains the COMPUTED_BY field that uses the unsupported value expression. Refer to the CREATE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported for a COMPUTED_BY field.
CMPBYMVMETOO
Column <text> in table <text> may not be moved without column <text> Explanation: You included a column to be transferred that relies upon another column in the table. This column must also be moved. User Action: Re-enter the transfer definition including all necessary columns.
CMPBYWNRL
Invalid computed field <text> will not be transferred from relation <text> Explanation: In a CREATE TRANSFER statement, you are attempting to move a view which references a COMPUTED_BY field that contains an unsupported value expression. User Action: Reenter the CREATE TRANSFER statement and omit the view which contains the COMPUTED_BY field that uses the unsupported value expression. Refer to the CREATE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported for a COMPUTED_BY field.
CMPBYWNVW
view <text> will not transfer invalid computed field <text> from relation <text> Explanation: In a CREATE TRANSFER statement, you are attempting to move a view which references a COMPUTED_BY field which contains an unsupported value expression. User Action: Reenter the CREATE TRANSFER statement and omit the view that contains the COMPUTED_BY field that uses the unsupported value expression. Refer to the CREATE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported for a COMPUTED_BY field.
CNTSPNSUB
Cannot spawn subprocess Explanation: The preprocessor was unable to spawn a subprocess to compile the program. User Action: Read the next message and determine what to do.
COLEXISTS
Column <text> is named more than once in table <text> Explanation: You attempted to create a table or view with using a column name more than once. User Action: Choose a different name for each column.
COLLSTINV
A column list is not allowed in an INSERT LIST CURSOR statement Explanation: A column list was supplied for an INSERT LIST CURSOR statement. User Action: Remove the column list.
COLL_EXISTS
Collating sequence <text> already exists Explanation: You attempted to create a collating sequence in the specified schema with the name of an existing collating sequence in that schema. User Action: Choose a different name for the new collating sequence.
COLNOTFUN
Column <text> named outside a function in a SELECT with HAVING but no GROUP BY Explanation: In select expressions with a HAVING clause but without a GROUP BY clause, you cannot directly name columns in the select list or HAVING clause. You can refer to them only as function arguments, or in a WHERE clause. User Action: Either make the column named in the message a function argument, or if it is in a HAVING clause, change the HAVING clause to a WHERE clause. In general, avoid using HAVING without GROUP BY. Use WHERE instead.
COLNOTNUL
Column <text>.<text> cannot be UNIQUE because it can contain nulls. Explanation: You specified a column using the UNIQUE constraint. The column may contain nulls. This is not legal because two rows cannot contain the NULL values in this column. User Action: Define the named field as NOT NULL.
COLNOTSS
Column <text> is not a list field Explanation: The column specified in a SEGSTR.CREATE or SEGSTR.OPEN statement must be a list field. This column is not. User Action: Specify a column whose data type is list
COLNOTUPD
Column <text> is not included in the FOR UPDATE clause of cursor <text> Explanation: The SQL interface to Rdb/VMS provides the FOR UPDATE clause on a cursor definition for DB2 compatablity. The clause is entirely optional. If a FOR UPDATE clause is specified on the cursor and an UPDATE statement that uses the CURRENT OF clause with that cursor changes a column which is not one of the columns included in the FOR UPDATE clause of the DECLARE CURSOR statement, you will get this warning message. User Action: No action is required. This message will not effect the execution of the statement.
COLNOTVAL
The column CHECK constraint cannot refer to the column <text> Explanation: The CHECK constraint cannot refer to the column because the constraint is defined only for a column, not the entire table. User Action: Refer to the only that column for which this CHECK constraint is being defined or define the CHECK constraint for the entire table.
COLONDISILL
Parameter name colons are disabled and therefore illegal Explanation: When the /ANSI_PARAMETERS qualifier is used, the module processor requires that all parameter declarations and references be prefixed by colons. When the /NOANSI_PARAMETERS qualifier is used (it is the default), the colon prefix is not allowed. User Action: Remove colons from your parameter declarations and references.
COLONENAREQ
Parameter name colons are enabled and therefore required Explanation: When the /ANSI_PARAMETERS qualifier is used, the module processor requires that all parameter declarations and references be prefixed by colons. When the /NOANSI_PARAMETERS qualifier is used (it is the default), the colon prefix is not allowed. User Action: Add colons to your parameter declarations and references.
COLSEQNOTDEF
Collating sequence <text> is not defined Explanation: The specified collating sequence does not exist in the specified schema. User Action: Check the spelling of the collating sequence name and ensure that it is the name of a collating sequence in the specified schema.
COMPNOTRANS
<text> in relation <text> will not be transferred Explanation: You entered a SELECT FIELDS ALL clause in the CREATE TRANSFER statement to move a relation that contains a COMPUTED_BY field using a value expression that is unsupported. The CREATE TRANSFER statement is accepted with all the fields of this MOVE RELATION clause except the specified COMPUTED_BY field that is unsupported. User Action: Refer to the CREATE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported.
COMPONENT
a component of <text> Explanation: Information about the creation of the Rdb/VMS interchange file (.RBR). User Action: None.
COMTOOLON
Command line longer than <value> character maximum Explanation: You typed a command line longer than the current maximum line length. User Action: Break up the command line with continuation lines. There is no practical limit on the total length of all continuation lines in a single command.
CONALREXI
Constraint name <text> already exists in this database or schema Explanation: You requested that a constraint be named with the name of an existing constraint. User Action: Choose a different name.
CONCHAILL
Cannot begin program with continuation character Explanation: Apparently the COBOL program starts with a continuation character. User Action: Correct the source text and resubmit the job.
CONDICREQ
Conflicting dictionary requirements Explanation: You specified both the DICTIONARY IS REQUIRED and DICTIONARY IS NOT REQUIRED clause in the same ALTER DATABASE statement. User Action: Change the ALTER DATABASE statement to include only one type of DICTIONARY REQUIRED option.
CONLYOPT
The LENGTH and AS clause for INCLUDE are only for embedded C programs Explanation: You used either the LENGTH or AS clause on an INCLUDE FROM DICTIONARY statement. These options are available only to embedded C programs. User Action: The LENGTH clause is germaine only to C programs. The AS clause must be accomplished by having two distinct records in the CDD.
CONNAMEXI
connection named already exists Explanation: A connection with the name given already exists. User Action: Pass the name of a connection that doesn't exist.
CONNOTDEF
Constraint <text> is not defined in database or schema Explanation: The specified constraint does not exist in the current database or schema. User Action: Declare the correct database or set the correct schema. Check the constraint name for correct spelling. Check the constraint definition to make sure you did not specify a term where the constraint name was expected.
CONNOTSUP
<text> is a constant host variable Explanation: You referred to a host variable which was declared as a constant. Constant declarations are not supported. User Action: Either specify the constant as a literal, or use a host variable with that value.
CONREAATT
Conflicting READ ONLY Attributes Explanation: You specified both READ ONLY and READ WRITE in an ALTER STORAGE AREA statement. User Action: Re-enter the statement with either READ ONLY or READ WRITE, not both.
CONSNAATT
Conflicting snapshot attributes Explanation: The CREATE DATABASE statement contained conflicting snapshot options. User Action: Either remove the SNAPSHOT DISABLED clause from the root file parameters, or remove the SNAPSHOT clause from the storage area parameters.
CONTPREQ
P characters must be contiguous in an edit string Explanation: More than one P characters are permitted in an edit string, but they must all be contiguous. This edit string contained more than one P characters that are not contiguous. User Action: Make the P characters contiguous.
CONTPROMPT
cont> Explanation: This message is used as the continuation prompt by SQL. SQL uses a system service ($GETMSG) to access this message. When a continuation line is encountered, SQL changes from the SQL$_PROMPT prompt to this one. User Action: None. --
CONTRIACT
The trigger actions on trigger <text> and trigger <text> conflict Explanation: You cannot have two triggers which will be triggered for the same event on the same table. These two triggers would both be triggered by the same event. User Action: Combine the two triggers into a single trigger.
CONVARDEF
Column qualifier <text> is already defined Explanation: You either specified the same alias more than once in a select expression or did not specify an alias in a select expression that joins a table with itself. User Action: Either use unique aliases or introduce an alias.
CONVARILLUPD
Column qualifier <text> is not allowed in the target of an UPDATE Explanation: You qualified a column name with a name that is not allowed in this context. For UPDATE statements, the column being updated must be unqualified or qualified by the table name specified in the UPDATE statement (or correlation name, if any). User Action: Make sure the qualifier you used is appropriate in this context.
CONVARUND
Column qualifier <text> is not defined Explanation: You qualified a column name with an alias or table not specified in the FROM clause of the select expression. User Action: Make sure the qualifier you used matches an alias or table specified in the FROM clause.
CORREFFUN
Correlated references in functions must not be in expressions Explanation: You cannot use a correlated reference that is part of a value expression containing comparison operators, when the value expression is itself an argument to a function. For example, SUM(corr_reference + 5). User Action: Reformulate the select expression to avoid using a correlated reference in this manner.
CREATEDATE
it was created on <text> Explanation: Information about when the Rdb/VMS interchange file (.RBR) was created. User Action: None.
CRE_STO_ERR_SCH
CREATE STORAGE AREA statement only valid as part of a CREATE DATABASE statement Explanation: The CREATE STORAGE AREA statement is only valid as part of the CREATE DATABASE statement. User Action: Place the CREATE STORAGE statement in the CREATE DATABASE statement.
CSETNOASCII
character set <text> does not contain ASCII Explanation: You specified a character set that does not contain ASCII characters where one is necessary. User Action: Specify a character set that contains ASCII.
CSETSYN
invalid syntax in character set clause for variable <text> Explanation: There was something wrong with the syntax of the CHARACTER SET clause for the named variable declaration. User Action: Correct the syntax error and try again.
CS_ERR
Error retrieving collating sequence <text> Explanation: SQL could not retrieve the specified collating sequence; see the message that follows. User Action: Correct the problem and try the operation again.
CTXIGNORED
<text> ignored due to setting of <text> logical name Explanation: Either "USING CONTEXT" or "CONTEXT qualifier" will be named first. In the precompiler and module language processor respectively, the named feature will be ignored because the logical name named in the message was defined as "TRUE". User Action: If you want to migrate the application without the use of context items (i.e. 2PC/DDTM), no action is required. To use a distributed transaction, you must change the definition of the logical name to "FALSE" or deassign it.
CTXPARMNOTALL
This statement not allowed in procedure in CONTEXT list Explanation: A procedure that was mentioned in the /CONTEXT=(proc,proc) list contains a statement which may not receive a context parameter. User Action: Remove the specified procedure name from the list. Using /CONTEXT=ALL is permitted, since those statements which may not receive a context parameter will not.
CURALRDCL
Statement already declared as cursor <text> Explanation: The statement id passed into a declare cursor procedure was already declared as the cursor named in the message. Each statement can create only one cursor. User Action: Declare another statement to create a unique statement id for each cursor.
CURALROPE
Cursor <text> was already open Explanation: You opened a cursor that was already open. An implicit close will be done on the cursor and the cursor reopened. User Action: None. This is just a warning.
CURNAMEXI
Cursor name <text> has already been declared Explanation: You cannot use the same name in more than one DECLARE CURSOR statement. User Action: Change the name of this cursor.
CURNOTOPE
Cursor <text> is not opened Explanation: You named a cursor that was not open in a FETCH statement, CLOSE statement, or in the WHERE CURRENT OF clause of an UPDATE or DELETE statement. User Action: Issue an OPEN statement for the cursor before naming it in any of those statements. Close the cursor only once after opening it.
CUROFNOT
CURRENT OF cursor-name is allowed only in DECLARE LIST CURSOR, UPDATE and DELETE statements Explanation: The CURRENT OF cursor-name clause is used to modify or delete the current record in a cursor. It has no meaning in the WHERE clause of a select expression except in declare list cursor. User Action: Replace the WHERE CURRENT OF clause with a WHERE predicate clause that specifies the record you wish to select.
CUROFREQ
CURRENT OF cursor-name is required Explanation: In a positioned INSERT statement, the WHERE clause must be WHERE CURRENT OF cursor-name. User Action: Restrict usage of to only WHERE CURRENT OF
CUROFSTA
CURRENT OF clause cannot refer to cursor based on prepared statement Explanation: The CURRENT OF clause of an UPDATE or DELETE statement specifies a cursor based on a prepared statement. Because the prepared statements are generated at run time, you cannot precompile UPDATE or DELETE statements that refer to cursors based on them. User Action: Use a cursor which is based on an embedded SELECT statement (which is known at compile time), or dynamically execute the UPDATE or DELETE statement so it can be interpreted at run time.
CURSTMTTXN
Cursor statements must be executed in the same transaction Explanation: The statement was executed in the wrong transaction. A cursor statement, such as FETCH, INSERT (positioned), UPDATE (positioned), DELETE (positioned), OPEN (list cursor) must be executed in the same transaction as the OPEN statement of the cursor to which the statement refers. User Action: If a context structure was used for the OPEN statement, the same one must be used for the statements which operate on the cursor. If no context structure was used for the OPEN statement, no context structure may be used for the statements which operate on the cursor.
CURTWOOPEN
Cursor <text> has two open procedures Explanation: There are two open procedures for this cursor. A module can only have one procedure which opens a particular cursor. User Action: Remove one of the procedures which opens this cursor. Call the remaining procedure more than one time.
CURUSEINV
USING clause not allowed for this cursor Explanation: An OPEN or FETCH statement can specify a USING clause only for cursors based on a statement named in a PREPARE statement. The cursor specified in this OPEN or FETCH statement is not. User Action: Remove the USING clause from the OPEN or FETCH statement.
CURVER
Current version of SQL is: <text> Explanation: Used for SHOW VERSION. User Action: None. --
DATCONERR
Data conversion error for string '<text>' Explanation: An error occurred during data conversion. Refer to next message. User Action: The secondary message should clarify the problem.
DATEADDILL
Operands of date/time addition are incorrect Explanation: You used an addition operator with two operands which were not of the correct data types. User Action: Change the expression to use a different operator or operands.
DATEDIGNEQ
Date/time expressions with different interval leading digits precision are not comparable Explanation: You attempted to compare or perform an arithmetic operation on two date/time expressions with different interval leading digits precisions. These expressions are considered not comparable, and therefore this operation is not allowed. User Action: Use different operands or use the CAST function to change the interval leading digits precision of one of the operands.
DATEDIVILL
Operands of date/time division are incorrect Explanation: You used an division operator with two operands which were not of the correct data types. User Action: Change the expression to use a different operator or operands.
DATEEQLILL
Operands of date/time comparison are incorrect Explanation: You used a comparison operator with two operands which were not of the correct data types. User Action: Change the expression to use a different operator or operands.
DATEFORTIMES
DATE VMS used instead of TIMESTAMP Explanation: This database does not support the datetime data types. DATE VMS will be used instead of TIMESTAMP. User Action: Upgrade attached database or remove TIMESTAMP from statement
DATEMULILL
Operands of date/time multiplication are incorrect Explanation: You used an multiplication operator with two operands which were not of the correct data types. User Action: Change the expression to use a different operator or operands.
DATEOPR
Illegal date operator Explanation: Used an invalid operator in a date expression User Action: remove expression
DATESCANEQ
Date/time expressions with different fractional seconds precision are not comparable Explanation: You attempted to compare or perform an arithmetic operation on two date/time expressions with different fractional seconds precisions. These expressions are considered not comparable, and therefore this operation is not allowed. User Action: Use different operands or use the CAST function to change the fractional seconds precision of one of the operands.
DATESUBILL
Operands of date/time subtraction are incorrect Explanation: You used an subtraction operator with two operands which were not of the correct data types. User Action: Change the expression to use a different operator or operands.
DATETIMES
This database does not support DATETIME data types Explanation: The attached database does not support datetime data types User Action: Upgade for 4.1 or later
DATETIME_PREC
Date/time leading precision for <text> must be in the range of 2 and 9 Explanation: The scale supplied with the DATE TIME data type must be between 2 and 9 inclusive. User Action: Supply a legal date time leading precision.
DATETIM_PREC
Date/time leading precision for <text> declared twice Explanation: The leading precision for a DATETIME data type was declared more than once. This is typical of a declaration of INTERVAL DAY(3) TO SECOND(2.1) User Action: Supply a legal date time scale
DATETIM_SCALE
Date/time scale for <text> must be less than or equal to <value> Explanation: The scale supplied with the DATE TIME data type must be less than or equal to six. User Action: Supply a legal date time scale.
DATETYPES
Illegal mixing of date data types Explanation: date arithmetic operands are incompatible User Action: Try with different data types
DATIM_SCALE
Date/time scale for <text> must be positive Explanation: The scale supplied with the DATE TIME data type must be greater than or equal to zero. User Action: Supply a legal date time scale.
DATNOTSUP
Date data type not supported in this context Explanation: The output of a date value to the language file is not supported. User Action: Do not use dates in this manner.
DATTYPUNK
Data type unknown. Expression cannot use only host variables Explanation: An assignment or a predicate must have at least one database field or literal. User Action: You must use a database variable or literal in the expression.
DBALLOCIS
Database allocation size is <value> pages Explanation: Database allocation size as found in the interchange (.RBR) file. User Action: None.
DBALLOCWAS
Database allocation size was <value>, new size is <value> pages Explanation: Database allocation size as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBBUFLENIS
Database BUFFER SIZE is <value> blocks Explanation: Database BUFFER SIZE as found in the interchange (.RBR) file. User Action: None.
DBBUFLENWAS
Database BUFFER SIZE was <value>, now is <value> blocks Explanation: Database BUFFER SIZE as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBCLWASOFF
CARRY OVER LOCKS were DISABLED now are ENABLED Explanation: You overrode the original setting of the carry over locks during an import User Action: None.
DBCLWASON
CARRY OVER LOCKS were ENABLED now are DISABLED Explanation: You overrode the original setting of the carry over locks during an import. User Action: None.
DBENVSYNERR
Syntax error in database enviroment specification Explanation: The database environment specification in a CONNECT statement is syntactically incorrect. The sub-error returns more specific information. User Action: Correct the syntax error and retry execution of the statement.
DBFCINTVLIS
Journal fast commit TRANSACTION INTERVAL is <value> Explanation: Journal fast commit TRANSACTION interval as found in the interchange (.RBR) file. User Action: None.
DBFCINTVLWAS
Journal fast commit TRANSACTION INTERVAL was <value> now is <value> Explanation: User Action: None.
DBFCISOFF
Commit to journal optimization is DISABLED Explanation: Commit to journal optimization is disabled. User Action: None.
DBFCISON
Commit to journal optimization is ENABLED Explanation: Commit to journal optimization is enabled. User Action: None.
DBFCWASON
Commit to journal optimization was ENABLED Explanation: commit to journal optimization was found in the interchange file. Feature DISABLED during import. User Action: None.
DBHANDOVE
This alias has already been declared. Explanation: Used when asking if the user would like to override a previous declare alias or attach statement. This string is assumed to be less than 255 characters. --
DBHANDOVE_Q
Would you like to override this declaration (No)? Explanation: Prompt for asking if the user would like to override a previous declare alias or attach statement. This string is assumed to be less than 255 characters. --
DBHANDUNK
<text> is not the alias of a known database Explanation: You specified an unknown alias to qualify a table or view name in a select expression. User Action: Check the query and the DECLARE ALIAS statements in your module or any ATTACH statement make sure the alias names match.
DBHDLREQ
db handle should be specified for EXTRACTION ROLLUP transfers Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you are attempting to move a relation without specifying the database handle of the source database. User Action: Reenter the CREATE TRANSFER statement by specifying the database handle of the source database for each of the move-relation-clauses.
DBINUSE
Database cannot be dropped because it is currently in use. Explanation: You issued a DROP DATABASE statement, but another user is attached the same database. User Action: Wait for other users to detach from the database. If the database is in use, however, one would question the wisdom of trying to delete it. Remember that patience is a virtue.
DBJNLALLIS
Database JOURNAL ALLOCATION is <value> Explanation: Database JOURNAL ALLOCATION as found in the interchange (.RBR) file. User Action: None.
DBJNLALLWAS
Database JOURNAL ALLOCATION was <value>, now is <value> Explanation: Database JOURNAL ALLOCATION as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBJNLEXTIS
Database JOURNAL EXTENSION is <value> Explanation: Database JOURNAL EXTENSION as found in the interchange (.RBR) file. User Action: None.
DBJNLEXTWAS
Database JOURNAL EXTENSION was <value>, now is <value> Explanation: Database JOURNAL EXTENSION as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBJRNCMTISN
Commit to journal optimization is Disabled Explanation: Commit to journal optimization DISABLED in newly-created database. Value either specified by user or found in the interchange file. User Action: None.
DBJRNCMTISY
Commit to journal optimization is Enabled Explanation: Commit to journal optimization ENABLED in newly-created database. Value was either specified by user or found in the interchange file. User Action: None.
DBJRNCMTWASN
Commit to journal optimization was Disabled Explanation: Commit to journal optimization was DISABLED in the interchange file. You specified a new value. User Action: None.
DBJRNCMTWASY
Commit to journal optimization was Enabled Explanation: Commit to journal optimization was ENABLED in the interchange file. You specified a new value. User Action: None.
DBKAMBIG
DBKEY reference is ambigous Explanation: You made an unqualified reference to DBKEY in a context where there is more than one source of a dbkey. User Action: Add a table qualifier to the DBKEY reference.
DBKTOOBIG
The DBKEY for table <text> is <value> bytes, host variable <text> must be the same size or larger. Explanation: The host variable you are using with the DBKEY is not the same size as the dbkey. User Action: Allocate a host variable which is the correct size.
DBLCKTMOUTIS
LOCK TIMEOUT is <value> seconds Explanation: Lock timeout interval as found in the interchange (.RBR) file. User Action: None.
DBLCKTMOUTWAS
LOCK TIMEOUT INTERVAL was <value> now is <value> seconds Explanation: Lock timeout interval as found in the interchange (.RBR) file. User Action:
DBMUNGED
There are uncommitted changes to this database. Explanation: Used to tell users their databases have changed. This string is assumed to be less than 255 characters. --
DBMUNGED_Q
Would you like a chance to ROLLBACK these changes (No)? Explanation: Prompt for asking if the user would like a chance to ROLLBACK the changes they made. This string is assumed to be less than 255 characters. --
DBNAMCONF
Two databases with the same alias, but different handle addresses Explanation: An application linked against a shared image has declared a database with same alias as the shared image, but the two databases don't share the same handle address. User Action: Either choose a different alias name or link the images with PSECT attributes GBL,NOSHR for the DB handle PSECTs.
DBNOTINCONN
The required database alias is not part of the current connection Explanation: A SQL statement references a DSRI request that is compiled against a database alias that is not attached in the current connection. User Action: Specify the necessary alias in the connect statement or execute an SQL statement that does not reference the alias.
DBNUMBUFIS
Database NUMBER OF BUFFERS is <value> Explanation: Database number of BUFFERS as found in the interchange (.RBR) file. User Action: None.
DBNUMBUFWAS
Database NUMBER OF BUFFERS was <value>, now is <value> Explanation: Database number of BUFFERS as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBNUMDBRIS
Database NUMBER OF DBR BUFFERS is <value> Explanation: Database number of DBR BUFFERS as found in the interchange (.RBR) file. User Action: None.
DBNUMDBRWAS
Database NUMBER OF DBR BUFFERS was <value>, now is <value> Explanation: Database number of DBR BUFFERS as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBNUMNODIS
Database NUMBER OF VAXCLUSTER NODES is <value> Explanation: Database number of nodes as found in the interchange (.RBR) file. User Action: None.
DBNUMNODWAS
Database NUMBER OF VAXCLUSTER NODES was <value>, now is <value> Explanation: Database number of users as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBNUMUSERIS
Database NUMBER OF USERS is <value> Explanation: Database number of users as found in the interchange (.RBR) file. User Action: None.
DBNUMUSERWAS
Database NUMBER OF USERS was <value>, now is <value> Explanation: Database number of users as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBPGSIZIS
Database page size is <value> blocks Explanation: Database page size as found in the interchange (.RBR) file. User Action: None.
DBPGSIZWAS
Database page size was <value>, new size is <value> blocks Explanation: Database page size as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
DBSNPDEFISN
Database SNAPSHOT is IMMEDIATE Explanation: Database snapshot immediate in newly-created database. Value either specified by user or found in the interchange file. User Action: None.
DBSNPDEFISY
Database SNAPSHOT is DEFERRED Explanation: Database snapshot deferred in newly-created database. Value either specified by user or found in the interchange file. User Action: None.
DBSNPDEFWASN
Database SNAPSHOT was IMMEDIATE Explanation: Database snapshot immediate as found in the interchange (.RBR) file. New value was specified by user. User Action: None.
DBSNPDEFWASY
Database SNAPSHOT was DEFERRED Explanation: Database snapshot deferred as found in the interchange (.RBR) file. New value was specified by user. User Action: None.
DBSNPENAISN
Database SNAPSHOT is DISABLED Explanation: Database snapshot disabled in newly-created database. Value either specified by user or found in the interchange file. User Action: None.
DBSNPENAISY
Database SNAPSHOT is ENABLED Explanation: Database snapshot enabled in newly-created database. Value either specified by user or found in the interchange file. User Action: None.
DBSNPENAWASN
Database SNAPSHOT was DISABLED Explanation: Database snapshot disabled as found in the interchange (.RBR) file. New value was specified by user. User Action: None.
DBSNPENAWASY
Database SNAPSHOT was ENABLED Explanation: Database snapshot enabled as found in the interchange (.RBR) file. New value was specified by user. User Action: None.
DBSPECSYNERR
Syntax error in database specification Explanation: The database specification in an ATTACH statement is syntactically incorrect. The sub-error returns more specific information. User Action: Correct the syntax error and retry execution of the statement.
DB_EXISTS
The data dictionary pathname, <text>, chosen for the database name already exists Explanation: The data dictionary path name chosen for the database name already exists in the current directory. User Action: Use another, unique data dictionary path name.
DB_HANDEC
Handle already declared Explanation: You declared a database handle via ACMS. This interferes with defining a handle through the dynamic interface. User Action: You should not specify another handle.
DB_HANDEC2
Handle already declared Explanation: You have declared a database handle via ACMS. This interferes with defining a handle through the dynamic interface. This also interferes with declaring multiple database handles. User Action: You should not specify another handle.
DB_HANLON
The alias must be a longword Explanation: Aliases that are passed from a program must be longwords passed by descriptor. User Action: Define the alias to be a longword. Examples: For COBOL: 01 AUTHID PIC S9(9) COMP. For FORTRAN: INTEGER*4 AUTHID.
DB_IN_TXN
Authorization identifier <text> is already part of this transaction Explanation: You specified an authorization identifier twice within in the transaction parameters of SET TRANSACTION or DECLARE TRANSACTION. User Action: Specify the authorization identifier only once.
DCLBEFEXE
DECLARE TRANSACTION and DECLARE ALIAS must be before executable statements Explanation: DECLARE TRANSACTION and DECLARE ALIAS must come before the first executable statement in a program. An executable statement is a statement such as SELECT, INSERT, UPDATE, OR CREATE. To avoid this error, put all DECLARE ALIAS and DECLARE TRANSACTION statements in a context file, if possible. User Action: Move all DECLARE TRANSACTION statements and DECLARE ALIAS statements before all executable statements. You should specify all DECLARE ALIAS statements before the first DECLARE TRANSACTION statement.
DCLDATBEF
DECLARE ALIAS must be before other DECLARE statements Explanation: All DECLARE ALIAS statements must come before any DECLARE CURSOR, DECLARE TRANSACTION, or DECLARE TABLE statements in a program. User Action: Move all DECLARE ALIAS statements before other DECLARE statements.
DDALERR
VAX Data Distributor fatal error Explanation: You entered a VAX Data Distributor statement that failed. User Action: Refer to the explanation in the user action section of the secondary error message.
DDALFMTUNK
Data Distributor ACK file format not understood Explanation: The format of the ACK file was not as expected by SQL. User Action: See the system manager to check for compatibility between versions of SQL and DDAL. If not incompatible, submit SPR.
DDALNOTINS
Data Distributor not installed Explanation: The VAX Data Distributor product is not installed on the system. User Action: See the system manager to install the product.
DDLPARAM
You referred to parameter <text> in a DDL statement Explanation: You specified a parameter in a DDL statement such as a CREATE VIEW or CREATE TRIGGER statement. This is not supported. User Action: Remove the parameter specification.
DDNOTSUPP
Installed version of data dictionary does not support this SQL version. Explanation: The version of the data dictionary on your system does not contain the necessary SQL support. User Action: Upgrade the version of data dictionary on your system. Alternatively, do not access the data dictionary with this version of SQL.
DECCURINTO
DECLARE CURSOR statement cannot include an INTO clause Explanation: You specified an INTO clause in the select expression in the DECLARE CURSOR statement. It should go in the FETCH statement or in a singleton select statement. User Action: Remove the INTO clause.
DECEMBER
December Explanation: Months of the Year string used by the date formatter.
DEFCONMOD
Command line specified default constraint evaluation mode is off
Explanation: Your command line specified (either explicitly or
by default) that the constraint mode when you start a
transaction is OFF; that is, that by default, constraints
will not be evaluated until a COMMIT is executed. The ANSI
and ISO SQL standards require that the constraint mode when
you start a transaction be ON; that is, that constraints be
evaulated at the end of every SQL statement.
User Action: If it is important to have standard behavior in
your program, and you have constraints in your database, you
should specify the /CONSTRAINT_DEFAULT_MODE=ON in the
module language command line or
/SQLOPTIONS=(CONSTRAINT_DEFAULT_MODE=ON) in the
precompiler command line.
DEFDBDEC
A database has already been declared with the default alias Explanation: You attempted to attach a database using the default alias when there already was a one. In interactive SQL, you get this error only if you choose not to override the current default database. User Action: Include an alias which has not been declared in the DECLARE ALIAS or ATTACH statement.
DEFVALINC
You specified a default value for <text> which is inconsistent with its data type Explanation: The value specified for the default value must have the same type (i.e. both character, both exact numeric, both approximate numeric or both dates) as the column or domain for which it is the default. It must also be small enough to fit into column or domain. User Action: Replace the specified value with a value that is compatible with the column.
DEFVALNOTCB
Default values are not allowed for computed columns Explanation: You specified a default value for a computed column, for which defaults are not supported. User Action: Remove the default clause from this definition.
DEFVALUNS
Default values are not supported for the data type of <text> Explanation: You specified a default value for a data type (such as segmented string) for which defaults are not supported. User Action: Remove the default clause from this definition.
DEGMODSPC
Only one degree mode may be specified for a transaction Explanation: You specified both concurrency options (CONSISTENCY LEVEL 2 and CONSISTENCY LEVEL 3) in a DECLARE TRANSACTION statement. User Action: Specify only one option in your DECLARE TRANSACTION statement.
DELBACKUP
EXPORT errors, interchange file deleted Explanation: The export that you were performing could not be successfully completed. User Action: Determine why the export failed and correct that situation.
DELLSTDYNCUR
DELETE LIST cannot reference dynamic table cursor, <text> Explanation: A precompiled DELETE LIST statement references a table cursor that is dynamic. User Action: The DELETE LIST statement for the dynamic cursor should be PREPAREd and EXECUTEd.
DEPIMPCAS
Implicit cascading may not be supported in a future version Explanation: On a DROP TABLE, VAX SQL will currently drop all indexes, views triggers and constraints which reference the table. In a future release, these objects will only be dropped if you specify CASCADE. On a DROP VIEW, VAX SQL will currently drop all views which references that view. In a future release, they will only be dropped if you specify CASCADE. User Action: If you want these objects to be deleted, specify the CASCADE option on the drop.
DEPR_DQUOTES
" used instead of ' for string literal Explanation: Double quotes were used to delimit a string literal. This usage is deprecated. Single quotes are the correct delimiters for string literals User Action: Use single quotes for string literals; double quotes have a special usage, denoting identifiers that bypass reserved word checking
DEPR_FEATURE
Deprecated Feature: <text> Explanation: The syntax indicated is a deprecated feature. It may not be supported in a future version of SQL. User Action: Please look in the SQL Reference Manual appendix of deprecated features and replace this syntax with the syntax that has superceded it.
DEP_FEATURE
Deprecated Feature Explanation: The syntax indicated is a deprecated feature. It may not be supported in a future version of VAX SQL. User Action: Please look in the SQL Reference Manual appendix of deprecated features and replace this syntax with the syntax that has superceded it.
DIC_DB_CHG1
A dictionary definition used by database <text> has changed Explanation: This database refers to a definition in the dictionary that has changed. User Action: Use the INTEGRATE statement to resolve any differences.
DIC_DB_CHG2
Use the INTEGRATE statement to resolve any differences between the dictionary and the database Explanation: The data definitions in the data dictionary no longer match the definitions in the database file. User Action: Use the INTEGRATE statement to resolve any differences.
DIFFDEFINV
The invoker is not the definer, <text> Explanation: The RESTRICT_INVOKER option was specified at compile time to ensure ANSI semantic behavior. This requires that only the same user who compiles a module (the definer) may be the user who executes it (the invoker). User Action: Recompile the module. If it is not important that ANSI semantics be maintained, do not specify the RESTRICT_INVOKER option; any user will be able to execute a program linked with this module. If ANSI semantics must be maintained, make sure that the user who will be the invoker also compiles the program. Alternatively, a module language AUTHORIZATION clause specifies who the definer is, and may be used by one user to compile a module for another.
DIFFSCHVIEW
Views and tables must be moved from the same database Explanation: The user entered a move tables clause specifying a database with a different as the database named in the move views clause. User Action: Enter the CREATE TRANSFER statement with a move views clause whose database is the same as the one in the move tables clause.
DIGNUMPIC
more than 31 digits in a numeric edit string Explanation: The edit string generates more than 31 digits. User Action: Reduce the number of digits in this numeric picture string.
DOMNOTBCK
Domain <text> cannot be exported WITH NO EXTENSIONS Explanation: This domain cannot be exported when NO EXTENSIONS is specified. It is of a data type which was not supported before Rdb/VMS 4.1 in any fashion. The secondary message will describe exactly which data type was used. User Action: If the interchange file will not be used to create a database in prior versions of Rdb/VMS, Digital would recommend restarting the EXPORT specifying WITH EXTENSIONS. Otherwise, change the affected domain to a type which was supported in earlier versions or remove it entirely.
DOM_CDD_NAME
CDD Pathname: <text> Explanation: Used by SHOW commands for showing data dictionary pathname information. User Action: None.
DOM_INVALID
collating sequence invalid for non-text domain <text> Explanation: A collating sequence was defined on a non-text domain. The domain definition is invalid. User Action: None.
DPBFMTUNK
Data Distributor DPB buffer not understood Explanation: The format of the DPB buffer from the ACK file was not as expected by SQL. User Action: See the system manager to check for compatibility between versions of SQL and DDAL. If not incompatible, submit SPR.
DROP_COLDOM
Column <text> in table <text> is being altered to remove domain Explanation: When you issue the DROP SCHEMA or DROP CATALOG statement and specify the CASCADE behavior, SQL drops all of the domains in that schema or catalog. If one of the columns in a table outside of the schema or catalog references one of those domains, it is altered in such a way that it no longer depends on the domain being deleted. User Action: None.
DROP_COLL
Collating sequence <text> is also being dropped. Explanation: When you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This informational message is simply to indicate which objects are being dropped. User Action: None.
DROP_CONS
Constraint <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all constraints that use that table. Also, when you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This message notifies you which constraints those are. It is informational only. User Action: None.
DROP_DOM
Domain <text> is also being dropped. Explanation: When you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This informational message is simply to indicate which objects are being dropped. User Action: None.
DROP_IDX
Index <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all indexes that use that table. Also, when you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This message notifies you which indices those are. It is informational only. User Action: None.
DROP_STOMAP
VIA clause on storage map <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops the the index for that table. In order to drop the index, any via clauses which reference the index must be delete so the index can be dropped. The message is informational only. User Action: None.
DROP_STORMAP
Storage map <text> is also being dropped. Explanation: When you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This informational message is simply to indicate which objects are being dropped. User Action: None.
DROP_TABLE
Table <text> is also being dropped. Explanation: When you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This informational message is simply to indicate which objects are being dropped. User Action: None.
DROP_TRIG
Trigger <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all triggers that use that table. Also, when you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This message notifies you which triggers SQL is dropping. The message is informational only. User Action: None.
DROP_VIEW
View <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all views that use that table. Also, when you issue the DROP SCHEMA or DROP CATALOG statement and specify CASCADE behavior, SQL drops all of the objects in that schema or catalog and all of the objects referenced by any objects being dropped. This message notifies you which views those are. It is informational only. User Action: None.
DTFMTTOOBIG
Date or time format must be less than 999. Explanation: You entered a DATE or TIME value greater than 999 in the SET DATE FORMAT statement. User Action: Enter a value less than or equal to 999.
DTONCEEACH
You can specify DATE or TIME only once each.
Explanation: You entered entered DATE date-number twice
or TIME time-number twice in the SET DATE FORMAT
statement.
User Action: Enter nothing, or enter DATE, TIME, or one of each
with SET DATE FORMAT.
DUPFLDDEF
field <text> has different definitions in relations <text> and <text> Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you are attempting to move a field which does not have the same definition in all the source databases. Since we cannot have two definitions of a field in the target database, the CREATE TRANSFER command is invalid. User Action: Reenter the CREATE TRANSFER statement by including only one definition of the field mentioned above or by changing all the definitions of this field into the same type.
DUPPROCNAM
<text> is a duplicate procedure name Explanation: There are two procedures in this module with this name. User Action: Change the name of one of the procedures.
DUPREFACT
Duplicate <text> referential action Explanation: You specified two update or two delete actions on a referential constraint. This is not supported. User Action: Remove one of the referential actions.
DUPVAR
Variable <text> is already defined Explanation: You defined a SQL variable for which there was already a declaration. User Action: Either use the variable, or specify the name of a variable which is not already defined.
DYNSIZARR
Host variable <text> is an array whose bounds are determined at runtime Explanation: The SQL precompilers do not support references to arrays whose bounds are determined at run time (dynamically-sized arrays). User Action: Assign the value in the dynamically-sized array to a field which is not in a dynamically-sized array before using it in an SQL statement.
EMPMSGVEC
Empty message vector returned. Please submit an SPR Explanation: The database system returned an empty message vector and nothing can be determined about the success or failure of the SQL statement for which the message vector was returned. This is a database system software error. User Action: Submit an SPR including the source of the program which caused this error.
END
End of input Explanation: No more input was given to SQL. User Action: None.
ENUM_VAR
Host variable <text> is an enum variable which is illegal in SQL statements. Explanation: The named variable is defined as a C enum variable. Such fields are not legal in SQL statements. User Action: Use a different variable.
ERRATTDEC
Error attaching to database <text> Explanation: An ATTACH, DECLARE ALIAS or CONNECT statement specified an invalid or nonexistent file specification or data dictionary path name. See the messages following this message for more information. User Action: Change the statement to specify a valid file specification or path name.
ERRATTDEF
Could not use database file specified by SQL$DATABASE Explanation: If you do not issue an explicit DECLARE ALIAS, ATTACH or CONNECT statement, SQL uses the database file specified by the logical name SQL$DATABASE. Because the logical name SQL$DATABASE is not defined or does not refer to a valid database, SQL could not attach to a database. See the messages following this message for more information. User Action: Explicitly declare a schema before executing any statements which require a database, or define the logical name SQL$DATABASE to specify the database file you wish to use.
ERRCRESCH
Error creating database filename <text> Explanation: There was an error creating the database. User Action: Correct CREATE DATABASE statement and try again.
ERRDET
An error was detected Explanation: This is the exit status for a preprocessor when an error was detected. User Action: Correct the error in the host language program and resubmit the job to the preprocessor.
ERRINCPATH
Error including record at pathname "<text>" Explanation: An error was reported trying to include a record from the dictionary. User Action: Correct the pathname in the include from dictionary statement.
ERRSYMDEL
Error symbol deleted Explanation: When parsing an SQL statement, the parser encountered an error. The message for that error appeared prior to this message. In an attempt to recover from that error SQL deleted the token it found, and generated this message to help you understand any additional messages that follow. User Action: None. This is an informational message only.
ERRSYMREP
Error symbol replaced by <text> Explanation: When parsing an SQL statement, the parser encountered an error. The message for that error appeared prior to this message. In an attempt to recover from that error, SQL replaced the token it found with the specified token, and generated this message to help you understand any additional messages that follow. User Action: None. This is an informational message only.
ES_ILL_RPT
repeat count in edit string is not numeric Explanation: The user specified an edit string that contained a repeat count that was not a number, for example, X(9) is legal, but X(a) is not. User Action: Specify only numeric values for repeat counts.
EVACLAUNS
EVALUATING clause ignored Explanation: The DECLARE TRANSACTION statement in SQL does not support the EVALUATING clause to specify when the database system evaluates constraints. Constraints are evaluated as specified in their definitions. User Action: Issue the DECLARE TRANSACTION statement without the EVALUATING clause.
EXESELSTA
Attempted to EXECUTE a SELECT statement Explanation: You used a prepared SELECT statement in an EXECUTE statement. In dynamic SQL, the only way to process prepared SELECT statements is through cursors. User Action: Define a cursor based on the statement you tried to execute, and use the cursor in OPEN and FETCH statements. Otherwise, use non-SELECT statements only in EXECUTE statements.
EXPNUMLIT
Expected a numeric literal Explanation: A numeric literal was expected in this context. User Action: Correct the syntax.
EXPQUEXPR
A query expression was expected Explanation: SQL expected a query expression. You entered something else. User Action: Enter a query expression.
EXP_CDD_NODATA
Exporting a data dictionary with NODATA is not allowed Explanation: You used the NODATA option when exporting a dictionary database. User Action: You cannot use the NODATA option when exporting data dictionaries. The data dictionary cannot use the resulting database. Use the DATA option and try again.
EXP_CDD_NOEXT
Exporting a data dictionary with NOEXTENSIONS is not allowed Explanation: You used the NOEXTENSIONS option when exporting a dictionary database. User Action: You cannot use the NOEXTENSIONS option when exporting data dictionaries. The data dictionary cannot use the resulting database. Use the EXTENSIONS option and try again.
EXP_CONVERT
Domain <text> converted from TINYINT to SMALLINT Explanation: This domain may not be exported directly when NO EXTENSIONS is specified. The domain (and all columns defined using this domain) will be of data type SMALLINT in any database created from this interchange file. User Action: If using IMPORT and EXPORT to move data to a much older version of Rdb/VMS or to ELN, keep in mind that the data types have changed and that some errors may occur since only data has been converted, and objects (such as constraints) which refer to that data have not. Otherwise, Digital would recommend restarting the EXPORT specifying WITH EXTENSIONS.
EXTNAMEXISTS
External name <text> already exists in this database Explanation: You attempted to create an object with an external name which is already in use by an object of the same type. User Action: Choose a different external name for the object or omit the EXTERNAL NAME clause and allow SQL to provide a default external name for you.
EXTRADATA
unexpected data at the end of the .RBR file Explanation: Internal error - found more data than expected in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
EXTREPONESCH
Only one database allowed by EXTRACTION and REPLICATION transfers Explanation: You have specified tables to be moved which come from more than one database. User Action: Use multiple transfers to move tables from multiple databases.
FETNOTDON
A fetch has not been done yet for cursor <text> Explanation: You named a cursor in a CURRENT OF clause of an UPDATE or DELETE statement but you did not issue a FETCH statement for that cursor. User Action: Issue a FETCH statement for the cursor.
FIELD_EXISTS
Domain <text> already exists in this database or schema Explanation: You requested that a domain be named with the name of an existing domain. User Action: Choose a different name.
FINNOSES
FINISH is not compatible with sessions Explanation: FINISH is not only deprecated, but cannot be used with sessions since the semantics aren't compatible. User Action: Use DISCONNECT DEFAULT.
FKCONSNOTCB
Computed column may not reference a foreign key Explanation: You specified a foreign key constraint for a computed column, which does not support this constraint. User Action: Remove the foreign key constraint from this definition.
FLDAMBIG
Column <text> is not unique in tables in the FROM clause Explanation: The specified column exists in more than one of the tables specified in the FROM clause. User Action: Qualify the column name in the select list with the table name or an alias.
FLDNOTBCK
Column <text>.<text> defined in terms of missing domain <text> Explanation: The base field for a local field is not defined. The database cannot be exported if any columns refer to non-existant domains. User Action: This is caused by an inconsistency in the database. Try to recover the missing global field.
FLDNOTCRS
Column <text> was not found in the tables in current scope Explanation: The specified column does not exist in the tables specified in the current scope. User Action: Check the select expression: you may have mistyped the column name or specified the wrong table name or alias to qualify the column name.
FLDNOTDEF
Column <text> is not defined in table <text> Explanation: The specified column does not exist in the table specified. User Action: Check the select expression: you may have mistyped the column name or specified the wrong table name or alias to qualify the column name.
FLDNOTINREL
<text> is not a column in table, <text> Explanation: The column you specified is not part of the named table. User Action: Check the table definition for the correct column name or specify another table.
FLUINPBUF
Indirect command file buffer flushed for Control C Explanation: You typed Control-C while executing an indirect command file. User Action: None.
FORCOLNMASS
Column <text> in table <text> does not match assumed <text> data type Explanation: You implicitly declared the named column with numeric, character or date data type when using it in a forward reference. When the named table was eventually created, the actual column declaration did not match the implicit one. User Action: Change the forward declaration or the column declaration so that the two have the same basic data type.
FORCOLNMDECL
Column <text> in table <text> does not match <text> of forward reference Explanation: You implicitly declared the named column when using it in a forward reference. When the named table was eventually created, the actual column declaration did not match the implicit one. User Action: Change the forward declaration or the column declaration so that the two match in data type, length and scale.
FORCOLNODECL
Column <text> in forward reference of table <text> not declared Explanation: You implicitly declared the named column when using it in a forward reference. When the named table was eventually created, the column was not declared. User Action: Change the forward declaration or the actual table declaration so that the table contains all of the columns found in the forward declaration.
FORPASLEN
Host variable <text> is an unsupported passed-length variable Explanation: The host variable declaration uses the FORTRAN passed-length (*) feature which is not supported. User Action: Either change the declaration so that only supported attributes are used, or move the data to another variable which uses only supported attributes.
FORTABNODECL
Forward referenced table <text> not declared Explanation: You used the named table in a forward reference. This table was never created. User Action: Change the CREATE DATABASE statement to include the definition of all forward declared tables.
FUN_VAR
Host variable <text> is function which is illegal in SQL statements. Explanation: The named variable is defined as a C function. Functions refnereces are not supported in SQL statements. User Action: Use a different variable.
GARBLED
interchange file is corrupt Explanation: Internal error - probably mismatched BEGIN and END clumps. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
GETCRESEG
Attempt to get from a created list Explanation: You attempted to do a SEGSTR.GET using a handle returned by a SEGSTR.CREATE statement. You can only do SEGSTR.PUTs using the handle returned by create. User Action: Specify the correct handle
GFLOAT
<text> does not support G_FLOAT Explanation: /G_FLOAT was specified for a language such as COBOL which does not support the G_FLOAT data type. User Action: Unless you are taking the G_FLOAT number and passing it to a language which understands G floating numbers, you probably want to reprecompile without the /G_FLOAT qualifier. If you use it from this language, the compiled code will think it is a different number than the database system did.
HEXSTREVE
A hexadecimal string must have an even number of digits Explanation: A hexadecimal string must have an even number of digits. This is because it takes two hexadecimal digits to represent each ASCII character. User Action: Enter a hexadecimal number with an even number of digits.
HI_ORD_LOS
Increasing the scale of column <text> may result in the loss of high order digits Explanation: Changing the data type and/or increasing the scale of a column may result in the loss of significant digits of the data already stored in that column. User Action: None. This is a warning message only.
HVNOTDECL
Host variable <text> was not declared Explanation: Every host variable that is used in an SQL statement in a program must been declared in the host language. User Action: Declare the specified variable using a supported declaration.
HV_NOT_IN
Host variable, <text>, not within scope of BEGIN DECLARE and END DECLARE section Explanation: Your program referred to a variable that was declared outside of the BEGIN DECLARE and END DECLARE statements. User Action: Either move the desired host variable declaration to be within this section or remove the BEGIN DECLARE and END DECLARE statement. You can also ignore this warning message. BEGIN DECLARE and END DECLARE are only for standard complicance.
IDMISSING
an alias or a filename is required to create a database Explanation: The user specified an IMPORT or a CREATE DATABASE statement without specifying an authorization ID or a filename. One of is required. User Action: Specify the missing parameter and try the operation again.
IGNCASE_BAD
IGNORE CASE not supported for character set <text> Explanation: The IGNORE CASE clause of the LIKE predicate is only supported for character sets that contain ASCII. User Action: Remove this clause since the character set does not contain upper and lower case characters.
ILLBEGIN
file <text> is corrupt or not an Rdb interchange file Explanation: SQL IMPORT can recreate databases only from the Rdb/VMS interchange file (.RBR). This file is not an Rdb/VMS interchange file (.RBR). User Action: Try the operation again with the correct file name.
ILLCHAR
Illegal character detected Explanation: An illegal character has been detected. User Action: Use only valid characters.
ILLCOMPREC
RECORD or structure may not be compared Explanation: You included the name of a RECORD parameter or structure variable in a comparison. This is not allowed. User Action: Compare individual fields of records or structures with other values.
ILLDATLEN
An invalid SQLLEN(<value>) was found for a date field in the SQLDA Explanation: You passed in a date column in a SQLDA with a SQLLEN that was not 8. User Action: Set the SQLLEN to 8 for date columns in the SQLVAR.
ILLEXEIMM
Illegal EXECUTE IMMEDIATE statement type Explanation: You tried to issue a statement that is not allowed in an EXECUTE IMMEDIATE statement (SELECT, DECLARE, OPEN, FETCH, CLOSE, PREPARE, DESCRIBE, EXECUTE, INCLUDE, or WHENEVER). User Action: Use PREPARE and a full EXECUTE statement for these statements.
ILLFLOLEN
An invalid SQLLEN(<value>) was found for a FLOAT field in the SQLDA Explanation: You passed in an SQLDA with a SQLTYPE FLOAT SQLLEN that was invalid. Only 4, 8, an 16 are legal floating-point lengths. User Action: Set the SQLLEN to 4, 8, or 16, depending on the length of the floating-point variable passed.
ILLFRASECPRE
Fractional seconds precision may not be specified in this context Explanation: You entered fractional seconds precision in a context in which it was not allowed. TIME and TIMESTAMP literals may not include explicit fractional seconds precision; it is implied from the time string or timestamp string itself. User Action: Remove the fractional seconds precision.
ILLFROM
Data dictionary definitions may not be included using FROM within CREATE DATABASE Explanation: You cannot use the FROM PATHNAME clause within a CREATE DATABASE statement. User Action: Create the database first, then include the definitions.
ILLHEXNUM
Illegal hexadecimal number. Explanation: The format of a hexadecimal number is X'ffff', where ffff may be up to 16 hexadecimal digits. A hexadecimal digit is a numeric digit (0 to 9) or an A, B, C, D, E, or F. The letters may be upper or lower case. There must be an even number of digits. User Action: Enter a proper hexadecimal number. Make sure that the trailing apostrophe is included.
ILLINTLEN
An invalid SQLLEN(<value>) was found for a integer column in the SQLDA Explanation: You passed in an integer column in a SQLDA with a SQLLEN that was invalid. For SQLTYPE of INTEGER, SQLLEN must be 4. For SQLTYPE of SMALLINT, SQLLEN must be 2. User Action: Set the SQLLEN to 2 for SMALLINT, or 4 for INTEGER.
ILLPICSTR
illegal character <text> in edit string Explanation: An edit string contained the illegal character specified in the message. User Action: Change the edit string to not have that character.
ILLSTRCONT
Illegal string continuation Explanation: Your program has illegal string continuation. User Action: In COBOL, to continue a string you must do three things: 1) not end the string with a quote on the initial line; 2) insert a continuation character (-) in the first column of the next line; and, 3) start the continued string with a quote as the first nonblank character after the continuation character (this quote is ignored).
IMPL_DIM
Host variable <text> is defined with an implicit dimension. Explanation: The named variable is defined using the C feature of determining the dimension of an array from its initialization. Such variables are not legal in SQL statements. User Action: Define the array variable using an explicitly-sized array.
IMP_CDD_NODATA
Importing a data dictionary with NODATA is not allowed Explanation: You used the NODATA option when importing a dictionary database. User Action: You cannot use the NODATA option when importing data dictionaries. The data dictionary cannot use the resulting database. Use the DATA option and try again.
IMP_IDXNOTCRE
index <text> not created - check spelling of the table name Explanation: IMPORT could not process a CREATE INDEX clause because the named table was not defined in the database or schema. User Action: Check that you spelled the table name correctly.
IMP_IDXNOTDRO
index <text> not dropped - check spelling of the index name Explanation: IMPORT could not process a DROP INDEX clause because the named index was not defined in the database or schema. User Action: Check that you spelled the index name correctly.
IMP_IDX_CONFLICT
DEFINE and DELETE INDEX <text> specified Explanation: The user specified a DEFINE and DELETE INDEX using the same name. User Action: Specify a either a DEFINE or a DELETE INDEX.
IMP_IDX_DEL
Definition of INDEX <text> deleted Explanation: User specified that the INDEX be deleted on IMPORT User Action: None
IMP_IDX_NODEL
Index <text> not deleted: used by storage map <text> Explanation: User specified that an index should be deleted, but it cannot be deleted because the storage map uses it. User Action: None
IMP_IDX_OVR
Definition of INDEX <text> overridden Explanation: User specified definition of the INDEX on IMPORT supercedes the definition in the .RBR file. User Action: None
IMP_IDX_TWICE
DEFINE INDEX <text> specified twice Explanation: The user specified a DEFINE INDEX twice using the same name. User Action: Specify a INDEX name only once.
IMP_MAP_DEL
Definition of STORAGE MAP <text> deleted Explanation: User specified that the STORAGE MAP be deleted on IMPORT User Action: None
IMP_MAP_OVR
Definition of STORAGE MAP <text> overridden Explanation: User specified definition of the STORAGE MAP on IMPORT supercedes the definition in the .RBR file. User Action: None
IMP_STANOTDRO
storage area <text> not dropped - check spelling of the storage area name Explanation: IMPORT could not process a DROP STORAGE AREA clause because the named storage area was not defined in the database or schema. User Action: Check that you spelled the storage area name correctly.
IMP_STAREADONLY
Storage area was READ ONLY, now set to READ WRITE Explanation: The interchange file specified that this storage area was READ ONLY. This has not been reflected in the new database. User Action: Use the syntax available in the ALTER STORAGE AREA command to change the access mode of this area after the IMPORT operation has completed.
IMP_STMNOTCRE
storage map <text> not created - check spelling of the table name Explanation: IMPORT could not process a CREATE STORAGE MAP clause because the named table was not defined in the database. User Action: Check that you spelled the table name correctly.
IMP_STMNOTDRO
storage map <text> not dropped - check spelling of the storage map name Explanation: IMPORT could not process a DROP STORAGE MAP clause because the named storage map was not defined in the database or schema. User Action: Check that you spelled the storage map name correctly.
IMP_STO_AREA
IMPORTing STORAGE AREA: <text> Explanation: The named storage area is being imported from the .RBR file. User Action: None
IMP_STO_CONFLICT
DEFINE and DELETE STORAGE AREA <text> specified Explanation: The user specified a DEFINE and DELETE STORAGE AREA using the same name. User Action: Specify a either a DEFINE or a DELETE STORAGE AREA.
IMP_STO_DEL
Definition of STORAGE AREA <text> deleted Explanation: User specified that the STORAGE AREA be deleted on IMPORT User Action: None
IMP_STO_MAP_CONFLICT
DEFINE and DELETE STORAGE MAP <text> specified Explanation: The user specified a DEFINE and DELETE STORAGE MAP using the same name. User Action: Specify a either a DEFINE or a DELETE STORAGE AREA.
IMP_STO_MAP_TWICE
DEFINE STORAGE MAP <text> specified twice Explanation: The user specified a DEFINE STORAGE MAP twice using the same name. User Action: Specify a STORAGE MAP name only once.
IMP_STO_OVR
Definition of STORAGE AREA <text> overridden Explanation: User specified definition of the STORAGE AREA on IMPORT supercedes the definition in the .RBR file. User Action: None
IMP_STO_TWICE
DEFINE STORAGE AREA <text> specified twice Explanation: The user specified a DEFINE STORAGE AREA twice using the same name. User Action: Specify a STORAGE AREA name only once.
IMP_TRA_BEG
Starting <text> definition <text> Explanation: Importing Relation/Index/Constraint info message. User Action: None.
IMP_TRA_END
Completed <text>. DIO = <value>, CPU = <text>, FAULTS = <value> Explanation: Text for Import Tracing. User Action: N/A.
INCCSASS
Incompatible character set assignment between <text> and <text> Explanation: An assignment between two different character sets in not allowed because of incompatibilities of the character sets. User Action: Use character fields with the same or compatible character sets.
INCCSCMP
Incompatible character set comparision between <text> and <text> Explanation: Comparision between two different character sets in not allowed because of incompatibilities of the character sets. User Action: Use character fields with the same or compatible character sets.
INCCSCON
Incompatible character set concatenation between <text> and <text> Explanation: Concatenation between two different character sets in not allowed because of incompatibilities of the character sets. User Action: Use character fields with the same or compatible character sets.
INCNOTREC
<text> is not a dictionary record definition Explanation: The data dictionary path name in an INCLUDE FROM DICTIONARY statement must specify a dictionary record definition. The dictionary object specified is not a record definition. User Action: Change the path name to the path name for a record definition, or remove the INCLUDE statement.
INC_DAT_TYP
Altering column <text> to an incompatible data type may cause data loss Explanation: Altering a column to a data type that is incompatible with the old data type might cause data already stored in that column to appear lost. User Action: None. This is a warning message only.
INDEXTS
There is another index named, <text>, in this database or schema Explanation: This message is printed during an IMPORT operation if the backup file contains multiple definitions of an index. Duplicate definitions may indicate corruption of the .RBR file, or improper operation during the EXPORT operation. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. Subsequent definitions of the index should be ignored during the IMPORT operation; your database may not be currupt.
INDFIXINT
Indicator variable <text> is not an unscaled fixed numeric Explanation: You must declare indicator variables as the host language equivalent of an unscaled integer data type. User Action: Declare the indicator variable as an unscaled integer host variable.
INDNOTDEF
Index <text> is not defined in this database or schema Explanation: The specified index does not exist in the current database or schema. User Action: Declare the proper schema. Spell the index name correctly. You may have specified an expression where an index name was expected.
INDSHOINT
Indicator variable <text> is not a SMALLINT Explanation: Indicator variables in the dynamic interface should be declared as the host language equivalent a SMALLINT data type. User Action: In COBOL, declare indicator variables as PIC S9(4) COMP. In FORTRAN, declare indicator variables as INTEGER*2. In PL/I, declare indicator variables as FIXED(15) BINARY.
IND_EXISTS
Index <text> already exists in this database or schema Explanation: You attempted to create an index with the name of an existing index User Action: In the precompiler and module language, this is just a warning. If the index exists when you execute the statement, you will get a fatal error. If you expect to drop the index before you execute this statement, then you do not need to make any changes. In interactive, dynamic and runtime for precompiled and module language programs, this is a fatal error. You must choose a different name.
INFODET
An informational was detected Explanation: This is the exit status for a preprocessor when an informational was detected. User Action: Correct the error in the host language program and resubmit the job to the preprocessor or ignore the informational.
INPUTERROR
Error reading input file Explanation: There was an error reading from the module language or precompiler source file. SQL will display a secondary status message. User Action: Act upon the secondary status message. See the system manager, if necessary.
INSCOLALR
Column <text> appears more than once in the INSERT column list Explanation: You specified the same column name more than once in an INSERT statement. Columns can only appear once. User Action: Remove one occurrence of all columns which appear more than once.
INSCURDYN
cursor <text> for positioned insert statement is dynamic Explanation: An embedded positioned insert statement refers to an insert cursor that is dynamic. User Action: You must execute immediate the positioned insert statement or make the insert cursor static.
INSVALSPEC
insert value is not a value specification or NULL Explanation: You used a value expression in the VALUES clause of an INSERT statement which was not a value specification or NULL. The ANSI standard does not support this. User Action: If ANSI standard behavior is important for your program then replace this value expression with one which fits the rules for value specification or NULL.
INS_INTO_RO
List cursor <text> cannot insert into READ ONLY table cursor <text> Explanation: The list cursor named is an INSERT ONLY cursor while the table cursor that it references is a READ ONLY cursor. User Action: The table cursor that the list cursor is based on must either be an INSERT ONLY or UPDATE cursor. Jump that error message base into the next available range for the client.
INS_MUST_INS
List cursor <text> cannot fetch from INSERT ONLY table cursor <text> Explanation: The list cursor named is a READ ONLY cursor, but the table cursor is an INSERT CURSOR which won't allow FETCHes. User Action: The list cursor must be an INSERT ONLY list cursor or the table cursor must be an INSERT or UPDATE cursor.
INTERVAL_USED
Domain was an INTERVAL data type Explanation: This message is used as a subcode to SQL$_DOMNOTBCK. It indicates that the offending domain was a new subtype of DATE. Specifically, INTERVAL data is not stored in the previous (ADT) format and cannot be interpreted in the same fashion. User Action: The database cannot be exported WITH NO EXTENSIONS until this domain is removed completely.
INTIGNSYS
Interval option ignored for system relation area
Explanation: The storage area that contain the system relations
must have UNIFORM page formats. Either through the use of the
defaults, or by directly specifing the INTERVAL option,
SQL has been told to apply the INTERVAL option for the
area containing the system relations. SQL is ignoring that
option.
User Action: Nothing. This is an informational message. The
user might want to change the command if it originated in a
command file. This may avoid confusion later.
INTNOTQUAL
Interval expression not qualified Explanation: An interval value expression was produced by the subtraction of two datetime value expressions, but no interval qualifier was specified. User Action: Specify a valid interval qualifier for the expression.
INTNOTSYS
Interval option not valid for system relation area Explanation: The storage area for RDB$SYSTEM was defined to have the interval option. This is not allowed for RDB$SYSTEM. User Action: Remove the interval option from the command and try again.
INTONOTALW
INTO clause is not allowed in this context Explanation: The INTO clause may only be used for a single table or view. It may not be used with a wildcard table or view specifiction. User Action: Reenter the CREATE TRANSFER statement without specifying an INTO clause or name the tables and views individually, each with its own INTO clause.
INTONOTQUAL
The table name specified in the INTO clause must not be qualified Explanation: The user entered INTO xxx.yyy for an extraction rollup transfer. User Action: Re-enter the statement without the 'xxx.'
INTQUALINV
Interval qualifier not valid for this expression Explanation: An interval qualifier was specified for a value expression where such a qualifier is illegal. An interval qualifier may only be specified for an interval expression yielded by subtracting two datetime value expressions. User Action: Remove the interval qualifier.
INTVALLOW
Interval value must be at least 256 Explanation: The specified interval value for space management pages is too small. The minimum value is 256 pages. User Action: Change the interval value for space management pages on the CREATE DATABASE statement to a legal value.
INTVALOVR
Interval value overwritten to 256 pages Explanation: The specified interval value for space management pages is too small. The minimum value is 256 pages. SQL overwrote the specified value with 256. User Action: Change the interval value for space management pages on the CREATE DATABASE statement to a legal value.
INT_DEL_FLD_PATH
Dictionary pathname attribute for field <text> deleted Explanation: The dictionary pathname for a field referred to a non-exiting dictionary pathname. This attribute is being deleted since it is false User Action: None
INT_DEL_REL_PATH
Dictionary pathname attribute for relation <text> deleted
Explanation: The dictionary pathname for a relation referred to
a non-exiting dictionary pathname. This attribute is being
deleted since it is false
User Action: None We need more informational space. For now,
we will intrude upon the Galileo messages. In future versions,
we should start an informational and error section after
existing messages. So, our message file layout will look
something like: +--------------------------------+ |
Informational V1.0 - 2.0 |
+--------------------------------+ | Galileo
Messages | +--------------------------------+ |
Informational V1.0 - 2.0 |
+--------------------------------+ | Errors
V1.0 - 2.0 | +--------------------------------+ |
Informational V3.0 |
+--------------------------------+ | Errors
V3.0 | +--------------------------------+ |
Informational V4.0 |
+--------------------------------+ | Errors
V4.0 | +--------------------------------+
INVACL
Invalid Access Control List entry Explanation: The syntax of the access control list entry string is not valid. User Action: Correct the syntax of the access control list entry.
INVARRSUB
Host variable <text> defined with illegal use of subscripts Explanation: The named host variable uses subscripts in a way that is illegal for the C compiler. Most likely the use is through a typedef that is defined as an array. User Action: Use a different variable or redefine the type structure of the program.
INVATTVAL
Invalid attribute value. "<text>" attribute has an invalid value Explanation: You specified an attribute with an invalid value. User Action: Change the offending value and try the statement again.
INVCHAINP
Invalid character in input Explanation: The input contains an illegal or unrecognizable character. User Action: Correct the source text and resubmit the job.
INVCHANUMSTR
Invalid character in numeric string Explanation: The string appears to be a numeric literal. However, it contains one or more illegal characters. User Action: Correct the source text and resubmit the job.
INVCOLLST
column list in view definition contains the wrong number of names Explanation: The list of column names you specified in a view definition contained a different number of names than the number of value expressions in the select list of the definition's SELECT expression. There must be a strict one-to-one correspondence between the two lists. User Action: Specify the same number of column names in the column list as value expressions in the select list.
INVCOLSPC
Column names must be qualified by table names. Explanation: You must qualify the column name in a COMMENT ON COLUMN statement with a table name. User Action: Specify the column name as <table-name>.<column-name>.
INVCOMLIN
Invalid command line Explanation: You specified extra parameters or invalid command line syntax in a module language compiler command line. User Action: Specify only supported command line options.
INVCONS
unable to import constraint <text> Explanation: Internal error - the named constraint will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. In the meantime, you can redefine this constraint explicitly.
INVCORRSL
Invalid select list in a UNION CORRESPONDING query
Explanation: There are 2 columns with the same name in one of
the select lists in the UNION CORRESPONDING query expression.
You cannot specify a column in the other select list with
that name as well.
User Action: Either remove one of the columns with the same
name from the select list, or match columns to be combined in
the UNION by position rather than name.
INVCSET
character set in declaration for variable <text> doesn't exist Explanation: You specified a character set that does not exist. For lack of a better choice, the module default character set is assumed. User Action: Specify a character set that exists.
INVDATCON
Invalid conversion between DATE column <text> and host variable <text> Explanation: Only binary dates can be compared or assigned to or from DATE columns. User Action: Use a date declaration for the host variable to be used with the date field: in COBOL, use S9(11)V9(7) COMP; in PL/I, use CHAR(8) or BYTE_FIELD(8); in FORTRAN, use CHARACTER*8.
INVDBKREF
Invalid DBKEY reference Explanation: You can refer to dbkeys only on the right hand side of an assignment or in an equals Boolean. User Action: Remove the invalid dbkey reference.
INVDISXPR
Invalid DISTINCT expression Explanation: In a function specification, if DISTINCT is specified, the value expression must be just a column name. You specified a value expression other than a column name in a function with the DISTINCT clause, such as SUM(DISTINCT SALARY_AMOUNT * .10). User Action: Change the value expression to a column name or remove the DISTINCT clause.
INVESCVAL
Invalid escape clause value Explanation: The value specified in the escape clause of a LIKE predicate must be a single character string value. User Action: Specify a valid value expression in the escape clause
INVFLD
unable to import field <text> Explanation: Internal error - the named field will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
INVFUNREF
Invalid function reference Explanation: You cannot include in the WHERE clause (or in any subqueries of the WHERE clause) functions that use columns of tables in the FROM clause as their argument. User Action: Change your select expression to eliminate functions with this type of argument.
INVHVDECL
Host variable <text> was invalidly declared. Explanation: Every host variable that is used in an SQL statement in a program must be declared in the host language using the supported subset of declaration syntax for the language. Not using the supported subset causes this error. Another way this message can be generated is to use an indicator variable that is not a signed word (for example, in COBOL: PIC S9(4) COMP). User Action: Use host variable declaration syntax for this variable that is supported by SQL.
INVINDEX
unable to import index <text> Explanation: Internal error - the named index will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. In the meantime, you can recreate this index explicitly.
INVINTQUAL
Invalid interval qualifier Explanation: An interval value expresssion yielded an interval that could not be presented by the interval qualifier specified in the value expression. User Action: Examine the data types of the expression and the interval qualifier to determine where the discrepency lies. For example, the subtraction of two time value expressions cannot be qualified by YEAR TO MONTH.
INVLENHV
Only a numeric variable may be used receive the length Explanation: You used a variable which was not numeric. This is not supported. User Action: Either omit the argument to receive the length, or use a numeric
INVNODESIZE
Invalid node size parameter specified Explanation: You specified an invalid node size. It was either less than or equal to zero or greater than 32768. User Action: Review the command and specify a node size within the above range (but big enough to meet the implementation requirements).
INVNUMLIT
<text> is an invalid numeric literal Explanation: An invalid numeric literal was specified which could not be converted to a numeric value. This is usually because it is to big to fit into any VAX data type without losing significance. User Action: Change the literal to be a valid numeric literal.
INVNUMSTRPRE
Invalid numeric string precision (<value>), maximum precision is (<value>) Explanation: You specified a precision for a NUMERIC, UNSIGNED NUMERIC, or DECIMAL field that exceeded the maximum. User Action: Specify a precision that is less than the maximum.
INVOBJFIL
Invalid object file <text> specified
Explanation: SQL uses the same directory specification and file
name for any files it creates (such as the language files) as
that specified in the /OBJECT qualifier on the command line.
You specified a nonexistent or invalid file specification
for the /OBJECT qualifier.
User Action: Use a valid object file specification with the
/OBJECT qualifier.
INVORDNUM
ORDER BY number is less than 1 or exceeds count of select-list items Explanation: The number in the ORDER BY clause, used to specify which expression from the select list to sort by, is bigger than the number of items in the select list or it is below 1. User Action: Use a number which corresponds to an item in the sort list.
INVPERCENTFILL
Invalid percent fill parameter specified Explanation: You specified an invalid percent fill parameter. It was either less than or equal to zero or greater than 100. User Action: Review the command and specify a percent fill parameter within the above range.
INVPICN
PIC N and CHARACTER SET specified for <text>. What does this mean? Explanation: You declared the variable with both a character set and N as the picture character. User Action: Use either PIC N or CHARACTER SET PIC X, but not both.
INVPRIV
Invalid privilege for this object Explanation: You used the ENTRY keyword with the GRANT statement. ENTRY is supported for REVOKE only. Or, a GRANT or REVOKE statement specified for a database privilege which is valid only for tables, or specified for a table a privilege which is valid only for a database. User Action: Do not use ENTRY with GRANT. Or, make sure that the privileges you specify in GRANT or REVOKE are valid for the object (database or table) named.
INVPRIVNAMES
Invalid privilege names specified in message file Explanation: The names specified in PRIV_NAMES0 and PRIV_NAMES1 are incorrect. User Action: Submit an SPR or contact your support center.
INVQUAL
Invalid qualifier <text> specified on command line Explanation: You specified invalid command qualifiers in a module language compiler command line. User Action: Specify only supported command line qualifiers
INVREFCLA
Invalid referencing clause Explanation: You specified a referencing clause on a trigger which is not for update. The referencing clause is only valid if the trigger is invoked on updates. User Action: Remove the referencing clause.
INVRELVIEW
unable to import table or view <text> Explanation: Internal error - the named relation or view (and its data) has been lost. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
INVRNG
Invalid range. You specified <text>. Valid range is from <value> to <value> Explanation: You specified a value that was out of range. User Action: Use a number that is in the specified range.
INVRTOSTM
Invalid SQL statement with the Runtime license Explanation: You referred to an interactive SQL statement that is not valid with the Runtime Only license for VAX Rdb/VMS User Action: Upgrade your license to get full functionality from the interactive SQL interface.
INVSEGVAL
Value for a list segment must be either a parameter or literal string Explanation: The value for a list segment was something other than a literal string or a parameter. User Action: Replace the value with one of the two valid parameters types.
INVSELLIS
Select list cannot mix columns and functions without GROUP BY Explanation: The select list in a select expression without a GROUP BY clause cannot include both functions and column references which are not in functions. User Action: Either add a GROUP BY clause, remove the function references, or remove the column references that are not in functions.
INVSELSTAR
* is not allowed in this context Explanation: You specified a column wildcard (* or p.*) in a context where wildcards are not supported, such as outside a select list or in a select list for a select expression containing a HAVING clause but no GROUP BY (in such a case, you cannot specify columns, either, unless they are an argument to a function). User Action: Replace the wildcard with the column name you want to use.
INVSQLCODE
SQLCODE has an invalid data type Explanation: SQLCODE must be declared as a signed longword. The declaration of SQLCODE in this program is a different data type. User Action: Change the data type of SQLCODE.
INVSSCONV
Invalid conversion for list column <text> Explanation: You attempted to do an assignment using a list. User Action: Do not use lists.
INVSSHAN
Invalid segmented string handle Explanation: The host variable supplied to hold a segmented string handle must be at least 4 bytes long. User Action: Specify a larger host variable.
INVSTRLEN
Host variable <text> is defined as CHAR[1] and cannot be used in SQL statements. Explanation: The named variable is defined as CHAR[1]. The length of character variables used in SQL statements must be at least 2 since SQL always includes a NULL terminator. User Action: Use a different variable.
INVTRG
Unable to IMPORT trigger <text> Explanation: This is an internal error. The named trigger will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. In the meantime, you can redefine this trigger explicitly.
INVTRISTMT
Invalid triggered statement
Explanation: You specified a statement or clause in a triggered
statement list which is not supported. Examples of such
statements are: - any statement other than DELETE,
INSERT, UPDATE, ROLLBACK or error statement.
- a WHERE CURRENT OF clause in an UPDATE or DELETE
statement. - a RETURNING clause on an INSERT
statement.
User Action: Remove the invalid statement or clause
INVTYPE
Host variable <text> is based on an invalid type Explanation: The host variable you referred to is based on a type which is either not a supported type definition or was invalidally declared. User Action: Use a different type defintion.
INVVALLIS
The value list must have as many items as the column list Explanation: An INSERT statement must have as many values in the value list as there are in the column list. You specified the wrong number of items. Note that if there are any host structures in the value list, they will be expanded to include their elementary items. In that case, to get the number of items in the value list, you must count the elementary items for all the host variables. User Action: Enter the correct number of values.
IOERROR
an unexpected I/O error occurred Explanation: Unable to read any more of the Rdb/VMS interchange file (.RBR); part of the database may be imported. User Action: Correct the problem indicated by the message that follows this message and try the operation again.
ISQLINTO
Interactive SQL does not support the INTO clause in SELECT or FETCH Explanation: SELECT and FETCH statements in interactive SQL cannot include INTO clauses, since interactive SQL does not support host variables. User Action: Enter the statement again, without the INTO clause, to display the values on the terminal.
JOITOOBIG
Query joins too many tables Explanation: A join contained too many tables. User Action: Rewrite the query to use fewer tables.
JUNONLIN
Extraneous characters found after the end of the statement Explanation: You typed extra characters after the end of the statement. User Action: Check statement syntax for correct statement termination.
KEYTOIDENT
Nonstandard -- You used a keyword as an identifier Explanation: You specified an SQL keyword in a place where it is not a valid keyword, but where an identifier may be specified. The keyword will be used as an identifier. User Action: None, this is an informational message. However, note that you will not be able to specify this identifier in any context where the keyword may appear.
LANFILEXT
<text> is the language file extension, please use another extension Explanation: The input file type you specified to the precompiler is the same file type as the output file type. User Action: Rename the file with the default file specifications and run the precompiler again. Refer to the default file specifications in the Guide to Using SQL.
LANSWIVAL
Value not allowed on the language qualifier Explanation: The SQL precompiler requires a language qualifier (such as /COBOL) to specify the host language. However, you specified a value with that qualifier (such as COBOL=3), which is not allowed. User Action: Remove the value from the language qualifier.
LANUNSDSCDTP
<text> does not pass the data type for parameter <text> by descriptor Explanation: The language specified in the LANGUAGE clause of the module will not support the data type specified for this parameter by descriptor. However, you can build a descriptor as a record and pass the descriptor. Hence, this is only a warning. User Action: If you did not intend to pass the data type by descriptor, change the passing mechanism in the SQL module and in the host language.
LANUNSDTP
<text> does not support the data type for parameter <text> Explanation: The language specified in the LANGUAGE clause of the module does not support the data type specified for this parameter. User Action: If you did not intend to use a data type the language does not support, change the data type to one the language supports. If you know the language does not support the data type, you can use it anyway. This is is only a warning message.
LCKTMOUTIS
LOCK TIMEOUT INTERVAL is <value> seconds Explanation: Used in import User Action: None.
LENMISMAT
Truncating right hand side string for assignment to column <text> Explanation: You executed an INSERT or UPDATE statement, and the string you assigned to a text column is longer than the column's definition. User Action: The message is just a warning. You can issue an UPDATE statement to change the value stored or a ROLLBACK statement to terminate the transaction and cancel the INSERT operation.
LIMFIXINT
LIMIT TO must specify an unscaled fixed numeric Explanation: The "n" in LIMIT TO n ROWS must be a literal, parameter or host variable of an unscaled fixed numeric data type. User Action: Change the LIMIT TO clause to use an unscaled fixed numeric data type for the row limit, n.
LINETOOLONG
Input line was too long Explanation: The module language or procompiler source file contained a line which was too long for the input buffer. User Action: Split the offending line into two or more different lines.
LISTNOTVAL
List data type is not valid for parameter or variable Explanation: It is illegal to define a parameter or variable with a data type of list User Action: Use another data type.
LIT_EXCEPT
Truncation of a numeric value at compiletime Explanation: SQL encountered an error trying to convert a numeric literal in the precompiler or module compiler to the data type of the field it was used with. User Action: Change either the literal or field so that the literal can be assigned to the field
LOGBACDAT
it was logically exported on <text> Explanation: Information about where the Rdb/VMS interchange file (.RBR) was created. User Action: None.
LOOK_FOR
Syntax error, looking for <text>, found <text> instead Explanation: The syntax expected a specific keyword, but you entered another. User Action: Check the syntax and reenter the correct keyword.
LOOK_FOR_CON
<text> Explanation: This message lists syntactically legitimate alternatives. User Action: Consider options from the list.
LOOK_FOR_FIN
found <text> instead Explanation: Last of three messages generated by syntax errors, this message shows the invalid syntax that SQL encountered. User Action: Reenter the statement, or use EDIT to correct it.
LOOK_FOR_STMT
Syntax error, looking for a valid SQL statement, found <text> instead Explanation: SQL did not find the beginning of a statement where it expected one. User Action: Supply a valid statement.
LOOK_FOR_STT
Syntax error, looking for: Explanation: The syntax expected one of several valid possibilities, list follows. User Action: Consider options from the list in the next message.
LOOK_FOR_UNTERM
Syntax error, looking for <text>, found <text> instead Explanation: This is issued with a SQL-F-BUGCHK because it indicates that a severe error has occurred in the syntax tables. User Action: Record the exact command line as typed, (use EDIT to write it to a file) and submit an SPR. Then consider finding a workaround.
LOWCASNOTALL
Identifier <text> contains characters not allowed in SQL identifiers Explanation: You supplied lower case letters in a delimited (double-quoted) identifier. This is not currently supported by SQL. User Action: Change lower case letters to upper case in delimited identifiers
LOW_ORD_LOS
Reducing the scale of column <text> may result in the loss low order precision Explanation: Altering the scale of a column may result in the perceived loss of data stored in that column due to rounding. User Action: None. This is a warning message.
LSTCURSTA
Cursor statement has active list cursor statements Explanation: You executed a RELEASE statement on a a cursor statement while list cursors defined based on that cursor exist. User Action: Release all of the list cursor statements before executing this statement.
LSTNOTNUL
List column must be NULL to insert a new list Explanation: An attempt was made to insert a new list into an existing list. User Action: First delete the list with the DELETE LIST statement.
LSTREFAMB
Column referenced in List Cursor is ambiguous in Table Cursor Explanation: The field specified in the list cursor select statement was mentioned in more than one select expression in the table cursor definition. User Action: Specify a table cursor where the list reference isn't ambiguous.
L_PAGE_HEAD_2
* <date-and-time> <text> Explanation: Used to output page headers in module language listing files. --
MAJORVER
major version number: <value> Explanation: Information about the software version that created the Rdb/VMS interchange file (.RBR). User Action: None.
MAXFLDPRTSTR
Maximum number of columns for table in SELECT * is <value> Explanation: You used the column wildcard (*) in the select list for a table that has too many columns. User Action: Name a subset of the columns explicitly in the select expression.
MAXNESEXC
Maximum allowed statement nesting level exceeded Explanation: You exceeded the maximum allowed nesting of subqueries. User Action: Reduce the nesting level.
MAXORDEXC
The maximum number of ORDER BY columns (<value>) was exceeded Explanation: You have exceeded the maximum number of columns permitted in the ORDER BY clause. User Action: Reduce the number of columns to be less than or equal to the maximum.
MAXRELEXC
Maximum number of tables allowed in SELECT exceeded Explanation: You exceeded the maximum number of tables allowed in the FROM clause of a select expression. User Action: Reduce the number of tables named in the FROM clause.
MINGTRMAX
Minimum mapping value greater than maximum value Explanation: You have supplied a minimum mapping value that is larger than the maximum mapping value. User Action: Correct the error and try the command again.
MINORVER
Minor version number:<value> Explanation: Information about the software version that created the Rdb/VMS interchange file (.RBR). User Action: None.
MINUSDATINT
Operand of unary minus must be interval Explanation: You used a unary minus operator with a datetime operand. Only intervals and numerics may be negated. User Action: Change the expression to use a different operator or operand.
MISREQVAL
<text> must have a value Explanation: No value was specified for a qualifier that was which must have a value. User Action: Correct the command line syntax error, specifying a value for the qualifier.
MISSINGNAME
The schema name or authorization clause was missing Explanation: The CREATE SCHEMA statement requires either a schema name or authorization clause. Neither was specified. User Action: Reenter the CREATE SCHEMA statement making sure to include a schema name or authorization clause.
MIXTABLIS
Incorrect STORE CLAUSE type for this storage map Explanation: You specified a LIST storage clause when altering a table storage map or a TABLE storage map option when altering a LIST storage map. User Action: Only try to change attributes which are appropriate for the kind of storage map you are altering
MLTDFNRTN
Routine <text> is multiply defined Explanation: A routine name was seen more than once in a Pascal program but the previous declaration was not marked as FORWARD. User Action: Remove the duplication of routine names and re-precompile
MODTOOOLD
Module not compatible with session Explanation: The SQL module (either Module Language or Embedded SQL) containing the procedure returning the error was compiled prior to Rdb V4.1 and is trying to participate in a session other than the implicit session. User Action: Recompile the module containing the procedure and relink the application.
MOVENOCOLS
Relation <text> has no valid columns to move Explanation: None of the fields for the specified relation could be moved. Each of those invalid fields caused a warning message to be displayed, but with no valid fields remaining, the transfer definition may not proceed. User Action: Re-enter the transfer definition with one or more valid columns.
MULDIMARR
Host variable <text> is a multi-dimensioned array Explanation: The SQL precompilers do not support references to multi-dimensioned arrays. User Action: Assign the value in the multi-dimensioned array to a field which is not in a multi-dimensioned array before using it in an SQL statement or passing it into a module language procedure.
MULSPECATR
Attribute is specified redundantly Explanation: You specified a field attribute more than once. Because SQL can not determine which attribute to use, it rejects it. User Action: Respecify the definition without the redundant clauses.
MULTSPECATR
Multiple specified attribute. "<text>" was specified more than once Explanation: An attribute was specified more than once in a conflicting manner. User Action: Remove conflicts and try the statement again.
MULT_STRUCT
Host variable <text> is based on a structure defined more than once. Explanation: The named host variable is based on a structure that is defined more than once in the file being precompiled. Either the user defined the structure more than once in a single C procedure (which is illegal in any C program), or there is more than one procedure that defines the structure (legal in C, but the SQL C precompiler does not recognize that the structures are in two different procedures and generates this error).
MUL_UIC
Multiple UIC in ACL entry Explanation: You used more than one user identification code (UIC) in an ACL entry. User Action: Use only one UIC in ACL entry.
MVMULTITARG
<text> cannot be a target for more than one move clause Explanation: The user entered a transfer with more than one move clause specifying the named target as the target. Note that even if an into clause is not specified, the target name, taken from the source table name, must be unique. User Action: Re-enter the statement making sure that tables specified in INTO clauses are unique and do not duplicate names of source tables without INTO clauses.
MVRELABSNT
no MOVE RELATION clause is specified in an EXTRACTION ROLLUP transfer Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have not specified any MOVE RELATION clause. User Action: Since a MOVE RELATIONS ALL clause is not allowed in this context, you have to explicitly specify the MOVE RELATION clauses. Reenter the CREATE TRANSFER statement by specifying the MOVE RELATION clauses explicitly.
NAMCONF
the database pathname <text> is the same as another dictionary entity Explanation: The name chosen for the database is the same as another dictionary entity of a different type. User Action: Choose a different name.
NAMTOOBIG
The name <text> is longer than the <value> character maximum Explanation: You specified a name which is longer than the maximum supported length for names in this context. User Action: Use a shorter name.
NEG_DIM
Host variable <text> has a negative dimension. Explanation: The size of this array is less than or equal to zero. User Action: Only use positive dimensions.
NESFUNINV
Functions may not be nested Explanation: Functions cannot contain other functions in their arguments. For example, AVG(COUNT(DISTINCT(CITY)) is illegal. User Action: Do not nest functions.
NESINCFIL
Cannot include file <text> from another included file Explanation: You attempted to nest INCLUDE file-spec statements. Source code files specified in an INCLUDE file-spec statement cannot themselves contain nested INCLUDE file-spec statements. User Action: Move the INCLUDE statement to the main program.
NESQRYEXP
Column select expression was expected Explanation: You supplied something besides a column select expression where SQL expected one. User Action: Correct the syntax error.
NO1ST
LIMIT TO clause is not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify a LIMIT TO clause in an INSERT or LIST CURSOR. User Action: Remove the LIMIT TO clause.
NOAGGALL
aggregate expressions are not allowed in MOVE RELATION clauses Explanation: You entered a MOVE RELATION clause that contained an aggregate expression. The MOVE RELATION clause only allows an operator, literal value, or field name. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the CREATE TRANSFER statement with a correct MOVE RELATION clause.
NOALTER
No attributes specified for ALTER <text> Explanation: The user specified an ALTER DOMAIN statement or an ALTER TABLE ALTER column-name clause without specifying any attributes. User Action: Specify something to change.
NOANYALL
ANY and UNIQUE are not allowed in a MOVE RELATION clause Explanation: You entered a MOVE RELATION clause containing ANY or UNIQUE. The MOVE RELATION clause only allows an operator, literal value, or field name. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the CREATE TRANSFER statement with a correct MOVE RELATION clause.
NOBATCHUPDATE
BATCH UPDATE is not allowed without setting of <text> logical name Explanation: BATCH UPDATE transactions are not allowed with 2PC turned on. 2PC is only turned off by setting the logical name named in the message to "TRUE". User Action: If you want to migrate the application without the use of of context items (i.e. 2PC/DDTM) and allowing BATCH UPDATE transactions, define the logical name to "TRUE". Otherwise, you should change the BATCH UPDATE option to another transaction option.
NOBATUPD
BATCH_UPDATE is not supported in the SQL interface to Rdb/VMS Explanation: A DECLARE TRANSACTION statement specified the BATCH_UPDATE transaction mode. The SQL interface to Rdb/VMS does not support BATCH_UPDATE. User Action: Replace BATCH_UPDATE with READ_WRITE reserving the tables you want to update with EXCLUSIVE WRITE locking.
NOBCKFIL
export file <text> not created Explanation: An error has occurred during creation of the EXPORT file. User Action: Follow actions directed by the corresponding RMS error.
NOBCKTRNS
you cannot EXPORT a database from within a transaction Explanation: You typed EXPORT from inside a transaction. User Action: End the transaction and try again.
NOBUCTXPARM
BATCH UPDATE not allowed in procedure with CONTEXT parameter Explanation: Your source contains a SET TRANSACTION statement in a procedure which will have a context parameter added to it. This is not allowed. User Action: Change the transaction options to use something other than BATCH UPDATE or compile the module without the /CONTEXT=ALL qualifier or remove the name of this procedure from the list of procedures to receive a context parameter.
NOBUUSINGCTX
BATCH UPDATE not allowed in statement with USING CONTEXT Explanation: Your source contains a SET TRANSACTION statement with a USING CONTEXT clause. This is not allowed. User Action: Change the transaction options to use something other than BATCH UPDATE or remove the USING CONTEXT clause from the statement.
NOCATRES
Unable to import catalog <text> Explanation: Could not import this catalog. See the following message (subcodes). User Action: Correct the problem and try the operation again.
NOCDD
There is no data dictionary on this system. Specify FILENAME in the DECLARE ALIAS or ATTACH statement Explanation: You declared or attach to a database with a data dictionary path name, but there is no data dictionary running on this system. You must declare or attach to the database using a file name. User Action: Declare or attach to the database by file name.
NOCDDALT
There is no data dictionary on this system. Specify FILENAME in the ALTER DATABASE statement Explanation: You altered a database with a data dictionary path name, but there is no data dictionary running on this system. You must alter a database using a file name. User Action: Alter the database with the database file name.
NOCDDRES
the data dictionary will not be updated Explanation: You cannot store the database information in the data dictionary. See the following message. User Action: Correct the problem and try the operation again.
NOCDDUPDAT
Database invoked by filename, the data dictionary will not be updated Explanation: You issued a data definition statement after invoking by file name User Action: This is a warning. You can ROLLBACK and invoke the database by specifying the path name. This ensures that data definitions are updated both in the data dictionary and in the database itself.
NOCMPBYRES
computed field <text> in relation <text> not imported Explanation: You specified a computed field in your database that could not be imported. Perhaps the field references other fields and relations that were deleted from the database by an older version of the software that would have permitted such a thing. User Action: You must investigate the problem further. The table should have been properly imported except for the listed column.
NOCMPINTDY
INTERVAL DAY-TIME and INTERVAL YEAR-MONTH are not comparable Explanation: You tried to compare a value of type INTERVAL DAY-TIME with a value of type INTERVAL YEAR-MONTH. These two types are not comparable. User Action: Use the CAST function and compare values of the same interval type.
NOCOLALL
<text> interpreted as column name where none are allowed Explanation: An expression included a string SQL interpreted as a column name where a column name does not make sense. For example, specifying a column name in the VALUES clause of an INSERT statement generates this error. Or, omitting quotes around a string literal can also generate this error. User Action: Replace the string with a quoted literal or host variable, or use a different form of the statement which will allow column names.
NOCOLLST
Specifying a column list is incompatible with WHERE CURRENT OF Explanation: It is illegal to specify both a column list and WHERE CURRENT OF. User Action: Remove one of the clauses.
NOCOLNAM
This view definition must explicitly list column names Explanation: You must specify names for all the columns in a view if the select expression in the view definition uses statistical functions or arithmetic expressions to create columns not in the source tables. User Action: Explicitly name each coulumn in the view definition.
NOCOLRES
Unable to import collating sequence <text> Explanation: SQL could not import this collating sequence. See the following message. User Action: Correct the problem and try the operation again.
NOCONNAM
Cannot create <text> constraint name for table <text> Explanation: SQL tried to create a unique name for a CHECK type constraint on the named table. SQL could not generate a unique name for this table. User Action: You can either delete all CHECK constraints for this table and then recreate all of the constraints or you can specify the DIAGNOSTIC parameter to give the constraint an explicit name.
NOCONRES
unable to import constraint <text> Explanation: Could not import this constraint -- see the message that follows. User Action: Correct the problem and try the operation again.
NOCORRCOL
There are no matching columns in the corresponding select lists Explanation: You specified a UNION CORRESPONING query expression in which there were no corresponding columns in the two select lists. There must be at least one column which matches. User Action: Either omit the CORRESPONDING keyword, or specify at least one pair of columns which match.
NOCPRIRES
Unable to import privileges on column <text>.<text> for <text> Explanation: SQL could not import these privileges -- see the message that follows. User Action: Correct the problem and try the operation again.
NOCSET
character set <text> does not exist Explanation: You specified a character set that does not exist. For lack of a better choice, the database default character set is assumed. User Action: Specify a character set that exists.
NOCUROF
A list specification must have a WHERE CURRENT OF clause Explanation: A list specification requires a WHERE CURRENT OF clause and one wasn't specified. User Action: Specify the WHERE CURRENT OF clause.
NODATDIV
No DATA DIVISION found in COBOL program. Explanation: Every COBOL program that uses embedded SQL must have a DATA DIVISION statement. None was found in your input file. User Action: Add a DATA DIVISION statement to your program.
NODATRES
remaining data for this relation will be ignored Explanation: An error occurred while you attempted to store the data; see the following message. User Action: Correct the problem and try the operation again.
NODBHALW
database handles are not allowed in a MOVE RELATION clause Explanation: You specified a database handle for the record selection expression (RSE) in a MOVE RELATION clause. Inside a MOVE RELATION clause, database handles are not allowed for the RSE. User Action: Reenter the CREATE TRANSFER statement omitting the database handle name.
NODBKALL
database key references are not allowed in a MOVE RELATION clause Explanation: You entered a MOVE RELATION clause that contained a database key or a host variable. The MOVE RELATION clause only allows an operator, literal value, or field name. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the CREATE TRANSFER statement with a correct MOVE RELATION clause.
NODBKGRO
There is no DBKEY for a row in a result table with a GROUP BY Explanation: A SELECT expression with a group by clause requested the DBKEY. There is no DBKEY for a row in a grouped table. User Action: Remove the DBKEY reference.
NODBNAME
A database name was not specified on a DECLARE ALIAS or ATTACH statement Explanation: You issued a DECLARE ALIAS or ATTACH statement that did not specify a database by file specification or data dictionary path name. User Action: Check the syntax of the DECLARE ALIAS or ATTACH statement.
NODBSINTXN
No databases specified for this transaction Explanation: You executed an embedded SET TRANSACTION, but none of the aliases declared at compiletime were present in the current environment. User Action: Issue a dynamic SET TRANSACTION statement to pick up dynamically attached aliases in the environment.
NODECLMOD
DECLARE MODULE is valid only in plan files Explanation: A Module Language module contains a DECLARE MODULE statement. In Module Language, DECLARE MODULE is restricted to plan files. User Action: Put the DECLARE MODULE statement in a plan file.
NODEFDB
There is no default database Explanation: You specified a table name without an alias but there is no default database. User Action: Either attach a default database, or include the alias for a database you have attached in the table name.
NODISTINCT
DISTINCT columns are not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify DISTINCT in an INSERT or LIST CURSOR. User Action: Remove the DISTINCT clause.
NODROPSYSCAT
Catalog <text> may not be dropped Explanation: The named catalog may not be dropped because it contains system relations. User Action: Drop individual schemas or objects instead of this catalog.
NODROPSYSSCH
Schema <text> may not be dropped Explanation: The named schema may not be dropped because it contains system relations. User Action: Drop individual objects instead of this schema.
NODUPLIVIEW
view <text> cannot be specified more than once in a transfer definition Explanation: You have specified a view name in both a move-relations-clause and in a move-views-clause. User Action: Reenter the CREATE TRANSFER statement by specifying the view either in a move-relations-clause or in a move-views-clause but not in both.
NOENTRYPT
Older SQL version not compatible with compiled SQL Explanation: You tried to run a SQL program under a version of SQL that is older than the version that it was compiled under. The program also required SQL features not available from the older SQL. User Action: Re-compile the program under the older version of SQL or run it under the newer version.
NOFILLIST
SQL does not support lists of files Explanation: You specified a list of module language files on the module language command line, or a list of context files on the precompiler command line. SQL does not support lists of files. User Action: Specify only one language file and one context file on a command line.
NOFLDRES
unable to import domain <text> Explanation: Could not import this domain. See the following message. User Action: Correct the problem and try the operation again.
NOFSTINREPT
FIRST clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION clause of a REPLICATION TRANSFER definition you have entered a FIRST clause. User Action: Reenter the CREATE TRANSFER statement without the FIRST clause in the MOVE RELATION clause.
NOGROUP
GROUP BY clause is not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify a GROUP BY clause in an INSERT or LIST CURSOR. User Action: Remove the GROUP BY clause.
NOIDXRES
unable to import index <text> Explanation: Could not import this index. See the following message. User Action: Correct the problem and try the operation again.
NOIMPTXN
no implicit transaction to commit or rollback Explanation: The commit or rollback statement was used without there being a valid implicit transactin outstanding. Explicit transactions must be terminated via DDTM. User Action: Do not use the commit or rollback statement unless there is an implicit transaction outstanding.
NOINCDIC
The INCLUDE statement with the FROM DICTIONARY clause is not supported in <text> Explanation: The INCLUDE statement with the FROM DICTIONARY clause is not supported for languages which do not have an equivalent statement in the language. An example of this is Ada. User Action: Remove the INCLUDE statement with FROM DICTIONARY clause.
NOITEMDEF
unable to define item from command line Explanation: Could not define an item from the command line. See the following message. User Action: Correct the problem and try the operation again.
NOLANGFIL
No input file specified Explanation: You did not specify a file for the precompiler. User Action: Enter the precompiler command line again, specifying a file this time.
NOMAPIMPO
Mapping Values on CREATE INDEX within an IMPORT is not supported Explanation: The data type of the columns used in the index must be checked for validation of the mapping values. Since the tables do not exist at this time, their data types cannot be checked. User Action: Remove the mapping values from the create index and apply them after the import is complete.
NOMAPRES
unable to import storage map <text> Explanation: Could not import this storage map. See the following message. User Action: Correct the problem and try the operation again.
NOMATCHKEY
<text> has no matching UNIQUE or PRIMARY KEY constraint Explanation: You specified a referenced column list which does not match the columns specified as the key for any UNIQUE or PRIMARY KEY constraint. The referenced column list must be an exact match for the key of such a constraint. User Action: Specify a referenced column list that matches a key for a UNIQUE or PRIMARY KEY column, or define a UNIQUE or PRIMARY KEY constraint that matches the referenced column list you specified.
NOMLTIMV
attempt to move the relation <text> multiple times Explanation: You attempted to specify the same relation name more than once in the MOVE clause of a CREATE TRANSFER statement. In a CREATE TRANSFER statement, you cannot move the same relation more than once. User Action: Reenter the CREATE TRANSFER statement omitting the duplicate MOVE RELATION clause.
NOMLTIMVIEW
attempt to move the view <text> multiple times Explanation: You attempted to move the named view more than once in a CREATE TRANSFER statement. This action is not permitted. User Action: Reenter the CREATE TRANSFER statement, specifying each view only once.
NOMODFIL
No module file specified on command line Explanation: A module language compiler command line must include the name of a module file to compile. This command line did not. User Action: Repeat the command line with the name of a module file you wish to compile.
NOMOVESYS
System relations may not be moved Explanation: A system relation was specified in the MOVE TABLES clause. User Action: Re-enter the transfer definition without the system relation.
NOMVRALL
MOVE RELATIONS ALL clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have specified a MOVE RELATIONS ALL clause. User Action: Reenter the CREATE TRANSFER statement by specifying each relation explicitly in a MOVE RELATION clause.
NOMVVROL
MOVE VIEWS clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have specified a MOVE VIEWS clause. User Action: Reenter the CREATE TRANSFER statement without the MOVE VIEWS clause.
NONCONARR
Noncontiguous arrays not supported. Explanation: You have passed a parameter that is a noncontiguous array to the module language. SQL does not support noncontiguous arrays. User Action: Use contiguous arrays to pass data to the module language.
NONOVAL
Negated qualifiers may not have values Explanation: You specified a value for a qualifier that was preceded by NO. User Action: Correct the command line syntax error, removing NO or the value.
NONSINGLE_INTO
An INTO clause is only allowed on a singleton select. Explanation: An INTO clause is not allowed on a query specification. User Action: Remove the INTO clause and reissue the SQL statement.
NONSTAAMB
Host variable <text> is ambiguous in the host file Explanation: The ANSI and ISO SQL standards require that host variable names be unique in the entire file being preprocessed. The SQL interface to Rdb/VMS only requires it to be unique in its language scope. This host variable is not unique in the file. User Action: If it is important to have only standard features in your program, you should change the name of this host variable to make it unique in the file.
NONSTAANSPARM
Nonstandard omission of colons in module lang parameters Explanation: The /ANSI_PARAMS qualifier was not used to enforce the use of colons in module language parameters. Using the default /NOANSI_PARAMS does not conform to the ANSI-89 standard. User Action: If it is important to have your program conform to ANSI standard semantics, use the appropriate qualifier to enforce use of colons.
NONSTACAS
Nonstandard use of lowercase Explanation: This token contains lowercase characters. The ANSI and ISO SQL standards only supports lowercase character in quoted strings. User Action: If it is important to have only standard syntax in your program, you should correct this syntax.
NONSTACOB
COBOL file is not ANSI format Explanation: The file being processed by the SQL COBOL precompiler is not in ANSI format, or, if it is in ANSI format, you did not specified the /ANSI switch. The ANSI and ISO SQL standards require that all precompiled COBOL programs be in ANSI format. User Action: If it is important to have your program in a standard format, you should convert your program to ANSI format. See the VAX COBOL Reference Manual for a definition of what ANSI and TERMINAL formats are and how to convert between them.
NONSTACOL
Column <text> has a nonstandard data type Explanation: You referred to a column whose data type is not included in the ANSI and ISO SQL standards. User Action: If it is important to have only standard features in your program, you should change the data types of these columns to be an standard data type.
NONSTACOLQUAL
Nonstandard qualifier used with column name Explanation: Additional qualifiers were supplied with a column name. In certain statements the standard does not allow column names to be qualified. User Action: If it is important to have your program conform to ANSI standard semantics, remove the extra qualifiers.
NONSTACON
The standard does not permit this data type conversion Explanation: You are comparing, assigning or unioning to expressions with different data types. These two expressions must be converted to a common data type. The ANSI and ISO SQL standards do not support this conversion. User Action: If it is important to have only standard features in your program, you should change your statement to use supported conversions.
NONSTACUC
The standard requires columns merged by UNION be identical
Explanation: The ANSI and ISO SQL standards require that
columns which are being merged into a single result column by a
UNION clause must have identical definitions; that is, they
must have the same data type, length, scale, and so on. The
column pointed to is not identical to the column with which
it is being merged.
User Action: If it is important to have only standard features
in your program, you should change the data types of
these columns to be identical, or remove the UNION from your
program.
NONSTACUR
Cursor <text> has a nonstandard type Explanation: You referred to a cursor of a type not included in the ANSI and ISO SQL standards. User Action: If it is important to have only standard features in your program, you should not use this type of cursor.
NONSTADIS
The standard only permits one DISTINCT clause in a select
expression
Explanation: You entered a select expression which either has
two functions with DISTINCT clauses, or has a DISTINCT clause
for the entire select list and a DISTINCT in a function.
The ANSI and ISO SQL standards do not support multiple
distinct clauses.
User Action: If it is important to have only standard features
in your program, you should remove one of the distinct
clauses.
NONSTADTP
Nonstandard data type Explanation: The data type indicated or the data type of the column indicated is not included in the current ANSI and ISO standards for SQL. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTADYN
The SQL standard does not include the dynamic interface Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. The standard does not define the dynamic interface. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTAHV
Host variable <text> has a nonstandard declaration
Explanation: The ANSI and ISO SQL standards only require that a
small subset of host language data declarations be
supported. The declaration for this host variable
uses language features which the standards do not
require.
User Action: If it is important to have only standard features
in your program, you should change the definition of this
host variable.
NONSTAINVOKER
Invoker not restricted to definer Explanation: The /RESTRICT_INVOKER or /SQLOPTIONS=RESTRICT_INVOKER qualifier was not used to restrict the invoker to be the definer of a module. That is, any user may invoke this module, but in order to conform to ANSI, only the definer of the module may invoke it. The definer is considered to be the user who compiles a module or the user specified by the AUTHORIZATION clause of the module language. User Action: If it is important to have your program conform to ANSI standard semantics, use the appropriate qualifier to invoker restricting.
NONSTANAM
Nonstandard name
Explanation: This name is not a valid name in the ANSI and ISO
SQL standards. It is either longer than 18 characters
or contains a $.
User Action: If it is important to have only standard syntax in
your program, you should remove this syntax.
NONSTAOKW
Nonstandard syntax -- required keyword or clause omitted
Explanation: The syntax indicated is not included in the
current ANSI and ISO standards for SQL. The standard
requires a clause or keyword which is optional in the SQL
interface to Rdb/VMS. You have omitted that clause or
keyword.
User Action: If it is important to have only standard syntax in
your program, you should remove this syntax.
NONSTAPHY
The SQL standard does not specify the physical database Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. The standard does not define physical objects. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTAQUO
Nonstandard quote character
Explanation: This informational message is generated by either
of two situations: - The ANSI and ISO SQL standards
require the single quotation mark (') character. You used
the double quotation mark (") character. - ANSI requires
continuation be done by language rules, which in COBOL means
the first character on the line being continued must be a
double quotation mark ("). You used a single quotation mark
(').
User Action: If it is important to have only standard syntax in
your program, correct this syntax.
NONSTARSW
<text> is a SQL reserved keyword: its use as an identifier is non-standard Explanation: According to SQL89 and SQL2, no nondelimited (unquoted) identifier can be a SQL reserved keyword. If a SQL keyword must be used, it must be delimited by double quotes. This bypasses keyword checking in the scanner. User Action: If it is important to have only standard features in your program, change the identifier so that it is not a SQL keyword. If the identifier must be the same as a SQL keyword, delimit it with double quotes (e.g. DOUBLE becomes "DOUBLE")
NONSTASCL
Nonstandard scale. Your scale (<value>) exceeds the precision (<value>) Explanation: The scale specfied exceeds the precision. The current ANSI and ISO standards for SQL require a scale less than or equal to the precision. User Action: If it is important to have only standard syntax in your program, you should have scale less than or equal to precision.
NONSTASM
The SQL standard does not include schema manipulation Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. The standard does not define the schema manipulation language. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTASYN
Nonstandard syntax Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTATXN
The SQL standard does not specify how to control transaction characteristics Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. The standard does not specify how transaction characteristics are to be defined. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NONSTAUNI
The standard only permits UNION outside of subqueries in DECLARE CURSOR Explanation: You have included a UNION in a context in which the ANSI and ISO SQL standards do not support. Only DECLARE CURSOR statements may have a UNION in the standard. User Action: If it is important to have only standard features in your program, you should remove this UNION clause.
NONSTAVIA
Nonstandard feature for integration with other Digital products Explanation: The syntax indicated is not included in the current ANSI and ISO standards for SQL. This is a feature which is provided for compatability with other Digital products such as Datatrieve and CDD/Plus. User Action: If it is important to have only standard syntax in your program, you should remove this syntax.
NOOPENCUR
There is no OPEN procedure for cursor <text> Explanation: There are no OPEN procedures for this cursor. A module must have exactly one procedure which opens a particular cursor. User Action: Add a procedure which opens this cursor.
NOORDER
ORDER BY clause is not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify a ORDER BY clause in an INSERT or LIST CURSOR. User Action: Remove the ORDER BY clause.
NOPASQLDA
SQLDA is not supported in Pascal Explanation: The Pascal precompiler does not support the SQLDA data structure or the dynamic interface. User Action: Remove all references to SQLDA in your program. If the SQL Dynamic interface is required with Pascal, use the SQL module language.
NOPHYSMULSCH
The physical multischema attribute was not specified for the database Explanation: You attempted to attach to a database using multischema naming but the database was not physically enabled for it. User Action: Either ALTER the database and enable multischema or do not attempt to attach it for multischema naming.
NOPRECOMPSEL
No precompiler selected Explanation: You invoked the precompiler without specifying the language option desired. User Action: Specify a switch or file extension.
NOPRIMKEY
Table <text> has no primary key Explanation: You omitted the referenced column list in a referential constraint for which the referenced table has not primary key. If the referenced table has no primary key, you must specify a column list which matches the columns in a unique constraint. User Action: Add a referenced column list, or define a primary key for the referenced table.
NOPROC
SQL statements must follow a procedure declaration Explanation: SQL statements must come after a procedure statement. This statement was found before any procedure statement. User Action: Put your SQL statements inside a procedure.
NOPRVMVIEW
insufficient privilege to transfer the view <text> Explanation: You attempted to transfer the named view without READ privilege on the view. You must have READ privilege on the view to be able to transfer the view in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement excluding the named view. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements.
NOPRVMVREL
insufficient privilege to transfer the relation <text> Explanation: You specified a relation for which you do not have READ privilege. You must have READ privilege on the relation to transfer the relation in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement excluding the named relation. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. Also consult your database administrator.
NOPRVREPLI
insufficient privilege to CREATE a replication transfer Explanation: You attempted to CREATE a replication transfer without CREATE privilege on the source database. To CREATE a replication transfer, you must have CREATE privilege on the source database. User Action: Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. See your database administrator to obtain CREATE privilege.
NOPRVROLMVR
insufficient privilege to transfer the relation <text>.<text> Explanation: You specified a relation for which you do not have READ privilege in the specified database. You must have READ privilege on the relation to transfer the relation in a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement excluding the named relation. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. Also consult your database administrator.
NORDBPRIV
GRANT or REVOKE specified only unsupported privileges Explanation: A GRANT or REVOKE statement specified only unsupported DB2 privileges. It has no effect. User Action: None. SQL ignores the statement. However, to avoid this message, either remove the statement or add some supported privileges to it.
NOREDINREPT
REDUCE clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION clause of a REPLICATION TRANSFER definition you have entered a REDUCE clause. User Action: Reenter the CREATE TRANSFER statement without the REDUCE clause in the MOVE RELATION clause.
NORELFOU
No relation found for map <text> Explanation: The map name given has no table in the database or schema. User Action: Use the correct map name.
NORELRES
unable to import table <text> Explanation: Could not import this table. . See the following message. User Action: Correct the problem and try the operation again.
NOREMVER
remote node or version number is not allowed in a log file name Explanation: You used a node name or a version number in the log file specification of a CREATE TRANSFER statement. User Action: Reenter the CREATE TRANSFER statement using a log file specification that does not contain a node name or a version number.
NOREPSQLDA
Cannot represent using SQLDA. Explanation: An SQLDA was used, and either the length of the derived column name was greater than 30 octets, the data type was DATETIME or INTERVAL, or the data type was character and the character set was not the default one-octet character set or the maximum length in octets excedes 32767. User Action: Use an SQLDA2 or change the code to conform to the limitations of an SQLDA.
NORETURN
Specifying a RETURNING clause is incompatible with a positioned insert statement Explanation: It is illegal to specify a RETURNING clause with a positioned insert. User Action: Remove the RETURNING clause.
NOROCOL
Read only column expressions are not allows in an INSERT or LIST CURSOR Explanation: A column expression specified something other than a simple column reference such as an expression. User Action: Limit usage to only column names.
NORTPARM
<text> is not declared in procedure <text> Explanation: You used the parameter as a runtime parameter for a filename or pathname in a DECLARE SCHEMA statement. Such parameters must be declared in every procedure in the module, and must be character data types. You did not declare this paramter in this procedure. User Action: Declare the parameter as a character variable in the procedure. The use of DECLARE SCHEMA is deprecated and should be changed to use DECLARE ALIAS and connect.
NOSCHALT
Nothing altered in ALTER DATABASE statement Explanation: There was nothing altered in the ALTER DATABASE query. User Action: Remove the query or modify it to alter database characteristics.
NOSCHRES
Unable to import schema <text> Explanation: Could not import this schema. See the following message (subcodes). User Action: Correct the problem and try the operation again.
NOSEGSTRAREA
list storage area <text> is not defined Explanation: You specified a storage area in the LIST STORAGE AREA clause that does not exist. User Action: Specify a storage area which is already defined in the CREATE DATABASE statement.
NOSELALL
SELECT FIELDS ALL clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a CREATE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have specified a SELECT FIELDS ALL clause. User Action: Reenter the CREATE TRANSFER statement by specifying each field explicitly in the SELECT FIELDS clause.
NOSELXPR
Specifying a SELECT expression is incompatible with a positioned insert statement Explanation: It is illegal to specify a SELECT expression with a positioned insert. User Action: Specify only a VALUES clause.
NOSORTINREPT
SORT clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION clause of a REPLICATION TRANSFER definition you have entered a SORT clause. User Action: Reenter the CREATE TRANSFER statement without the SORT clause in the MOVE RELATION clause.
NOSPRIRES
Unable to import database privileges for <text> Explanation: SQL could not import these privileges; see the message that follows. User Action: Correct the problem and try the operation again.
NOSQLCA
No INCLUDE SQLCA statement was specified Explanation: Every precompiled SQL program must have an INCLUDE SQLCA statement in it. This program did not have one. User Action: Add an INCLUDE SQLCA statement.
NOSQLCODE
Neither SQLCA nor SQLCODE were declared Explanation: All precompiled SQL programs must include a definition for an SQL status variable. This can be done by specifying an INCLUDE SQLCA statement or by defining an integer host variable name SQLCODE. This program did neither. User Action: Add either an SQLCODE variable or an INCLUDE SQLCA statement.
NOSTRDEF
Host variable <text> is based on an undefined structure Explanation: The FORTRAN RECORD host variable declaration uses a structure name which has not be declared. User Action: Either change the name of the structure this host variable is based on, or define a structure with that name.
NOSTRNAM
RECORD host variable <text> does not specify a structure name Explanation: The FORTRAN RECORD host variable declaration does not specify the structure name which the record is based on. User Action: Add the name of the structure this host variable is based on.
NOSUCHCON
There is not an active connection by that name Explanation: A connection with the name given does not exist. User Action: Pass the name of a known connection.
NOSUCHCUR
Cursor <text> has not been declared Explanation: You must declare a cursor before you refer to it in an OPEN, CLOSE, FETCH, UPDATE, or DELETE statement. User Action: Declare the cursor, or use the name of a cursor which is already declared.
NOSUCHDATEFMT
Format DATE <value> does not exist. Explanation: You entered DATE date-number where the logical LIB$DATE_FORMAT_nnn does not exist. User Action: Contact system manager to install the date formats.
NOSUCHLANG
Language <text> does not exist. Explanation: You entered SET LANGUAGE statement, but the logical name table LNM$LANGUAGE_xxx does not exist. User Action: Contact your system manager to make sure everything has been set up properly; the language may not be supported.
NOSUCHPROC
Procedure <text> in CONTEXT list not defined Explanation: The value of the /CONTEXT qualifier specified a procedure which was not defined in the body of the module. User Action: Either add the procedure to the module or omit the offending procedure name from the /CONTEXT qualifier value list.
NOSUCHSTMT
<text> is not the name of an prepared statement Explanation: A prepared statement with the name given does not exist. User Action: Pass the name of a known statement.
NOSUCHTIMEFMT
Format TIME <value> does not exist. Explanation: You entered TIME time-number where the logical LIB$TIME_FORMAT_nnn does not exist. User Action: Contact system manager to install the date/time formats.
NOSUPREPLI
replication transfer is not supported for this source database Explanation: You attempted to create a replication transfer on a source database that is not an Rdb/VMS database. Replication transfers can be created only for Rdb/VMS databases. For other databases you can create only extraction transfers. User Action: If your source database is not an Rdb/VMS database, create an extraction transfer.
NOTAVIEW
<text> is not a view Explanation: The name you specified in a MOVE VIEWS clause is not the name of a view. User Action: Retype the CREATE TRANSFER command with the correct view name.
NOTDB2
"<text>" is a DB2 feature not supported by the SQL interface to Rdb/VMS. Explanation: This is a feature supported by DB2 that the SQL interface to Rdb/VMS does not support. User Action: Remove references to this feature.
NOTDB2DUR
Labelled durations are a DB2 feature not supported by SQL. Explanation: The SQL interface to Rdb/VMS does not support labelled durations. User Action: Remove references to labelled durations.
NOTDB2FN
DB2 function not supported by SQL. Explanation: This is a function supported by DB2 that the SQL interface to Rdb/VMS does not support. User Action: Remove references to this function.
NOTFOUND
No rows were found for this statement Explanation: No rows were found for an UPDATE or DELETE statement, or a query produced an empty table. User Action: None, this is a warning message.
NOTGROFLD
Column <text> cannot be referred to in the select list, ORDER BY, or HAVING clause because it is not in the GROUP BY clause Explanation: In the select list and HAVING clauses of select expressions containing the GROUP BY clause, you can refer only to those columns named in the GROUP BY clause. User Action: Either add the column named in the message to the GROUP BY clause, or delete from the select list or HAVING clause.
NOTHVDECL
<text> is not a host variable Explanation: The object referenced as a host variable was not a host variable. User Action: Refer to a host variable.
NOTIMPSES
Implicit session required for rollback or commit Explanation: You called a procedure that tried to commit or rollback the implicit session's implicit transaction when the current session was one other than the implicit session. This could be accomplished by calling a procedure that does a rollback or commit that was compiled without session support or from an RDML/RdbPRE module. User Action: Define an SQL module procedure to Rollback or Commit and compile with session support enabled.
NOTINSCUR
Cursor <text> is not an INSERT ONLY cursor Explanation: In a positioned INSERT statement, the cursor named wasn't an INSERT ONLY CURSOR User Action: Restrict usage of INSERT statements to INSERT ONLY CURSORS.
NOTINTBLCUR
Column, <text>, not specified in table cursor, <text> Explanation: The list column specifed for a list cursor wasn't specified in the related table cursor. User Action: Modify the table cursor to add the list column to the select list or modify the list cursor to use a different column.
NOTLISTCOL
Column <text> is not of data type LIST Explanation: The column named in the error message has a data type other than LIST. User Action: Specify a column with the proper data type.
NOTLSTCUR
Cursor <text> is not a list cursor Explanation: An attempt was made to use a list INSERT statement into a table cursor. User Action: Use the INSERT INTO CURSOR statement.
NOTPRIRES
Unable to import privileges on table <text> for <text> Explanation: SQL could not import these privileges -- see the message that follows. User Action: Correct the problem and try the operation again.
NOTRGRES
Unable to IMPORT trigger <text> Explanation: SQL could not import this trigger; see the message that follows. User Action: Correct the problem and try the operation again.
NOTSAMESCOPE
You cannot override a database attach with different scopes Explanation: The database scope (GLOBAL or LOCAL) in an ATTACH statement differs from the one already attached with the same alias. The scope of the both aliases must be the same. User Action: Either choose a different alias or specify the same scope for the new database.
NOTSAMETBL
List cursor <text> is based on a different than table cursor <text> Explanation: The table cursor named in the message references a table cursor that is based on a different table from the LIST cursor. User Action: Base the list cursor on a table cursor that references that same table.
NOTTBLCUR
Cursor <text> is not a table cursor Explanation: You must declare list cursor to be the current of a table cursor. The cursor specified in the WHERE CURRENT OF clause is another list cursor. User Action: Reference a table cursor.
NOTUSEIND
Cannot use indicator variables in WHERE or HAVING Explanation: You cannot use indicator variables in WHERE clauses or HAVING clauses. User Action: Use the NULL keyword to test if a value is null.
NOTYPES
Domain reference in column <text> is illegal in a DECLARE TABLE statement Explanation: You referred to a user defined domain in a DECLARE TABLE statement. All domains in the DECLARE TABLE statement must be SQL predefined types. User Action: Substitute the predefined equivalent of the user defined domain.
NOT_A_DB
<text> is not the name of a DSRI-compliant database Explanation: You supplied the name of a database that does not exist under this data dictionary directory, or you supplied a name that is not a DSRI-compliant database. User Action: Supply the name of a valid database.
NOT_CDD_DB
Database was not declared using PATHNAME. Dictionary access is illegal. Explanation: You tried to include a dictionary entity in the schema, but the database itself is not using the dictionary. User Action: Attach to the database using PATHNAME.
NOT_SAME_CONTEXT
The <text> being defined must be in the same database as the <text> it references Explanation: When creating an item, the item was named as part of one database, but it was being created from items of another database. For example, trying to create an index in one database from a table in another database generates this error. User Action: Create the item naming only items from the same database.
NOT_SCH_ID
Alias <text> not permitted within definition of database <text> Explanation: You specified an alias of a database that was other than the one for the database being defined. User Action: Create defintions only for a single database in a CREATE DATABASE statement. Use the standalone CREATE statements for accessing other databases.
NOUNION
UNION is not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify a UNIONS as an INSERT CURSOR. User Action: Limit usage to only a single table.
NOVIERES
unable to import view <text> Explanation: Could not import this view -- see the message that follows. User Action: Correct the problem and try the operation again.
NOVIEWINREPT
view <text> is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION clause of a REPLICATION TRANSFER definition you have specified a view. User Action: Reenter the CREATE TRANSFER statement without the view in the MOVE RELATION clause. The view definition can be moved by specifying the view in the MOVE VIEWS clause.
NOWHERE
WHERE clause is not valid in an INSERT or LIST CURSOR Explanation: It is illegal to specify a WHERE clause in an INSERT or LIST CURSOR. User Action: Remove the WHERE clause.
NO_CDDACC
No access to the data dictionary. Explanation: Access is not permitted to the data dictionary. Previous error message should indicate the reason. User Action: Correct problem from previous error message.
NO_COMMAND
An empty command string was passed to PREPARE. Explanation: A null command string was passed to PREPARE. User Action: Pass a string to PREPARE that is not empty.
NO_DCLTXN
You cannot declare a transaction while a transaction is active. Explanation: There is a currently transaction in progress. You cannot declare a transaction while a transaction is in progress. User Action: Commit or rollback the current transaction before issuing another DECLARE TRANSACTION statement.
NO_DECIMAL
<text> is being converted from DECIMAL to <text>. Explanation: DECIMAL is not a supported data type. SQL converts DECIMAL columns and types to a supported data type. User Action: None. This is an informational message only.
NO_DESCENDING
DSRI does not support descending index segments Explanation: You specified that a descending index segment; DSRI does not support descending index segments. User Action: Remove the DESC clause from the index specification.
NO_DMLPLAN
You can only use DECLARE statements in a context file. Explanation: You can only include DECLARE statements in a context file. These statements include DECLARE TRANSACTION, DECLARE ALIAS, and DECLARE TABLE. User Action: Remove everything but DECLARE statements from the context file.
NO_ENDCOM
No comment terminator found Explanation: A PL/I begin comment was found (/*) and no corresponding end comment (*/) was found before the end of the program. User Action: Insert the comment terminator.
NO_ENDEXEC
An EXEC SQL flag was found before the previous END-EXEC flag. Explanation: The previous SQL statement was missing its END-EXEC flag. Every COBOL SQL statement must be preceded by EXEC SQL and be terminated by END-EXEC. A period may optionally follow the 'END-EXEC' flag. User Action: Add an END-EXEC flag to the previous SQL statement. Make sure that the END-EXEC flag has no embedded spaces, and that there is no COBOL terminator period before the END-EXEC flag.
NO_FILFND
File <text> not found for input to the SQL processor Explanation: Attempted to open a nonexistent file. User Action: Check the file specified. Supply complete file specification.
NO_HDRPLAN
Module header is not legal in a plan file Explanation: You have put the module header in a plan file. User Action: Use DECLARE MODULE in the plan file and put the module header in the module.
NO_INCFND
Could not find file <text> named in INCLUDE statement Explanation: You attempted to include a nonexistent file. User Action: Check the file specification in the INCLUDE statement. Supply a complete file specification. Note that the default file extension is .SQL.
NO_NUMERIC
<text> is being converted from NUMERIC to <text>. Explanation: NUMERIC is not a supported data type. The SQL interface to Rdb/VMS converts NUMERIC columns or types to a supported data type. User Action: None. This is an informational message only.
NO_PLNFND
Context file <text> was not found for input to the precompiler Explanation: Attempted to open a nonexistent context file. User Action: Check the file specified. Supply a complete file specification.
NO_SQLDA
The SQLDA cannot be used in FORTRAN or COBOL Explanation: PL/I is the only host language that supports the SQLDA. This means you can only use the PREPARE...INTO and DESCRIBE statements in PL/I programs. The only dynamic features supported by COBOL and FORTRAN are EXECUTE IMMEDIATE and EXECUTE, OPEN, and FETCH with host variable lists. User Action: Remove references to the SQLDA from COBOL and FORTRAN programs.
NO_STMTB4HDR
Statements not allowed before MODULE header Explanation: You entered some declare statements before a MODULE header in a Module Language Program. User Action: Put the statements in a plan file or following the MODULE header.
NO_SUCH_FIELD
Domain <text> does not exist in this database or schema Explanation: You specified a domain that does not exist in the database or schema. User Action: Check database or schema entity definitions for the valid type names.
NO_TRIGGER_VALS
The values in the row are not available for this trigger Explanation: You tried to refer to the values in the row that was changed in a trigger action. The values are not available in an action if action does not specify FOR EACH ROW or is triggered at a time when values are not supported. User Action: Rewrite your trigger so that values are available or there are no references to the values.
NO_TXNOUT
No transaction outstanding Explanation: You attempted to terminate a transaction with a COMMIT or a ROLLBACK when no transaction was outstanding. SQL does not start a transaction when you issue a DECLARE TRANSACTION, but waits until it encounters the first statement that requires a transaction. User Action: Execute a statement that requires a transaction before issuing COMMIT or ROLLBACK. All statements except DECLARE TRANSACTION, DECLARE ALIAS, CREATE DATABASE, ATTACH and DROP DATABASE require transactions.
NO_UNSNUMERIC
<text> is being converted from UNSIGNED NUMERIC to <text>. Explanation: UNSIGNED NUMERIC is not a supported data type. The SQL interface to Rdb/VMS converts NUMERIC columns or types to a supported data type. User Action: None. This is an informational message only.
NSEGBLR
unable to recover BLR string Explanation: Attempt to import a BLR list with more than one segment. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
NULLNOIND
Tried to store null into host variable with no indicator variable Explanation: Null values can only be stored in host variables which have indicator variables. User Action: Add an indicator variable to the host variable reference or make sure that no null values can be returned to it.
NUMCMPTXT
Numeric column will be compared with string literal as text Explanation: You tried to compare a text literal with a numeric column. The numeric column is converted to text and the comparison is made from left-to-right, character by character. This can lead to unexpected results. For example, the comparison N between "0001" and "0999", no matter what N is, will never be true, because N is converted to text without a leading zero and compared alphabetically with the two string literals. User Action: None, as long as you understand the semantics of the operation. You should be aware that the comparison will take place between text values.
NUMHVSNOT
Number of host variables passed (<value>) does not match number of parameters (<value>) Explanation: The number of host variables you passed in to an EXECUTE, OPEN, or FETCH statement does not match the number of parameter markers (question marks) in the PREPARE statement's command string. User Action: Make sure the number of host variables matches the number of parameter markers in the PREPARE statement. There are two ways to pass in host variables. One, explicitly pass in a list of host variables in a USING list. Or two, pass in an SQLDA in a USING DESCRIPTOR clause. If you are using an SQLDA, you must specify in the SQLDA SQLN field the number of SQLVAR structures you have initialized to point to your variables.
NUMITESEL
Number of items selected does not match number items in the INTO clause Explanation: A SELECT statement must have as many values in the select list as there are in the INTO clause. User Action: Enter the same number of columns in the select list and the INTO clause. If you are using 'SELECT *', check the columns that are defined in the selected table.
NUMXPREXP
A numeric expression was expected Explanation: A numeric literal, a numeric host variable, was expected but something else was found. User Action: Correct the syntax error.
NUM_TO_DATE
Numeric data in column <text> cannot be converted to a date data type Explanation: Rdb will not allow numeric data types to be converted to date User Action: Do not try it again.
OLDNAMWAS
previous name was <text> Explanation: Information about the Rdb/VMS interchange file (.RBR). User Action: None.
ONEEPERM
only one E character is permitted in an edit string Explanation: An edit string contains more than one E character. Only one is allowed. User Action: Redefine the edit string with only one E character.
ONETXNMOD
Only one DECLARE TRANSACTION statement is allowed per module Explanation: You can use only one DECLARE TRANSACTION statement in a preprocessed module. It must occur before the first executable statement (SELECT, INSERT, UPDATE, CREATE, etc.). User Action: Only use one DECLARE TRANSACTION statement in a module.
ONLFIRPRE
Only the first file in the list will be precompiled Explanation: You specified a list of files to be processed. This list will be passed along to the compiler with the first file replaced by the generated language file. However, only the first file in the list will be precompiled. User Action: If more than one of the files has SQL statements, they must be precompiled in separate command lines. If you want only the first file precompiled, then no user action is neccessary.
ONLFIRVAR
Only first variable in qualified variable expression Explanation: COBOL allows only the first variable in a qualification to be an array. The preprocessors do not recognize the arrays of arrays constructs in FORTRAN, COBOL or BASIC. User Action: Rewrite the query and check the appropriate language reference manual.
ONLONEDB
Only one database can be referred to in this statement Explanation: You cannot use objects from more than one database in a SELECT, UPDATE, DELETE or CREATE statement. You can, however, refer to tables from one database in an INSERT statement and refer to tables in another database in the SELECT which provides the values for that INSERT statement if the insert statement is not part of a trigger definition. User Action: Use separate statements for multiple database access.
ONLONETRN
Only one transaction allowed at a time Explanation: Only one transaction is allowed at a time. Note that SQL starts a transaction, even if none was previously declared, on the first data manipulation statement. User Action: Issue a COMMIT or ROLLBACK statement to terminate the transaction, then declare another.
ONLVALLST
Only a value list is valid in an INSERT LIST CURSOR statement Explanation: The only valid expression is a value list. User Action: Use only a VALUES expression.
ONLY1LIST
Only one list column may be specified Explanation: The list specification specifies more than one column in the SELECT list. List cursors are limited to processing only a single list. User Action: DECLARE a separate list cursor for each list.
ONLY1TBL
Only one table may be specified in an INSERT or LIST CURSOR Explanation: It is illegal to specify more than one table in an INSERT or LIST CURSOR. User Action: Limit usage to specifying only a single table.
ONLYONEPSECT
Only one PSECT statement per module is supported Explanation: The PSECT directive may only be used once per module. User Action: Decide which PSECT statement is really desired and delete all others.
OPENERR
unable to open <text> as the interchange file Explanation: Could not access the Rdb/VMS interchange file (.RBR). User Action: Correct the problem indicated by subsequent messages and try the operation again.
OPRSTK_OVRFLO
Operator stack overflow Explanation: The internal limit of the parsing operator stack was exceeded. User Action: Submit an SPR with the query that caused the error.
PARAMNOTSTR
Parameter <text> in procedure <text> must be a character parameter Explanation: You used the parameter as a runtime parameter for a filename or pathname in a DECLARE SCHEMA statement. Such parameters must be declared in every procedure in the module, and must be character data types. The parameter in this procedure is not a character data type User Action: Declare the parameter as a character variable in the procedure. The use of DECLARE SCHEMA is deprecated and should be changed to use DECLARE ALIAS and connect.
PARAMQUAL
Parameters must not be qualified Explanation: A reference to a parameter included qualifiers. You cannot qualify parameters. User Action: Define the parameter in the procedure, or use a parameter name which is defined in the procedure.
PARBADCLA
Parameter <text> passed by invalid descriptor class (<value>) Explanation: The parameter was passed to a module language procedure by descriptor when parameter checking was enabled and the class of the descriptor was not a supported descriptor class. User Action: Correct the argument in the host language program
PARBADDAT
Parameter <text> has invalid data type: <value> declared, <value> passed. Explanation: The parameter was passed to a module language procedure with a different data type than it was declared in the procedure. The codes for the data type as declared and as passed are specified in the message. The codes are from the DSC$B_DTYPE from the descriptor. See the "Introduction to VMS System Routines" manual for these codes. User Action: Make the parameter agree in the module and the host language.
PARBADLEN
Parameter <text> has invalid length: <value> declared, <value> passed. Explanation: The parameter was passed to a module language procedure with a different length than it was declared in the procedure. The error message indicates the length of the parameter as declared in the module, and the length of the parameter passed at run-time. User Action: Make the parameter agree in the module and the host language.
PARBADSCA
Parameter <text> has invalid scale: <value> declared, <value> passed. Explanation: The parameter was passed to a module language procedure with a different scale than it was declared in the procedure. The error message indicates the scale of the parameter as declared in the module, and the scale of the parameter passed at run-time. User Action: Make the parameter agree in the module and the host language.
PARBINSCA
Parameter <text> has a binary scale factor Explanation: The parameter was passed to a module language procedure with a binary scale factor. SQL supports only decimal scale factors. User Action: Either do not use a scale factor, or use a data type with which your language uses decimal scale factors. For example, PL/I uses binary scale factors with fixed binary data and decimal scale factors with fixed decimal data. If you want to use scale factors, use fixed decimal. Be sure to change the module to agree with the new data type.
PARMLISTREQ
FETCH LIST statements require a parameter list Explanation: The FETCH LIST statement requires that the user explicitly specify a parameter list. User Action: Specify the parameter list.
PARSE_STACK_OVERFLOW
Parse stack overflow Explanation: The internal limit of the parsing stack were exceeded. User Action: Submit an SPR with the query that caused the error.
PASPRGNOTFND
No Pascal program was found Explanation: No Pascal program was found in the input preprocessor file. The embedded SQL statements can only be processed within a program block. User Action: Add a program block around the SQL statements.
PASRECUNS
Host variable <text> is based on a record type that is unsupported Explanation: The host variable you referred to is based on a record type which is unsupported. User Action: Use a different type defintion.
PASVARUNS
Host variable <text> is based on a record type that uses variants Explanation: The host variable you referred to is based on a record type which uses Pascal variants. SQL does not support types which include variants. User Action: Use a different type definition.
PATH_NAM_REQ
PATHNAME clause necessary when the dictionary is required Explanation: When you create a database using the DICTIONARY IS REQUIRED clause, then you must also specify the PATHNAME clause. User Action: Change the CREATE DATABASE statement to either add the the PATHNAME clause or to remove the DICTIONARY IS REQUIRED clause.
PHYBACDAT
it was physically exported on <text> Explanation: Information about the Rdb/VMS interchange file (.RBR). User Action: None.
PKCONSNOTCB
Computed column may not be a primary key Explanation: You specified a primary key constraint for a computed column, which does not support this constraint. User Action: Remove the primary key constraint from this definition.
PKGNAMCHG
The SQL package name has been changed from <text> to <text> Explanation: The name of the ADA source file is used to generate the name of a SQL package. Because the SQL package name is not a legal ADA name, the package name is changed to a legal ADA name. User Action: If the SQL package name and declaration file must be the same name as the ADA source file, then change the name of the ADA source file. If not, no user action is required.
PKNOTNULL
Column <text> is used in a primary or unique key but permits
NULL values
Explanation: You specified a column in a primary or unique key
definition which permits NULL values. The current ANSI and
ISO SQL standards require that only fields for which NOT
NULL is specified may be included in a primary or unique
key.
User Action: If it is important to have only standard syntax in
your program, you should either remove the column from the
primary or unique key, or add the NOT NULL attribute to
the column.
PREFORSTR
The host variable in the PREPARE FROM clause must be a string. Explanation: A host variable in the FROM clause of a PREPARE statement must have a string data type. User Action: In COBOL declare the variable to be PIC X(n). In PL/I declare the variable to be CHAR(n). In FORTRAN, declare the variable to be CHARACTER XYZ*n.
PREMATURE_EOF
Statement is syntactically incomplete Explanation: You entered a syntactically incomplete statement. User Action: Complete the statement before typing "RETURN".
PREPCDDVER1
The time stamp on the data dictionary node Explanation: Used in the preprocessors to print out what versions of Rdb were used. User Action: None --
PREPCDDVER2
The full pathname used to access the data dictionary Explanation: Used in the preprocessors to print out what versions of Rdb were used. User Action: None --
PREPCDDVER3
The file specification found in the data dictionary Explanation: Used in the preprocessors to print out what versions of Rdb were used. User Action: None --
PREPDBVER
The underlying software versions are: Explanation: Used in the preprocessors to print out what versions of Rdb were used. User Action: None --
PREPNOCTXSTR
This statement may not be prepared with a context structure Explanation: A PREPARE or EXECUTE IMMEDIATE with an embedded USING CONTEXT clause or in a module language procedure with a context parameter was passed a statement which may not be prepared with a context structure. User Action: If you are using a precompiled program, remove the USING CONTEXT clause. If you are calling a module language procedure, either remove the procedure name from the /CONTEXT=(...) list or, if /CONTEXT=ALL is used, pass a zero as the address of the context structure or fill the distributed TID portion of the context structure with zeroes.
PREPPROMPT
INPUT FILE> Explanation: The prompt used in the preprocessors User Action: None --
PRESTAOPE
Cannot prepare or release statement name used by an open cursor Explanation: You declared a cursor based on a prepared statement name and opened the cursor. While that cursor was still open, you tried to prepare or release the same statement name. User Action: Close the cursor or end the transaction before using a PREPARE or RELEASE statement with the same statement name.
PRIKEYEXI
Table <text> already has a primary key Explanation: You specified a primary key definition for a table which already had one. A table can have only one primary key. User Action: Remove the primary key definition from the statement, or delete the existing primary key before executing the statement.
PRINT_SSID
Segmented String id for <text> will be displayed Explanation: One of the columns specified in the select list of a SELECT statement is a list. SQL does not support the Rdb Segmented String data type, but displays the segmented string identifier for interactive SELECT statements. The segmented string identifier is an internal value which will probably not be meaningful. User Action: Ignore the values displayed for the segmented string column.
PROCNOCA
Procedure <text> has neither an SQLCA nor SQLCODE parameter Explanation: A module language procedure must have either an SQLCA or an SQLCODE parameter declared. This procedure had neither. User Action: Add either an SQLCODE or SQLCA parameter.
PROCSTATWO
Procedure <text> has more than one SQLCA or SQLCODE parameter Explanation: A module language procedure must have either an SQLCA or an SQLCODE parameter declared. This procedure had more than one. User Action: Remove an SQLCODE or SQLCA parameter.
PROMPT
SQL> Explanation: This message is used as the SQL prompt. --
PRPSELINTO
Preprocessed SELECT statements must include an INTO clause Explanation: A preprocessed SELECT statement needs a place to put the data it retrieves. An INTO clause is required to specify where to put the data. User Action: Add an INTO clause to the SELECT statement.
PRVERRSDTPUNK
Data type unknown due to previous errors Explanation: Due to previous errors, the precompiler or module language compiler does not understand either side of an assignment. User Action: Correct errors previously reported, and recompile.
PTR_VAR
Host variable <text> is a pointer variable which is illegal in SQL statements. Explanation: The named variable is defined as a C pointer variable. These variables are currently not supported by the C precompiler. User Action: Use a different variable.
PUTOPESEG
Attempt to put to an opened list Explanation: You attempted to do a SEGSTR.PUT using a handle returned by a SEGSTR.OPEN statement. You can only do SEGSTR.GETs using the handle returned by open. User Action: Specify the correct handle
QUAINVVAL
An invalid value <text> was specified for <text> Explanation: You specified an invalid value for a command line qualifier User Action: Correct the command line syntax error.
QUALNOTALLOW
A qualified name is not allowed in this context Explanation: A qualified name was entered by the user where a non-qualified name was required. User Action: Reenter the statement omitting the illegal name qualifier.
QUANOVAL
The <text> qualifier does not take a value Explanation: You specified a value for a command line qualifier which cannot have a value. User Action: Correct the command line syntax error.
QUERYCAN
Query cancelled at user's request Explanation: The query was cancelled at the user's request. User Action: No action required. If the query was cancelled due to its complexity, try a simpler query.
QUERYLIMPOS
Query limit must be a positive number Explanation: The limit of the number of rows or the number of seconds must be positive. User Action: Change the SET statement of compiler qualifiers to specify a positive value.
RDBVMSONL
Operation supported for Rdb/VMS databases only Explanation: You issued a GRANT or REVOKE statement on a non-Rdb/VMS database. The SQL interface to Rdb/VMS supports GRANT and REVOKE for Rdb/VMS databases only. User Action: Do not issue any GRANT or REVOKE statements with this database.
REANOWRT
A READ_ONLY transaction can not specify write locks. Explanation: The transaction was specified as READ_ONLY but a table in the RESERVING clause was locked for write access. This is a conflict of access modes. User Action: Declare the transaction READ_WRITE or use a read lock. Note that the default is always READ_WRITE.
REAONLATT
You specified other attributes in addition to READ ONLY Explanation: You specified other attributes in addition to READ ONLY in the ALTER STORAGE AREA clause. If you specify READ ONLY, you cannot include other attributes in the same statement. User Action: Specify the other attributes in separate ALTER DATABASE statements.
RECEXCMAX
size of edit string exceed internal data structure limits Explanation: The length of an edit string exceeds the size of the internal data structures that used to represent it. User Action: Temporarily reduce the size of the edit string and submit an SPR including a description of the table and domains that produce this error.
REFKEYCOL
Referencing column <text> and corresponding referenced column <text> do not match Explanation: A referencing column and its corresponding referenced column must have the same data type, size and scale. These 2 columns do not. User Action: Specify a referential constraint where the columns all match.
REFKEYNUM
The referencing and referenced columns have different lengths Explanation: The referencing column list and the referenced column list (explicit or implicit) must have the same number of columns. They do not for this referential constraint. User Action: Change the lists to match.
RELNOTDEF
Table <text> is not defined in database or schema Explanation: The specified table does not exist in the current database or schema. User Action: Declare the correct database or schema. Spell the table name correctly. You may have specified a name other than a table name.
REL_EXISTS
Table <text> already exists in this database or schema Explanation: You attempted to create a table with the name of an existing table User Action: Choose a different name.
REMNOTALW
a remote source database is not allowed to be replicated Explanation: You were attached to a database on a remote node when you tried to create a replication mode transfer using the CREATE TRANSFER statement. User Action: Create an extraction transfer instead of a replication mode transfer.
REORGONLALTSM
REORGANIZE is only legal with ALTER STORAGE MAP Explanation: You specified the REORGANIZE clause in a statement other than ALTER STORAGE MAP. User Action: Remove the REORGANIZE clause.
RESABORT
terminating the IMPORT operation Explanation: The IMPORT operation has been aborted; see the messages preceding this one. User Action: None.
RESERVED_WORD
<text> is a keyword. It cannot be used as a name Explanation: You entered a keyword where a name was expected. User Action: Specify a unique name instead of the keyword.
RESRELMSG
IMPORTing table <text> Explanation: Information about the Rdb/VMS interchange file (.RBR). User Action: None.
RESVIEMSG
IMPORTing view <text> Explanation: Information about the Rdb/VMS interchange file (.RBR). User Action: None.
RESWORDCHKOFF
ANSI identifier checking is OFF Explanation: Identifiers are not checked for keyword status: see above for full explanation. No keyword checking is the standard behavior in SQL89. This checking behavior is turned on by the SET RESERVED WORDS ON command and turned off by the SET RESERVED WORDS OFF command.
RESWORDCHKON
ANSI identifier checking is ON Explanation: Identifiers are checked for keyword status: if they are keywords in SQL89 or SQL2 then they are flagged as such. This checking behavior is turned on by the SET RESERVED WORDS ON command and turned off by the SET RESERVED WORDS OFF command.
RES_KEYWORD
<text> is a reserved word in SQL and cannot be used as an identifier Explanation: The identifier is a SQL keyword and cannot be used as an identifier User Action: Use an identifier that is not in the set of valid SQL keywords
RES_WORD_AS_IDENT
Keyword <text> used as an identifier Explanation: You used a ANSI keyword as an identifier. User Action: Use ANSI QUOTING rules and double quotes.
RETRYPOS
The retry count must be positive Explanation: The count specified in the RETRY clause of the CREATE SCHEDULE statement must be positive. User Action: Re-enter the schedule definition with a positive retry count.
REVENTANS
REVOKE ENTRY is not supported for databases with ANSI privileges Explanation: You executed a REVOKE ENTRY statement in a database that has ANSI style privileges. There are no entries in ANSI style privileges so this is not supported. User Action: Execute the statement again specifying the privileges you would like to revoke.
RTCSASS_C2C
Cannot convert from character to character in the specified character set Explanation: A runtime conversion from character to character was specified, but the character sets weren't compatible. Use Action: Choose a different character set for the target.
RTCSASS_C2N
Cannot convert from character in the specified character set to numeric Explanation: A runtime conversion from character to numeric was specified, but the character set of the character field doesn't support ASCII. User Action: Choose a different character set for the target.
RTCSASS_D2C
Cannot convert from date to character in the specified character set Explanation: A runtime conversion from date to character was specified, but the character set of the character field doesn't support ASCII. User Action: Choose a different character set for the target.
RTCSASS_N2C
Cannot convert from numeric to character in the specified character set Explanation: A runtime conversion from numeric to character was specified, but the character set of the character field doesn't support ASCII. User Action: Choose a different character set for the target.
SATURDAY
Saturday Explanation: Days of the week for date formatter.s
SCHCATMULTI
Schemas and catalogs may only be referenced with multischema enabled Explanation: You used a statement that referred to a logical schema or catalog but multischema was not enabled. This is not allowed. User Action: Enable multischema using the SET MULTISCHEMA ON statement in interactive or dynamic SQL, the MULTISCHEMA option of the /SQLOPTION qualifier in the precompiler, or the /MULTISCHEMA qualifier in the module processor.
SCHEMA_CDDFILE
Database data dictionary Filename: <text> Explanation: Used in command line summary in precompiler --
SCHNOABSTIM
EVERY or RETRY EVERY must not specify an absolute time
Explanation: You entered an absolute time for the EVERY or
RETRY EVERY clause of the CREATE SCHEDULE statement.
User Action: Use a delta time or, for the EVERY clause, use a
day of the week, DAY, WEEK, or MONTH.
SCHNOTDEF
Schema <text> is not defined Explanation: The specified schema does not exist in the specified catalog. User Action: Check the spelling of the schema name and ensure that it is the name of a schema in the specified catalog.
SCH_EXISTS
Schema <text> already exists Explanation: You attempted to create a schema in the specified catalog with the name of an existing schema in that catalog. User Action: Choose a different name for the new schema.
SEGAREERR
List area <text> referred to but not defined
Explanation: The CREATE DATABASE statement indicated that lists
must be stored in a specific storage area, but that storage
area was never created.
User Action: Change the CREATE DATABASE statement to include a
CREATE STORAGE AREA statement with the name referred to
by the LIST clause.
SEGSTRAWAS
List Storage Area was <text>, now is <text> Explanation: Database JOURNAL ALLOCATION as found in the interchange (.RBR) file. New size was specified by user. User Action: None.
SEGSTREXP
Cannot use a list in an expression Explanation: You attempted to use a list column in an expression. Segmented strings may be used only in expressions using the NULL operator. User Action: Remove the operations on the list from the DML query.
SELMORVAL
The result of a singleton select returned more than 1 value Explanation: A singleton select statement (SELECT...INTO) may only return 1 row of values. The result table for this singleton select contains more than one row. User Action: Either embed the SELECT statement (without the INTO clause) in a DECLARE CURSOR statement and process it with OPEN and FETCH statements, or modify the SELECT statement so it will return only one row.
SESNOTENA
This module is not capable of handling multiple sessions Explanation: The procedure contains a session-oriented command, but the compiled module doesn't support sessions. User Action: Choose the /SESSION or SQLOPTION=(SESSION) when compiling the module in question.
SEVERRDET
A severe error was detected Explanation: This is the exit status for a preprocessor when a severe error is detected. User Action: Fix the error.
SHCON
Constraints in Explanation: Used in the SHOW Constraints commands --
SHCONNONE
No constraints found Explanation: Used in the SHOW Constraints commands --
SHCONREL
Constraints referencing table <text>: Explanation: Used in the SHOW Constraints commands --
SHDBCDD
The databases at the current data dictionary node. Explanation: Used in the SHOW DATABASES ALL statement --
SHDBFIL
Database with filename <text> Explanation: Used in the SHOW statement --
SHDBINFIL
Database with alias <text> in file <text> Explanation: Used in the SHOW VERSION statement --
SHDBPTH
database with pathname Explanation: Used in the SHOW statement -
SHDESCEND
descending Explanation: Used in the SHOW INDEXES statement --
SHEXECOFF
The EXECUTION MODE is OFF Explanation: Used in SHOW EXECUTION [MODE] User Action: none.
SHEXECON
The EXECUTION MODE is ON Explanation: Used in SHOW EXECUTION [MODE] User Action: none.
SHFLDGBL
based on domain <text> Explanation: Used in the SHOW FIELDS FOR table_name statement --
SHFLDNONE
No columns Found Explanation: Used in the SHOW COLUMNS statement --
SHFLDREL
Columns for table <text>: Explanation: Used in the SHOW COLUMNS FOR table statement --
SHFLDVIEW
Columns for view <text>: Explanation: Used in the SHOW TABLES statement. --
SHINDDR
Indexes on table <text>.<text>: Explanation: Used in the SHOW INDEXES statement --
SHINDDUP
duplicates are allowed Explanation: Used in the SHOW INDEXES statement --
SHINDF
and column <text><text> Explanation: Used in the SHOW INDEXES statement --
SHINDFLDSIZE
size of index key is <value> Explanation: Used to display the number of characters used in the key for an index. The size of index key is the minimum length for the column used for the key. User Action: None.
SHINDIF
AF with column <text><text> Explanation: Used in the SHOW INDEXES statement --
SHINDMAPVAL
mapping values <text> to <text> Explanation: Uses values from <low> to <high> to minimize space needed for index node. User Action: None.
SHINDMAPVAL2
this space for hire Explanation: Uses values from <low> to <high> to minimize space needed for index node. User Action: None.
SHINDNDUP
no duplicates allowed Explanation: Used in the SHOW INDEXES statement --
SHINDNONE
No indexes found Explanation: Used in the SHOW INDEXES statement --
SHINDR
Indexes on table <text>: Explanation: Used in the SHOW INDEXES statement --
SHODEPROFF
The Warning mode for Deprecated Features is OFF Explanation: Used in SHOW WARNING [MODE] User Action: None.
SHODEPRON
The Warning mode for Deprecated Features is ON Explanation: Used in SHOW WARNING [MODE] User Action: None.
SHOFLAGOFF
The FIPS Flagger mode is OFF Explanation: Used in SHOW FLAGGER [MODE] User Action: None.
SHOFLAGON
The FIPS Flagger mode is ON Explanation: Used in SHOW FLAGGER [MODE] User Action: None.
SHOTABMAPDR
Storage Map for table <text>.<text>: Explanation: Used in SHOW TABLE
SHRELNONE
No tables found Explanation: Used in the SHOW TABLES statement --
SHTYPNONE
No Domains Found Explanation: Used in the SHOW DOMAINS statement --
SHVIEW
AF A view. Explanation: Used in the SHOW statement --
SHVIEWNONE
No Views Found Explanation: Used in the SHOW TABLES statement --
SMA_DAT_TYP
Altering column <text> to a smaller data type may cause data loss Explanation: Altering a column to a smaller data type might cause data already stored in that column to appear lost. User Action: None. This is a warning message only.
SPACREQ
A space is required before file specification Explanation: A space is required to parse the begining of the file specification. User Action: Run the preprocessor again and include a space before the file specification.
SPANOTVAL
Space management options not valid on areas with uniform page format Explanation: Space management options of thresholds, interval or both were specified for an area with a uniform page formats. User Action: Remove the space management option(s) from the storage area with uniform page format, or change the storage area with the specified space managment option(s) to have mixed page format.
SQL41UNAS1
UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE Explanation: User Action:
SQL41UNAS2
UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE Explanation: User Action:
SQL41UNAS3
UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE Explanation: User Action:
SQL41UNAS4
UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE Explanation: User Action:
SQL41UNAS5
UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE Explanation: User Action:
SQLCHSCALE
An invalid SQLCHRONO_SCALE value of <value> was found in the SQLDA Explanation: You passed in an SQLDA with a illegal SQLCHRONO_SCALE value. User Action: You must enter a valid SQLCHRONO_SCALE value in every SQLCHRONO_SCALE field in the prepared command string that SQLD indicates is necessary. For datetime values, this is is a value indicating the subtype of the datetime.
SQLDANOT
SQLDA not large enough (<value>) to handle number of parameters
(<value>)
Explanation: The SQLDA passed to PREPARE or DESCRIBE is not
large enough to handle all of the parameters in the associated
PREPARE command string.
User Action: Allocate an SQLDA to be large enough to have one
SQLVAR for each input or output parameter ('?') in the PREPARE
command string. Then set SQLN to indicate the number of SQLVARs
in the SQLDA.
SQLDATA
An SQLDATA field in the SQLDA was not initialized Explanation: You passed in an SQLDA with a SQLDATA value of zero in one of the SQLVAR blocks. User Action: You must enter nonzero values in every SQLDATA field in the prepared command string that SQLD indicates is necessary.
SQLLEN
An invalid SQLLEN value of <value> was found in the SQLDA Explanation: You passed in an SQLDA with a illegal SQLLEN value. User Action: You must enter a valid SQLLEN value in every SQLLEN field in the prepared command string that SQLD indicates is necessary. For interval values, this is is a value indicating the subtype of the interval.
SQLTYPE
An invalid SQLTYPE value of <value> was found in the SQLDA Explanation: You passed in an SQLDA with a illegal SQLTYPE value. User Action: You must enter a valid SQLTYPE value in every SQLTYPE field in the prepared command string that SQLD indicates is necessary.
SSTOOBIG
The segmented string ID for column <text> is <value> bytes, host variable must be the same size or larger. Explanation: The host variable you are using with the DBKEY is not the same size as the dbkey. User Action: Allocate a host variable which is the correct size.
STANOTDEF
The '<text>' statement has not been defined Explanation: You attempted to use a statement name in an EXECUTE or a DESCRIBE statement that had not been used in a PREPARE statement. User Action: Prepare a statement name before using it in an EXECUTE or a DESCRIBE statement.
STANOTSEL
Cursor can only be used with prepared SELECT statements Explanation: You attempted to declare a cursor based on a prepared statement that was not a SELECT statement. Cursors can be based only on SELECT statements. User Action: Use EXECUTE to execute this statement.
STAREQCOL
The standard requires a column in this context Explanation: The ANSI and ISO SQL standards require that you specify a column which is not in an expression in this context. User Action: If it is important to have only standard features in your program, you should change your querry to use a column here
STARNOTALL
Invalid use of asterisk - expected column name Explanation: You attempted to use the column wildcard (*) where SQL requires an explicit column name. User Action: Supply the names of the columns to be referenced.
STAROCUR
Nonstandard update of read-only cursor <text> Explanation: In the ISO and ANSI standards for SQL, a cursor is read-only if it includes an ORDER BY clause. Read-only cursors cannot be used in UPDATE or DELETE statements. User Action: If it is important to have only standard features in your program, you should change the cursor to not include the ORDER by clause, or not use it in an UPDATE or DELETE statement.
STATWOCUR
Cannot declare a second cursor based on statement <text> Explanation: A prepared statement can only have one cursor based on it. You tried to declare a second cursor based on the same prepared statement name used in a previous DECLARE CURSOR statement. User Action: Remove one of the cursor definitions from your program or base the second cursor on a different statement name.
STMTALREXI
<text> is the name of an existing dynamic statement Explanation: Another prepared statement name with the name given does not exist. User Action: Pass the name that does not match an existing statement name.
STOCOLERR
Not enough columns were specified in the USING clause Explanation: There were more literals specifed in the LIMIT clause of the storage map than there were columns in the USING clause. User Action: Either specify more columns in the USING clause, or reduce the number of literals in the LIMITS clause.
STOCOLUKN
Column specified in STORE clause, <text>, is unknown to table <text> Explanation: A column that did not exist in the table was used in the CREATE STORAGE MAP statement. User Action: Specify a valid column name.
STOMAPNOTDEF
Storage map <text> is not defined Explanation: The specified storage map does not exist in the specified schema. User Action: Check the spelling of the storage map name and ensure that it is the name of a storage map in the specified schema.
STOMAP_EXISTS
Storage map <text> already exists Explanation: You attempted to create a storage map in the specified schema with the name of an existing storage map in that schema. User Action: Choose a different name for the new storage map.
STOTABUKN
Table specifed in store clause, <text>, is unknown to this database or schema. Explanation: The table named in the CREATE STORAGE MAP statement does not exist in the database or schema. User Action: Specify a valid table name.
STRARRAY
Host variable <text> is either a structure array or in a structure array Explanation: The SQL precompilers do not support references to fields in a structure array (a host structure defined as an array). User Action: Assign the value in the structure array to a field which is not in a structure array before using it in an SQL statement.
STRCVTNUM
String literal will be converted to numeric Explanation: You tried to store a text literal into a numeric column. The string literal will be converted to a numeric data type, if possible. User Action: None. However, if the string literal cannot be converted to a numeric data type, an error will result.
STRINXPR
Host structure <text> used in a value expression Explanation: SQL statements can only refer to a host structure in contexts where the host structure can be expanded to a list of values. A value expression requires a single value, so host structures cannot be used there. User Action: Replace the host structure with an elementary item.
STRLITEXP
A string literal was expected Explanation: A string literal was expected but something else was found. User Action: Correct the syntax error.
STRLITMISQUO
String literal missing closing quote Explanation: The string in a user assignment statement is missing a closing quote. User Action: Insert one or more quotes as appropriate.
STRMORELE
The <text> structure has more elements than the <text> indicator vector Explanation: The specified structure has more elements than the indicator vector it is associated with. User Action: Make the indicator vector larger.
STRTOOBIG
String literal is too big Explanation: You entered a string literal with a length greater than 1024 characters. The length of a string literal must be less than or equal to 1024 characters. A likely cause of this error is an unmatched quote mark. User Action: Put missing quote marker, or use a string literal with no more than 1024 characters.
STRTOOLON
String expression must not be longer than <value> Explanation: The string expression must be shorter than the specified length. For example a database filespec must be less than 255 characters. User Action: Specify a shorter string expression.
STRXPREXP
A string expression was expected Explanation: A string literal, a character host variable, or USER was expected but something else was found. (Note that USER is not permitted in EXECUTE IMMEDIATE, and specifying it will also generate this message.) User Action: Correct the syntax error.
SUBNOGB
Subqueries in basic predicates cannot use GROUP BY Explanation: A subquery used in a basic predicate, such as WHERE CITY = (SELECT ...), cannot contain the GROUP BY clause. The ANSI standard does not support this. User Action: If it is important to have only standard SQL statements in your program, remove the GROUP BY clause or change the predicate to include ANY or ALL.
SUBTOOVAL
Column select expression specifies too many columns Explanation: A column select expression may only fetch one value unless it is in an EXISTS predicate. This means any column select expression that uses the column wildcard (*) must have only one-column tables in its FROM clause. User Action: If you specified more than one column explicitly, remove all but one. If you used a wildcard, explicitly name a single column instead.
SYMDEF
$., Explanation: These three symbols are different between the US and elsewhere in the world. To change the default symbols, this message may be changed. Note that this string must be three characters long otherwise the US's symbols are used.
SYM_EXP
One of the following symbols was expected: Explanation: You typed an unexpected keyword. User Action: Type a correct keyword.
SYNTAX_ERR
Syntax error Explanation: A syntax error was detected in a your SQL statement. User Action: Correct the syntax error and try the statement again.
SYSPAGFOR
Page format for system relations cannot be MIXED Explanation: The system relations for Rdb/VMS must be placed in an area that contains the uniform page format. User Action: Either create a separate storage area for RDB$SYSTEM or change the default page format to uniform.
SYSPAGUNI
Page format for system relations being changed to UNIFORM
Explanation: The storage area that contain the system relations
must have UNIFORM page formats. Either through the use of the
defaults, or by directly specifing PAGE FORMAT IS MIXED,
SQL has been told to use MIXED page format for the area
containing the system relations. SQL is overriding that
to UNIFORM pages.
User Action: Nothing. This is an informational message. The
user might want to change the command if it originated in a
command file. This may avoid confusion later.
S_ALGDIS
Adjustable lock granularity is disabled Explanation: Used in show commands User Action:
S_ALGENABLED
Adjustable lock granularity is enabled Explanation: Used in show commands User Action:
S_ALLINDDBF
All indexes in database with filename <text> Explanation: Used in show indexes --
S_ALLINDDBH
All indexes in database with alias <text> Explanation: Used in show indexes --
S_ALLINDDBP
All indexes in database with pathname <text> Explanation: Used in show indexes --
S_ALLTBLDBF
All tables in database with filename <text> Explanation: Used in show tables --
S_ALLTBLDBH
All tables in database with alias <text> Explanation: Used in show tables --
S_ALLTBLDBP
All tables in database with pathname <text> Explanation: Used in show tables --
S_ALLTYPDBF
All domains in database with filename <text> Explanation: Used in SHOW DOMAINS statement --
S_ALLTYPDBH
All Domains in database with alias <text> Explanation: Used in SHOW DOMAINS statement --
S_ALLTYPDBP
All domains in database with pathname <text> Explanation: Used in SHOW DOMAINS statement --
S_BATCH_UPDATE
Batch Update Explanation: Used in SHOW TRANSACTION statement> --
S_BLANKS
<text> Explanation: Used in the SHOW statement -
S_COLHDR1
Column Name Data Type Domain Explanation: Used in SHOW TABLES statement --
S_COLHDR2
----------- --------- ------ Explanation: Used in SHOW TABLES statement --
S_COMMENT
<text> Explanation: Used in SHOW TABLES statement --
S_COMMIT_CONST
Evaluating constraint <text> at commit time Explanation: Used in SHOW TRANSACTION statement> --
S_COMPUTED
Computed: <text> Explanation: Used in the SHOW statement -
S_COMTBL
Comment on table <text>: Explanation: Used in SHOW TABLES statement --
S_CONCOMMIT
Evaluated on COMMIT Explanation: Used in SHOW TABLES statement --
S_CONCURRENCY
Consistency Level 2 Explanation: Used in SHOW TRANSACTION statement> --
S_CONNODEFER
Evaluated on UPDATE, NOT DEFERRABLE Explanation: Used in SHOW TABLES statement --
S_CONSISTENCY
Consistency Level 3 Explanation: Used in SHOW TRANSACTION statement> --
S_CONSSGLLEV
Single level constraint <text> Explanation: a SINGLE LEVEL table constraint was specified
S_CONVERB
Evaluated on each VERB Explanation: Used in SHOW TABLES statement --
S_DBCDDPATH
* data dictionary pathname is <text> Explanation: Used for SHOW ALIAS --
S_DBHAN
Alias <text>: Explanation: Used for SHOW ALIAS --
S_DB_LCKTIM_INTVL
Lock timeout interval is <value> seconds Explanation: Used in show commands User Action:
S_DEFDB
Default alias: Explanation: Used for SHOW ALIAS --
S_DESCRIPTION
Comment: <text> Explanation: Used in the SHOW statement -
S_DICT
The current data dictionary is <text> Explanation: Used in the SHOW DICTIONARY statement --
S_FC_COM
commit to journal optimization, Explanation: Used in show commands User Action:
S_FC_INT
( checkpoint interval is <value> blocks, Explanation: Used in show commands User Action:
S_FC_NOCOM
no commit to journal optimization, Explanation: Used in show commands User Action:
S_FC_TIM
checkpoint timed every <value> seconds, Explanation: Used in show commands User Action:
S_FC_TSN
transaction interval is <value> ) Explanation: Used in show commands User Action:
S_FLDADT
<text> DATE VMS <text> Explanation: Displays a DATE field definition --
S_FLDB_NS
<text> TINYINT <text> Explanation: Displays an unscaled BYTE field definition --
S_FLDB_S
<text> TINYINT(<value>) <text> Explanation: Displays a scaled BYTE field definition --
S_FLDF
<text> REAL <text> Explanation: Displays an F FLOAT field definition --
S_FLDG
<text> DOUBLE PRECISION <text> Explanation: Displays a G FLOAT field definition --
S_FLDL_NS
<text> INTEGER <text> Explanation: Displays an unscaled longword field definition --
S_FLDL_S
<text> INTEGER(<value>) <text> Explanation: Displays a scaled longword field definition --
S_FLDNL
<text> NUMERIC(<value>,<value>) <text> Explanation: Displays an unscaled word field definition --
S_FLDNU
<text> UNSIGNED NUMERIC(<value>,<value>) <text> Explanation: Displays a scaled word field definition --
S_FLDP
<text> DECIMAL(<value>,<value>) <text> Explanation: Displays an unscaled word field definition --
S_FLDQ_NS
<text> BIGINT <text> Explanation: Displays an unscaled longword field definition --
S_FLDQ_S
<text> BIGINT(<value>) <text> Explanation: Displays a scaled longword field definition -
S_FLDSS
<text> VARBYTE LIST <text> Explanation: Displays a list of varbyte field definition --
S_FLDSS_BLR
Subtype: BLR Explanation: Displays a scaled longword field definition --
S_FLDSS_SEGLEN
Segment Length: <value> Explanation: Displays a scaled longword field definition --
S_FLDSS_TXT
Subtype: TEXT Explanation: Displays a scaled longword field definition --
S_FLDSS_TYP
Subtype: <value> Explanation: Displays a scaled longword field definition --
S_FLDT
<text> CHAR(<value>) <text> Explanation: Displays a text field definition --
S_FLDUNK
<text> Data type: <value> <text> Explanation: Displays a scaled longword field definition --
S_FLDVT
<text> VARCHAR(<value>) <text> Explanation: Displays a varying text field definition --
S_FLDW_NS
<text> SMALLINT <text> Explanation: Displays an unscaled word field definition --
S_FLDW_S
<text> SMALLINT(<value>) <text> Explanation: Displays a scaled word field definition --
S_GB_DISABLE
Global buffers are disabled (number is <value>, user limit is <value>) Explanation: Used in show commands User Action:
S_GB_ENABLED
Global buffers are enabled (number is <value>, user limit is <value>) Explanation: Used in show commands User Action:
S_INSERT_COUNT
<value> rows inserted Explanation: Used to displays counts of rows used. --
S_INTEGNPRES
Integrity is not preserved Explanation: Security overrides data integrity. Things like constraints will be ignored in order not to reveal the contents of secure data
S_INTEGPRES
Integrity is preserved Explanation: Data integrity overrides any security concern. Therefore, things like PRIMARY and UNIQUE key constraints will not be ignored because of security level
S_LINE
*- Explanation: Used in the SHOW TABLES * statement
S_LIST_STOMAP_NAME
<text> Lists Storage Map Explanation: Used in the SHOW STORAGE MAPS statement - only for the list storage map. Other maps use S_STOMAP_NAME. --
S_LOCK_ER
Reserving table <text> for exclusive read Explanation: Used in SHOW TRANSACTION statement> --
S_LOCK_EW
Reserving table <text> for exclusive write Explanation: Used in SHOW TRANSACTION statement> --
S_LOCK_PR
Reserving table <text> for protected read Explanation: Used in SHOW TRANSACTION statement> --
S_LOCK_PW
Reserving table <text> for protected write Explanation: Used in SHOW TRANSACTION statement> --
S_LOCK_SR
Reserving table <text> for shared read Explanation: Used in SHOW TRANSACTION statement> --
S_LOCK_SW
Reserving table <text> for shared write Explanation: Used in SHOW TRANSACTION statement> --
S_LONG_BLANKS
<text> Explanation: Used in the SHOW statement -
S_LONG_DESCRIPTION
description <text> Explanation: Used in the SHOW statement -
S_MULTLEV
Metadata is not single level Explanation: This is only applicable to an SERdb database. The database was created withoutt he SINGLE LEVEL ONLY root file param which means that multiple security levels (e.g. B1) would be allowed.
S_NOWAIT
Nowait Explanation: Used in SHOW TRANSACTION statement> --
S_PRIV_DB
Privileges on Alias <text> Explanation: Used in show protection --
S_PRIV_TBL
Privileges on Table <text> Explanation: Used in show protection --
S_PROT_DB
Protection on Alias <text> Explanation: Used in show protection --
S_PROT_TBL
Protection on Table <text> Explanation: Used in show protection --
S_QUERY_HEADER
Query Header: <text> Explanation: Used in the SHOW statement -
S_RDBVMSFIL
* Rdb/VMS database in file <text> Explanation: Used for SHOW ALIAS --
S_READONLY
Read only Explanation: Used in SHOW TRANSACTION statement> --
S_READ_WRITE
Read Write Explanation: Used in SHOW TRANSACTION statement> --
S_SERDBSEVMSFIL
* SERdb database in file <text> Explanation: The database was created as an SERdb: a secure database. This type of database offers various added security features.
S_SNGLEV
Metadata is single level Explanation: This is only applicable to an SERdb database. The database was created with the SINGLE LEVEL ONLY root file param which means that only one security level (e.g. B1) would be allowed. All attempts to specify other levels will be flagged as an error
S_SOURCE
Source: <text> Explanation: Used in SHOW TABLES statement --
S_STOAREA_READONLY
Access is: Read only Explanation: Used in SHOW STORAGE AREA
S_STOAREA_READWRITE
Access is: Read write Explanation: Used in SHOW STORAGE AREA
S_STOAREA_UNIFORM
Page Format: Uniform Explanation: Used in the SHOW STORAGE AREAS statement --
S_STOAREA_WRITEONCE
Access is: Write once Explanation: Used in SHOW STORAGE AREA
S_STOMAP_NAME
<text> Explanation: Used in the SHOW STORAGE MAPS statement --
S_SYSINDDBF
System indexes in database with filename <text> Explanation: Used in show indexes --
S_SYSINDDBH
System indexes in database with alias <text> Explanation: Used in show indexes --
S_SYSINDDBP
System indexes in database with pathname <text> Explanation: Used in show indexes --
S_SYSTBLDBF
System tables in database with filename <text> Explanation: Used in show tables --
S_SYSTBLDBH
System tables in database with alias <text> Explanation: Used in show tables --
S_SYSTBLDBP
System tables in database with pathname <text> Explanation: Used in show tables --
S_SYSTYPDBF
System domains in database with filename <text> Explanation: Used in SHOW DOMAINS statement --
S_SYSTYPDBH
System domains in database with alias <text> Explanation: Used in SHOW DOMAINS statement --
S_SYSTYPDBP
System domains in database with pathname <text> Explanation: Used in SHOW DOMAINS statement --
S_TBLINFO1
Information for table <text> Explanation: Used in the SHOW TABLES * statement --
S_TBLINFO2
End of information for table <text> Explanation: Used in the SHOW TABLES * statement --
S_TRANSBRIEF
<text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFCOMMENT
Comment <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFDEF
Definition for transfer <text>: Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFDEFINER
Definer <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFDEFNONE
No definition found Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFDELTA
Retry frequency <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFDESTDB
To <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFEPILOG
Epilogue file <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFERS
Transfers in transfer monitor database Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFINF1
Information for transfer <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFINF2
End of information for transfer <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFLAST
Last executed <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFLINE
*- Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFLOGFILE
Log file <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFMODEE
Type EXTRACTION Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFMODEER
Type EXTRACTION ROLLUP Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFMODER
Type REPLICATION Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNEXT
Next transfer <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNOEPI
No epilogue file Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNOLOG
No log file Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNONE
No transfers found Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNOPRIV
<text> No privilege for SHOW Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNOPRO
No prologue file Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFNOSTS
Last completion status Transfer has never executed successfully Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFPROLOG
Prologue file <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFRETRIED
Number of retries <value> times Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFRETRY
Number of retries <value> times Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCH
Schedule for transfer <text>: Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHDAY
Frequency Every day at <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHDLT
Frequency Every <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHDPW
Frequency Every <text> at UW:ZW:ZW.ZW Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHDPW2
Every <text> at UW:ZW:ZW.ZW Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHMON
Frequency Every month at <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHNONE
No schedule found Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHONC
Frequency One time only Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSCHWEK
Frequency Every week at <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSOURCE
<text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSRCDB
From <text> (Authorization ID <text>) Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSRCNOH
From <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTART
Start <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTATUS
Last completion status <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTS
Status for transfer <text>: Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSACT
State ACTIVE since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSNONE
No status found Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSRET
State RETRYING since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSSCH
State SCHEDULED since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSSSP
State SUSPENDED since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSUNS
State UNSCHEDULED since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRANSFSTSWTR
State WAITING TO RETRY since <text> Explanation: Used in the SHOW TRANSFER statement.
S_TRAN_BASESYS
Transaction information returned by base system: Explanation: Used in SHOW TRANSACTION statement> --
S_TRAN_DBHANDLE
On alias <text> Explanation: Used in SHOW TRANSACTION statement> --
S_TRAN_DECLARE
Transaction characteristics: Explanation: Used in SHOW TRANSACTION statement> --
S_TRAN_DEFDB
On the default alias Explanation: Used in SHOW TRANSACTION statement> --
S_TRAN_HEADER
Transaction information: Explanation: Used in SHOW TRANSACTION statement> --
S_TRAN_NOBASSYS
No transaction information returned by base system Explanation: Used in SHOW TRANSACTION statement> --
S_TRDPB2AIJ
AIJ <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AIJALL
AIJ allocation <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AIJCONT
AIJ continuous <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AIJEXT
AIJ extent <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AIJONCE
AIJ once <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AIJSPL
AIJ spool file <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2ALG
ALG <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2ALGDIS
Adjustable lock granularity is disabled Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2ALGENA
Adjustable lock granularity is enabled Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2ALLOC
Allocation is <value> pages Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2AUTO
Open automatic <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2BADCODE
(<value> other unknown parameters found) Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2BFLEN
Buffer size is <value> blocks Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2CDDMNT
CDD maintained <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2CDDPATH
CDD pathname <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2CDDREQ
CDD required <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2CHGSTO
Change storage <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2CONVERT
Convert <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2DBRBUFF
Number of recovery buffers is <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2DEFSTO
Define storage <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2DELSTO
Delete storage <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2DESCR
Description source <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2ENDSTO
End storage area <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXSGRW
percent growth is <value> pages ) Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXSMAX
maximum of <value> pages, Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXSMIN
Snapshot extent is ( minimum of <value> pages, Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXSPGS
Snapshot extent is <value> pages Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXTBLE
Extensible <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXTGRO
percent growth is <value> pages ) Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXTMAX
maximum of <value> pages, Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXTMIN
Extent is ( minimum of <value> pages, Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2EXTPGS
Extent is <value> pages Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2FILESPC
Filespec <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2FILETYP
File type <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2HEADER
Target database parameters Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2LAYRACC
Layered access <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2MANUAL
Open manual <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2NUMBF
Number of buffers is <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2NUMNODE
Number of VAXcluster nodes is <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2NUMUSR
Number of users is <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2PGSIZE
Page size is <value> blocks Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2PROT
Protection <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2READONL
Read only <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2REQSCO
Request scope <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SEGAREA
Segment area <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNAP
Snapshot <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPALL
Snapshot allocation is <value> pages Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPDIS
Snapshot is disabled Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPENA
Snapshot is enabled Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPEND
Snapshot is enabled deferred Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPENI
Snapshot is enabled immediate Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SNPFLG
SNP flag <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SPAMINT
Spam interval <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SPAMS
Spams <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SPMTHR1
Spam threshold 1 <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SPMTHR2
Spam threshold 2 <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2SPMTHR3
Spam threshold 3 <value> Explanation: Used in the SHOW TRANSFER statement.
S_TRDPB2STONAME
Storage name <value> Explanation: Used in the SHOW TRANSFER statement.
S_USRINDDBF
User indexes in database with filename <text> Explanation: Used in show indexes --
S_USRINDDBH
User indexes in database with alias <text> Explanation: Used in show indexes --
S_USRINDDBP
User indexes in database with pathname <text> Explanation: Used in show indexes --
S_USRTBLDBF
User tables in database with filename <text> Explanation: Used in show tables --
S_USRTBLDBH
User tables in database with alias <text> Explanation: Used in show tables --
S_USRTBLDBP
User tables in database with pathname <text> Explanation: Used in show tables --
S_USRTYPDBF
User domains in database with filename <text> Explanation: Used in SHOW DOMAINS statement --
S_USRTYPDBH
User domains in database with alias <text> Explanation: Used in SHOW DOMAINS statement --
S_USRTYPDBP
User domains in database with pathname <text> Explanation: Used in SHOW DOMAINS statement --
S_VALID
Valid If: <text> Explanation: Used in the SHOW statement -
S_VERB_CONST
Evaluating constraint <text> at verb time Explanation: Used in SHOW TRANSACTION statement> --
S_VIDANAM
* VIDA database with name <text> Explanation: Used for SHOW ALIAS --
S_WAIT
Wait Explanation: Used in SHOW TRANSACTION statement> --
S_WAIT_INTERVAL
Wait <value> seconds before timeout Explanation: Used in SHOW TRANSACTION statement.> --
TBLCOLAFT
You specified both COLUMN and TABLE privileges with a POSITION or AFTER clause Explanation: You specified both COLUMN and TABLE privileges in a GRANT or REVOKE statement with a POSITION or AFTER clause. Unless the ACLs are identical on both the column and the table, this could produce misleading results. User Action: Specify the column and table privileges in separate GRANT or REVOKE statements.
TBLCURDYN
List cursor <text> cannot reference dynamic table cursor, <text> Explanation: The list cursor named in the message references a table cursor that is dynamic. User Action: The list cursors for the table cursor must also be dynamic.
TBLNOTCUR
Table <text> is not included in cursor <text> Explanation: An UPDATE or DELETE statement that uses the CURRENT OF clause must name the same table specified in the cursor. User Action: Either change the UPDATE or DELETE statement to use the table specified in the cursor, or use a cursor declared for the table you specified.
TBL_CDD_NAME
CDD Pathname: <text> Explanation: Used by SHOW commands for showing data dictionary pathname information. User Action: None.
THRESHIGNO
Threshold clause with no specific storage area found in statement Explanation: You did not specify a storage area for the threshold clause. User Action: Please specify the storage area(s) or remove the threshold clause.
THRIGNSYS
Threshold options ignored for system relation area
Explanation: The storage area that contain the system relations
must have UNIFORM page formats. Either through the use of the
defaults, or by directly specifing THRESHOLD options, SQL has
been told to apply threshold options for the area
containing the system relations. SQL is ignoring those
options.
User Action: Nothing. This is an informational message. The
user might want to change the command if it originated in a
command file. This may avoid confusion later.
THRNOTSYS
Theshold option not valid for system relation area Explanation: The storage area for RDB$SYSTEM was defined to have threshold options. This is not allowed for RDB$SYSTEM. User Action: Remove the threshold option from the command and try again.
TOKINSBEF
<text> inserted before error symbol Explanation: When parsing an SQL statement, the parser encountered an error. The message for that error appeared prior to this message. In an attempt to recover from that error, SQL inserted the specified token before the token that generated the error, and generated this message to help you understand any additional messages that follow. User Action: None. This is an informational message only.
TOKTOOBIG
Symbol name is too big Explanation: You entered a symbol (token) name with a length greater than 32. The length of a symbol name must be less than or equal to 32 characters. User Action: Use a symbol with no more than 32 characters.
TOOBIGBLR
Request BLR is too large to execute Explanation: Your request is too large to compile. User Action: Break the DML statement into smaller parts.
TOOMANYNAMES
Too many levels of naming used without multischema Explanation: The user entered the name of an object which was qualified with too many names. When multischema is disabled (the default), table names may be qualified only by a schema name; column names may be qualified only by a schema and table name. User Action: In order to qualify a schema name, table name or column name with an additonal name for the catalog, multischema must be enabled using the MULTISCHEMA compiler option or the SET MULTISCHEMA statement in interactive or dynamic.
TOOMANYTBL
Table cursor, <text>, references more than one table Explanation: The table cursor named in the message references more than one table. User Action: Base the list on a table cursor that references only single table.
TRAACT
A database cannot be attached while a transaction is active Explanation: You issued an ATTACH statement while a transaction was still in progress. User Action: You must either COMMIT or ROLLBACK the current transaction or wait until the current transaction is terminated before attaching another database.
TRAACT_1
A database cannot be created or altered while a transaction is active Explanation: You issued a CREATE DATABASE or an ALTER DATABASE statement while a transaction was still in progress. User Action: You must either COMMIT or ROLLBACK the current transaction or wait until the current transaction is terminated before creating another database or altering an exsisting one.
TRAACT_2
ROLLBACK or COMMIT the transaction Explanation: You are attempting an operation that cannot be executed while the current transaction is still in progress. User Action: You must either COMMIT or ROLLBACK the current transaction or wait until the current transaction is terminated before attempting the new database activity.
TRAACT_3
A database cannot be dropped while a transaction is active Explanation: You issued a DROP DATABASE statement while a data manipulation transaction was still in progress. User Action: COMMIT or ROLLBACK the transaction, start a new transaction, and reissue the DROP DATABASE statement.
TRADBPNEWONL
Database parameters are only allowed for new database Explanation: You used one of the database parameter clauses in a transfer definition in which you used the TO EXISTING clause. Database parameters are only allowed with the TO NEW FILENAME clause. User Action: Use the TO NEW FILENAME clause or omit the database parameters in the transfer definition.
TRAHDLINV
Transaction handle data type invalid, must be longword Explanation: You specified a transaction handle that was not a longword. User Action: You must use !VAL and longword variable.
TRAMODSPC
Only one transaction mode may be specified for a transaction Explanation: You specified both the READ_WRITE and READ_ONLY transaction modes in a DECLARE TRANSACTION statement. User Action: Specify either transaction mode, not both, for a single database. You can specify different transaction modes for different databases in a single DECLARE TRANSACTION statement, however.
TRANOTOWNER
This transfer is not the owner of <text> <text> Explanation: The transfer definition attempts to create an object which already already exists in the target database and which is not owned by this transfer. That is, it was not created by this transfer. User Action: If the objects are not expected to exist in the target database when the transfer will be executed, the WITHOUT CHECKING option will avoid this error. Otherwise, those objects must be dropped in the target database before the transfer may be created.
TRANSFDISTREP
DISTINCT is not allowed in queries moved by replication transfers Explanation: The user entered the DISTINCT keyword in a query as part of a CREATE TRANSFER statement which defined a replication transfer. User Action: Re-enter the statement without the DISTINCT keyword.
TRANSFGRPBY
GROUP BY is not allowed in queries moved by CREATE TRANSFER Explanation: The user entered a GROUP BY clause in a query as part of a CREATE TRANSFER statement. User Action: Re-enter the statement without the GROUP BY clause.
TRANSFHAVING
HAVING is not allowed in queries moved by CREATE TRANSFER Explanation: The user entered a HAVING clause in a query as part of a CREATE TRANSFER statement. User Action: Re-enter the statement without the HAVING clause.
TRANSFSUBQRY
Subqueries are not allowed in queries moved by CREATE TRANSFER Explanation: The user entered a subquery in a query as part of a CREATE TRANSFER statement. User Action: Re-enter the statement without the subquery.
TRANSFUNIONALL
ALL keyword must be specified for union in CREATE TRANSFER Explanation: The user failed to enter the ALL keyword after the UNION keyword in the select expression as part of a CREATE TRANSFER statemetn. User Action: Re-enter the statement with UNION ALL, not just UNION.
TRATOEXEXTR
Existing target database is not allowed for this transfer type Explanation: You used the TO EXISTING clause in a REPLICATION or EXTRACTION ROLLUP transfer definition. This is only allowed for EXTRACTION transfers. REPLICATION and EXTRACTION ROLLUP transfers must create a new database. User Action: Use the EXTRACTION transfer type or the TO NEW FILENAME clause in the transfer definition.
TRATOEXPRIV
Insufficient privilege to create tables in target database Explanation: You used to the TO EXISTING clause specifying a database for which you do not have the CREATETAB privilege. User Action: Use the TO NEW FILENAME clause, specify an existing target database for which you have the CREATETAB privilege, or obtain
TRATOEXRDB
Existing target database must be an Rdb/VMS database Explanation: You used the TO EXISTING clause specifying a database which is not a Rdb/VMS database. User Action: Use the TO NEW FILENAME clause in the transfer definition or change the target database to an Rdb/VMS database.
TREE_OVRFLO
Tree storage overflow Explanation: The internal limit of the AST tree nodes was exceeded. User Action: Submit an SPR with the query that caused the error.
TRIGNOTDEF
Trigger <text> is not defined Explanation: The specified trigger does not exist in the specified schema. User Action: Check the spelling of the trigger name and ensure that it is the name of a trigger in the specified schema.
TRIG_EXISTS
Trigger <text> already exists Explanation: You attempted to create a trigger in the specified schema with the name of an existing trigger in that schema. User Action: Choose a different name for the new trigger.
TRNNOTBLS
No tables were found in the database or schema Explanation: The user entered MOVE TABLES *, but no tables were found. User Action: Re-enter the transfer definition for a schema which contains tables.
TRNNOVIEWS
No views were found in the database or schema Explanation: The user entered MOVE VIEWS *, but no views were found. User Action: Re-enter the transfer definition for a schema which contains views, or omit the MOVE VIEWS clause.
TWOIMPTXN
Attempt to declare second implicit transaction handle Explanation: An application linked against a shared image has more than one implicit transaction handle (PSECT RDB$TRANSACTION_HANDLE). You altered the PSECT attributes during linking of the shared image to create two different transaction handles. User Action: Don't alter the PSECT attributes of the RDB$TRANSACTION_HANDLE PSECT.
TXNNOTLONG
Transaction handle is not a longword. Explanation: Transaction handles must be defined using the VAX longword data type. User Action: Use a longword to declare the transaction handle: In COBOL, use PICTURE S9(9) COMP. In PL/I, use FIXED BINARY(31). In FORTRAN, use INTEGER*4.
TXN_HNDL_IGNORED
Transaction handle parameter ignored Explanation: Transaction handles currently are not supported. User Action: None; this is an informational message.
UKN_ALT_OPT
Unknown ALTER DATABASE option Explanation: The ALTER DATABASE statement contains an option that is not understood. User Action: Reenter the statement with the syntax supported by this version of SQL.
UNAOBTDSR
Unable to obtain database dsri level Explanation: SQL was unable to obtain the database information needed to establish its level of DSRI compliance. User Action: Make sure that all individual databases are DSRI compliant
UNBDECFIL
Unable to create declarations file <text> Explanation: SQL attempted to open a DECLARATIONS file but could not. User Action: Include a valid directory specification and valid declarations name.
UNBTMPFIL
Unable to open a temporary file called <text> Explanation: SQL attempted to open a temporary file. It was either in the default directory or the directory specified with the /OBJ compile switch. User Action: Include a valid directory specification with protection level that allows temporary files to created in it.
UNDEFVAR
Variable <text> is not defined Explanation: You referenced a host variable which is not defined. User Action: Either define the variable, or specify the name of a variable which is already defined.
UNDPARAM
Parameter <text> is not declared in procedure <text> Explanation: This error is generated in two situations. In the first, a procedure referred to a parameter which was not declared in the procedure. In the second, you used a column in a context where it could be a parameter reference and an indicator variable was specified (or a comma omitted). User Action: Define the parameter in the procedure, or use a parameter name which is defined in the procedure.
UNDVER
Underlying versions are: Explanation: Used for SHOW VERSION. User Action: None. --
UNICONSNOTCB
Computed column may not have UNIQUE constraint Explanation: You specified a unique constraint for a computed column, which does not support this constraint. User Action: Remove the unique constraint from this definition.
UNIKEYEXI
Column <text> is already part of a unique key Explanation: You specified a unique key definition for a column which is already mentioned in a unique key. A column may only be mentioned in one unique key. User Action: Enter the unique key definition without the column which was part of another unique key.
UNIONEXTROLL
Unions are only allowed by EXTRACTION ROLLUP transfers Explanation: You have specified for an EXTRACTION or REPLICATION transfer a query which is a union. User Action: Use multiple select expressions to achieve the desired result.
UNISELLIS
The standard requires the select lists of the selects for UNION to have the same number of columns Explanation: The select lists of the two select expressions in this UNION have a different number of elements. The ANSI and ISO SQL standards require that they have the same number of elements. User Action: If it is important to have only standard features in your program, you should change your selects to have the same number of items in the select list.
UNKTYPE
<text> is based on an unknown type Explanation: You referred to a host variable which was based on a host language the SQL precompiler does not support. User Action: Base the host variable on a host language the SQL precompiler supports.
UNMATEND
Unmatched end Explanation: The Pascal precompiler found more END statements than BEGIN statements. The scope for all variable declaration and usage is at the global level. This is caused by an error in the precompiler or an error in your program. User Action: Investigate if it is a error in your program. If it is an error in the precompiler, then please submit an SPR.
UNSCOMPBY
<text>.<text> is not supported in this context Explanation: You included the COMPUTED_BY field named in this error message in the SELECT FIELDS clause of a DEFINE TRANSFER statement. This COMPUTED_BY field uses a value expression that is unsupported. User Action: Reenter the DEFINE TRANSFER statement and omit the COMPUTED_BY field that uses the unsupported value expression. Refer to the DEFINE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported.
UNSDATASS
Unsupported date/time assignment from <text> to <text> Explanation: You attempted an unsupported assignment between dates. User Action: Check the documentation for valid date assignments. The two dates must be comparable. A secondary error message may provide a more precise reason for the error. The CAST function might be an appropriate workaround for a data type mismatch.
UNSDATATYPE
Host variable <text> is an unsupported data type Explanation: The host variable declaration uses a COMPLEX or REAL*16 FORTRAN data type. These data types are not supported. User Action: Either change the declaration so that only supported data types are used, or move the data to another data item which only uses supported data types.
UNSDATCVT
Unsupported DATE conversion Explanation: You tried to ALTER a column with a datatype of DATE to a numeric datatype. This is unsupported. User Action:
UNSDATXPR
Unsupported date expression Explanation: You attempted an operation on a date that is not supported. User Action: Check the documentation for valid date expressions. If you are using the preprocessors, you might be able to work around the limitation by using a temporary variable.
UNSDB2PRIV
Unsupported DB2 privilege ignored Explanation: A GRANT or REVOKE statement specified a DB2 privilege which the SQL interface to Rdb/VMS does not support. User Action: None. SQL ignores the unsupported privileges.
UNSDSCCLA
Unsupported descriptor class <value> Explanation: The class of the descriptor in an input parameter is not supported by the SQL interface to Rdb/VMS. User Action: Use class S, D, DS, or VS.
UNSDTPCVT
Unsupported data type conversion Explanation: A dynamic SQL program tried to get SQL to perform a data type conversion which it does not support. For example, a date field was fetched into a numeric field. The SQL dynamic interface does not support conversions from date to numeric. User Action: Change the data type used to pass data to or from the dynamic interface to a data type which can be converted to the data type of the data in the database.
UNSIGNED_VAR
Host variable <text> is an unsigned variable which is illegal is SQL statements. Explanation: The named variable is defined as an C unsigned variable. Unsigned variables are illegal in SQL statements. User Action: Use a signed version of this variable in the SQL statement.
UNSNUMXPR
Unsupported numeric expression Explanation: You attempted an operation that is not supported on a numeric value expression. For example: numeric = numeric || numeric; User Action: Check the documentation for valid numeric expressions. If you are using the preprocessors, you might be able to work around the limitation by using a temporary variable.
UNSPLIATT
Host variable <text> uses an unsupported PLI attribute Explanation: The host variable declaration uses a PLI attribute which is not supported. User Action: Either change the declaration so that only supported attributes are used, or move the data to another data item which only uses supported attributes.
UNSSTRXPR
Unsupported string expression Explanation: You attempted an operation on a string that is not supported. For example: string = string + string; User Action: Check the documentation for valid string expressions. If you are using the preprocessors, you might be able to work around the limitation by using a temporary variable.
UNSSUPDAT
Unsupported data type requested Explanation: You requested input or output of an unsupported data type from the dynamic interface. User Action: You should review the data types of the variables in the dynamic statement and change the offending data type to a supported data type.
UNSUPOP
Operation supported for read-write databases only Explanation: You attempted to perform data definition or updates on a VIDA database. VIDA databases are read-only. User Action: Do not issue any CREATE, INSERT, UPDATE, or DELETE statements with a VIDA database.
UNSUPVER
Operation is unsupported for version of database.
Explanation: You tried to do something with a pre-V3.1 database
that requires version 3.1 or higher. This can happen when
Rdb/Remote is used to access a database of a different
version than that of the database system.
User Action: Convert the database to the current version of
Rdb/VMS or do not attempt the operation that caused the
problem.
UNTSTR
Unterminated string found
Explanation: The matching quote (" or ') for a string was not
found.
User Action: Reenter statement with matching quote character.
UPDCOLPRIV
UPDATE(column-name) privilege is not supported Explanation: UPDATE(column-name) is a DB2 privilege not supported by the SQL interface to Rdb/VMS. UPDATE privilege will be granted on the entire table. User Action: None.
UPDINSCUR
Cursor <text> is an INSERT ONLY cursor Explanation: The cursor referenced in the statement was defined as INSERT ONLY. Thus, UPDATE, FETCH and DELETE statements are illegal. User Action: Either change either the cursor declaration to UPDATE, or do not attempt to update the cursor.
UPDREACUR
Cursor <text> is read-only Explanation: A cursor is read-only if it includes a DISTINCT phrase, a function, a GROUP BY, HAVING, or UNION, or more than one table in its FROM clause. Read-only cursors cannot include FOR UPDATE clauses and cannot be used in UPDATE or DELETE statements. User Action: Either change whatever made the cursor read-only, or do not attempt to update the cursor.
USERINVIEW
USER literals are not permitted in DDL statements Explanation: SQL cannot store a USER literal in a ddl object such as a view or a constraint. User Action: You must either explicitly specify the user name as string literal in the select list of the view definition, or specify USER in a query outside of the view definition.
USERNOTSUP
The USER clause is not supported by SQL Explanation: The USER clause of the CONNECT statement isn't supported by SQL. User Action: Do not use this clause.
USINGCTXNOTALL
USING CONTEXT is not allowed for this statement Explanation: Your source contains a USING CONTEXT clause with a statement that does not allow that clause. User Action: Remove the USING CONTEXT clause from the statement.
USRDEFTYP
Host variable <text> is of an unknown user defined type Explanation: The named variable is of a user defined type that wasn't defined within the pre-compilation unit. User defined types must be defined in the same pre-compilation unit for them to be legal. User Action: Use a different variable or include the type definition in the pre-compilation unit.
VECNOTIND
Host variable <text> is a vector but is not used as an indicator structure Explanation: The host variable is defined as a vector (one-dimensional array). SQL only allows references to vectors if they are used as indicator variables for host structures (such indicator variables are also called indicator structures or indicator vectors). User Action: Either change the host variable declaration so it is not an array, or move the data from the array to a variable that is not an array.
VEWNOTDEF
View <text> is not defined in database or schema Explanation: The specified view does not exist in the current database or schema. User Action: Attach the proper database schema. Spell the view name correctly. You may have specified an expression where a view name was expected.
WAIMODSPC
Only one wait mode may be specified for a transaction Explanation: You specified both wait modes in a DECLARE TRANSACTION statement. User Action: Specify either WAIT or NOWAIT, not both, in a DECLARE TRANSACTION statement.
WARDET
A warning was detected Explanation: This is the exit status for a preprocessor when an warning was detected. User Action: Correct the error in the host language program and resubmit the job to the preprocessor.
WARNINGCB
column attributes and data will be lost on commit Explanation: You used the ALTER statement to change a column into a computed column. Because of the way this is implemented, all attributes and data existing before the ALTER statement will be lost when you issue a COMMIT statement. User Action: If this behavior is unexpected, use the ROLLBACK statement to undo the effects of the ALTER statement.
WHYTWICE
Column <text> is specified more than once in the column list of a constraint. Explanation: You specified the same column more than once in the column list of a UNIQUE, PRIMARY KEY or FOREIGN KEY constraint. User Action: Specify each column only once.
WILDALLWILD
Wildcard may not be followed by non-wildcard Explanation: A CREATE TRANSFER statement was entered with a MOVE TABLES clause which specified a wildcard followed by a non-wildcard. For example, A.*.*.B is not allowed; A.*.*.* is allowed. User Action: Change the MOVE TABLES clause to make use of wildcarding at all subsequent levels once wildcarding has begun.
WISH_LIST
Feature not yet implemented Explanation: The action you requested requires a feature that is not implemented in the current version of this product. User Action: Try to work around the unimplemented feature.
WRICIRREF
A subquery in an INSERT, UPDATE or DELETE statement referenced the subject table Explanation: You tried to use the same table in an INSERT, UPDATE or DELETE statement both as the target and in a subquery. The current ANSI and ISO SQL standards do not permit this. User Action: If it is important to use only standard features in your program, you should remove the subquery which references the subject table.
YES_CHAR
Y
Explanation: Used when asking YES/NO questions as the first
character of a positive response. This string is
assumed to be a single character. --
ZABORT
User entered Control-Z to abort statement Explanation: You typed a Control-Z to abort the current statement. User Action: None.
ZEROSIZE
Size value is zero. Explanation: You have supplied a zero to be used for compression length. User Action: Use a non-zero positive value for compression length.
Execute(@)
@file-spec The 'at' sign (@) means "execute" in interactive SQL, just as in DCL. When you type @ and the name of an indirect command file, interactive SQL executes the statements in the file as if you had typed them one at a time at the interactive SQL prompt. The default file type for an indirect command file is .SQL. You can use the SET VERIFY statement to have the statements in the file displayed on the screen as they execute. The file-spec argument to the @ statement is the name of an indirect command file. You can use either a full VMS file specification, a file name, or a logical name. If you use a file name, interactive SQL looks in the current default VMS directory for a file by that name. The file must contain valid interactive SQL statements.
Additional information available:
Examples
You can use an indirect command file to execute a frequently used
query:
$ TY EMPADDR.SQL
!
! This command file generates information for a mailing list.
!
SET OUTPUT 'DISK2:[DEPT32]MAILLIST.DOC'
SELECT FIRST_NAME, MIDDLE_INITIAL, LAST_NAME,
ADDRESS_DATA_1, ADDRESS_DATA_2, CITY, STATE, POSTAL_CODE
FROM EMPLOYEES
$ SQL
SQL> @EMPADDR
Ext Dyn DEC CURSOR
Declares an extended dynamic cursor. An extended dynamic DECLARE CURSOR statement is a DECLARE CURSOR statement where both the cursor-name and the select statement are supplied in parameters at run time.
Additional information available:
Format
DECLARE cursor-name-parameter ─────────────────┐ ┌──────────────────────────────────────────────┘ └┬───┬────────────────┬─> typebox (T)typebox (A)typebox (B)typebox (L)typebox (E)
C
U
R
S
O
R
F
O
R ────┐ │ ├─>
I
N
S
E
R
T
O
N
L
Y ─┤ │ │ ├─>
R
E
A
D
O
N
L
Y ───┤ │ │ └─>
U
P
D
A
T
E
O
N
L
Y ─┘ │ │ ┌───────────────────────────────────────────┘ │ └──> statement-id-parameter ────────────────┐ │ ┌───────────────────────────────────────────┘ │ └──┬────────────────────────────────────┬───┬─> typebox (;) │ └>
O
P
T
I
M
I
Z
E Ftypebox (O)typebox (R) ─┬─>
F
A
S
T
F
I
R
S
T ─┬──┘ │ │ └─>
T
O
T
A
L
T
I
M
E ──┘ │ │ │ └─┬────────────────┬─>
L
I
S
T
C
U
R
S
O
R
F
O
R ──┐ │ ├─>
I
N
S
E
R
T
O
N
L
Y ─┤ │ │ └─>
R
E
A
D
O
N
L
Y ───┘ │ │ ┌────────────────────────────────────────┘ │ └─> statement-id-parameter ───────────────────┘
Additional information available:
parameter1
A parameter that contains the name of the cursor you want to declare. Use a character-string parameter to hold the cursor name that the program supplies at run time.
INSERT_ONLY
Insert-only cursors position themselves on a row that has just been inserted so that you can load data values into lists or rows of that row.
READ_ONLY
Read-only cursors can be used to access row information from a result table whenever you do not intend to update the database. For example, you could use a read-only cursor to fetch row and column information for display.
TABLE
Specifies a cursor used to access individual rows of result tables. If you do not specify a cursor type, SQL declares a table cursor by default.
LIST
Specifies a cursor used to access lists. A list is an ordered collection of elements of the data type LIST OF VARBYTE (also called LIST OF BYTE VARYING). A list is equivalent to an RDO segmented string. You can use lists to scan through very large data structures from within a language that does not support objects of such size. Lists exist as a set of elements within a row of a table. Each list cursor must reference a table cursor, which provides the row context.
parameter2
A parameter that contains an integer that identifies a prepared SELECT statement. Use an integer parameter to hold the statement identifier that SQL generates and assigns to the parameter when SQL executes a PREPARE statement.
Functions
Functions calculate values based on a value expression for every
row in a result table. Functions are sometimes called
"statistical expressions" or "aggregate expressions" because
they calculate a single value for a collection of rows in a
result table. Functions calculate a single value.
The following keywords specify SQL functions.
AVG Average of the values in a column
CAST Value from column converted
to any other data type (provided that neither
data type is LIST OF BYTE VARYING)
COUNT Number of rows in a result table
CURRENT_DATE DATE data type value containing
year, month, and day for date 'today'
CURRENT_TIME TIME data type value containing
hour, minute, and second for time 'now'
CURRENT_TIMESTAMP TIMESTAMP data type value containing year, month,
and day for date 'today' and hour, minute, and
second for time 'now'
EXTRACT Single date/time field value from a column,
expressed as an integer
MAX Largest value in a column
MIN Smallest value in a column
SUM Sum of the values in a column
Additional information available:
CAST functionDate and time functionsMore Information
CAST function
cast-function =
─>
C
A
S
T ─> ( ─> cast-operand AS ─┬─> data-type ───┬─> ) ─>
└─> domain-name ─┘
The CAST function converts a column of one data type to another
datatype. The data type and cast operand that you specify can
be any data type except LIST OF BYTE VARYING (SEGMENTED STRING).
If you use an INTERVAL as the data type, then the interval
qualifier must specify only one field.
If you specify the name of a domain in the AS clause, Rdb/VMS
uses the current data type of that domain as the output data
type of the CAST function.
Additional information available:
Examples
The following example converts the average of the SALARY_AMOUNT
column from scientific notation to an integer with two decimal
places:
SQL> SELECT AVG(SALARY_AMOUNT),
cont> CAST(AVG(SALARY_AMOUNT) AS INTEGER(2))
cont> FROM SALARY_HISTORY;
2.652896707818930E+004 26528.97
The following example converts host language variables into
date-time values using the CAST function:
SQL> UPDATE SCHEDULE
SET FINISH FINISH = FINISH + CAST(:SLIPPAGE AS INTERVAL
MONTH)
WHERE ...;
The following example finds the longest serving employee still
with the company:
SELECT E.LAST_NAME,CURRENT_DATE,JH.JOB_START,
EXTRACT(MONTH FROM (CURRENT_DATE - CAST(JH.JOB_START AS
DATE ANSI))
MONTH(9))
FROM EMPLOYEES E, JOB_HISTORY JH
WHERE E.EMPLOYEE_ID = JH.EMPLOYEE_ID AND
(CURRENT_DATE - CAST(JH.JOB_START AS DATE ANSI)) MONTH (9)
=
(SELECT MAX((CURRENT_DATE - CAST(JH.JOB_START AS DATE
ANSI)) MONTH (9))
FROM JOB_HISTORY JH WHERE JH.JOB_END IS NULL);
E.LAST_NAME JH.JOB_START
Nash 1991-04-12 1979-02-23 146
Gray 1991-04-12 1979-02-10 146
Myotte 1991-04-12 1979-02-04 146
Kinmonth 1991-04-12 1979-02-12 146
Lapointe 1991-04-12 1979-02-20 146
5 rows selected
The following example uses the data type of the domain
STANDARD_DATE to format the BIRTHDAY field. Although the user
alters the data type from DATE VMS to DATE ANSI, the SELECT
statement used to access the data doesn't change.
SQL> CREATE DOMAIN STANDARD_DATE DATE VMS;
SQL>
SQL> SELECT LAST_NAME, FIRST_NAME,
cont> CAST(BIRTHDAY as STANDARD_DATE)
cont> FROM EMPLOYEES;
SQL>
SQL> ALTER DOMAIN STANDARD_DATE DATE ANSI;
SQL> SELECT LAST_NAME, FIRST_NAME,
cont> CAST(BIRTHDAY as STANDARD_DATE)
cont> from EMPLOYEES;
Date and time functions
The EXTRACT, CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP keywords are accessible from anywhere that an expression is allowed in Rdb/VMS. You can also use these keywords within triggers. The EXTRACT function selects a single date-time field from a DATE, TIME, TIMESTAMP or INTERVAL. A date-time field is one of the following keywords: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, or WEEKDAY. If you specify WEEKDAY, then EXTRACT returns an integer representing the day of the week. (Monday is represented as day 1, Sunday as day 7.) If you specify WEEKDAY, you can only use the data types TIMESTAMP and DATE as the extract source. In all other cases, the extract source can be data type DATE, TIME, TIMESTAMP or INTERVAL.
Additional information available:
Examples
Below is an example of an SQL statement that inserts the date
into the JOB_START field of an employees record:
SQL> INSERT INTO EMPLOYEES(JOB_START ...)
VALUES (CURRENT_TIMESTAMP, ...);
If you use the CURRENT_TIMESTAMP keyword more than once within a
statement, it retains the same value for the date and time.
More Information
The following notes apply in general to functions:
o Rows with null values are not included when SQL evaluates
functions. If you specify DISTINCT, redundant values in
rows are also not included.
o SUM calculates the total of the values specified by the
value expression in its argument. If there are no rows in
the result table to which SUM is applied, it returns null.
o If a function has as its argument a value expression
containing a column name that is an outer reference, the
value expression cannot include an arithmetic operator.
(The only cases where an outer reference makes sense as the
argument to a function is in the subquery of a HAVING
clause, or in a subquery in a select list.)
Select More_Information to continue.
Additional information available:
More Information
o You cannot nest functions. This means that a value
expression used as an argument to a function cannot include
a function.
o The keyword ALL in SUM, AVG, MAX, and MIN has no effect.
For instance, specifying MAX (ALL EMPLOYEE_ID) is the same
as saying MAX (EMPLOYEE_ID).
o You cannot specify fractional seconds if you use the CURRENT
keyword in a DEFAULT clause. Fractional seconds are
inherited from the domain or column data type.
GRANT ANSI style
GRANT ───────────>───────────┐ │ ┌───────────────<─────────────┘ └┬─> db-privs-ansi ──>
O
N
D
A
T
A
B
A
S
E
A
L
I
A
S ─┬─> alias ─┬─┬─┐ │ └─── , <───┘ │ │ ├─> table-privs-ansi ─>
O
N ┬─────>────┬─┐ │ │ │ └─>
T
A
B
L
E ─┘ │ │ │ │ ┌───────────────────────────────────┘ │ │ │ └─┬─┬─> table-name ─┬─┬───────────────────────────┤ │ │ │ └─> view-name ──┘ │ │ │ │ └───────── , <──────┘ │ │ │ │ │ └─> column-privs-ansi ─>
O
N
C
O
L
U
M
N ─┬> column-name ─┬─┘ │ └─────── , <────┘ │ ┌────────────────────────────<────────────────────────┘ └─>
T
O ─┬─┬─> identifier-ansi-style ─┬──┬────┐ │ └─>
P
U
B
L
I
C ────────────────┘ │ │ └───────────── , <──────────────┘ │ ┌────────────────────<───────────────────┘ └──┬──────────>───────────┬─> typebox (;) └─>
W
I
T
H
G
R
A
N
T
O
P
T
I
O
N ─┘
Additional information available:
More Informationcolumn privstable privsdb privsidentifier ansi style
More Information
The ANSI style GRANT statement creates or adds privileges to an
entry to the Rdb/VMS access privilege set for a database, table,
column, or view. Each entry in an access privilege set consists
of an identifier and a list of privileges assigned to the
identifier:
o Each identifier specifies a user or PUBLIC.
o The set of privileges specifies what operations that user or
user group can perform on the database, table, or column.
For ANSI style databases the access privilege set is not
order-dependent. The user matches the entry in the access
privilege set and gets whatever privileges have been granted on
the database, table, or column and also gets the privileges
defined for PUBLIC. A user without an entry in the access
privilege set will get only the privileges defined for PUBLIC.
There is always an entry for PUBLIC in the access privilege set,
even if PUBLIC has no access to the database, table, or column.
column privs
One or more of the following column privileges you want to add to an existing access privilege set entry or create in a new one: column-privs-ansi = ───┬─┬─┬─>
U
P
D
A
T
E ─────┬─┬──┬──> │ │ └─>
R
E
F
E
R
E
N
C
E
S ─┘ │ │ │ └─────── , <────────┘ │ └─────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ──┘ To grant all privileges to specified column(s), specify the ALL keyword instead of a list of privileges. Granting ANSI style privileges at the column, table, or database level, grants access only to the columns, tables, or database specified in the GRANT statement.
table privs
One or more of the following table privileges you want to add to an existing access privilege set entry or create in a new one: table-privs-ansi = ─┬──┬─┬─>
S
E
L
E
C
T ─────────────────────────────┬─┬──┬──> │ │ ├─>
I
N
S
E
R
T ─────────────────────────────┤ │ │ │ │ ├─>
D
E
L
E
T
E ─────────────────────────────┤ │ │ │ │ ├─>
C
R
E
A
T
E
T
A
B ──────────────────────────┤ │ │ │ │ ├─>
A
L
T
E
R ──────────────────────────────┤ │ │ │ │ ├─>
D
R
O
P ───────────────────────────────┤ │ │ │ │ ├─>
D
B
C
T
R
L ─────────────────────────────┤ │ │ │ │ ├─>
S
H
O
W ───────────────────────────────┤ │ │ │ │ ├─>
R
E
F
E
R
E
N
C
E
S ┬───────────────────────┤ │ │ │ │ │ └>( ┬> column-name ┬> )─┤ │ │ │ │ │ └───── , <─────┘ │ │ │ │ │ └─>
U
P
D
A
T
E ─┬───────────────────────────┤ │ │ │ │ └>( ┬> column-name ┬────> )─┘ │ │ │ │ └───── , <─────┘ │ │ │ └─────────────────── , <────────────────────┘ │ └──────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ──────────────────────────┘ To grant all privileges to specified table(s), specify the ALL keyword instead of a list of privileges. Granting ANSI style privileges at the column, table, or database level, grants access only to the tables, columns, or database specified in the GRANT statement.
db privs
One or more of the following privileges you want to add to an existing access privilege set entry or create in a new one: db-privs-ansi = ────┬───┬─┬─>
S
E
L
E
C
T ─────┬─┬────┬─> │ │ ├─>
I
N
S
E
R
T ─────┤ │ │ │ │ ├─>
O
P
E
R
A
T
O
R ───┤ │ │ │ │ ├─>
D
E
L
E
T
E ─────┤ │ │ │ │ ├─>
C
R
E
A
T
E
T
A
B ──┤ │ │ │ │ ├─>
A
L
T
E
R ──────┤ │ │ │ │ ├─>
D
R
O
P ───────┤ │ │ │ │ ├─>
D
B
C
T
R
L ─────┤ │ │ │ │ ├─>
D
B
A
D
M ──────┤ │ │ │ │ ├─>
S
H
O
W ───────┤ │ │ │ │ ├─>
R
E
F
E
R
E
N
C
E
S ─┤ │ │ │ │ ├─>
U
P
D
A
T
E ─────┤ │ │ │ │ ├─>
S
E
C
U
R
I
T
Y ───┤ │ │ │ │ └─>
D
I
S
T
R
I
B
T
R
A
N ┘ │ │ │ └────────, <────────┘ │ └───────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ────┘ To grant all privileges on the database, specify the ALL keyword instead of a list of privileges. Granting ANSI style privileges at the column, table, or database level, grants access only to the columns, tables, or database specified in the GRANT statement. You must declare all databases that you refer to in a GRANT statement. If you use the default database, you must use the alias RDB$DBHANDLE to work with the access privilege set for the database.
identifier ansi style
Specifies the identifiers for the new or modified access privilege set entry. identifier-ansi-style = ──────> uic-identifier ─────────> The identifiers are standard VMS identifiers. In ANSI style databases you are only allowed to specify single-user UICs. No general or system identifiers are allowed. They identify only those users who are common to all the groups defined by the individual identifiers. Users who do not match all the identifiers are not controlled by that entry. Specifying PUBLIC is equivalent to using the UIC identifier [*,*]. When Rdb/VMS creates an ANSI style database, the creator of the database gets all privileges and the PUBLIC entry gets no privileges.
WITH_GRANT_OPTION
Allows the user who has been granted a privilege the option of granting that privilege to other users. The WITH GRANT OPTION clause specifies that the grantees in the TO clause may grant the privileges in the privilege list to other users for as long as they have the privileges. When the privilege is revoked from the grantee who received the privileges with the WITH GRANT OPTION clause, the privileges will also be revoked from all the users who received the privileges from that grantee (unless these users have received the privilege from yet another user who still has the privilege).
Interactive kit
If the interactive, rather than the development, version of the SQL distribution kit is installed on your system, you can run host language programs but cannot develop them. You can create the sample database SQL_PERSONNEL on your system and try interactive examples in the SQL documentation set. However, you cannot try out embedded, module language, or dynamic SQL examples because the SQL precompiler and SQL module processor are not part of the interactive version of SQL.
Linking programs
When users link programs processed with either the SQL precompiler or the SQL module processor, they must somehow specify the SQL interface user library SYS$LIBRARY:SQL$USER.OLB. If you define the logical name LNK$LIBRARY as the user library, you save users from having to explicitly specify that library each time they link their embedded SQL programs. To define LNK$LIBRARY, issue this command: $ DEFINE/SYSTEM/NOLOG LNK$LIBRARY SYS$LIBRARY:SQL$USER.OLB To make sure LNK$LIBRARY is defined each time the system starts up, edit the command file SQL$STARTUP.COM and remove the comment character in front of the LNK$LIBRARY definition. You must also check to see that the system logical name LNK$LIBRARY is not already being used. Your site or other products may have already defined the LNK$LIBRARY logical name. If so, you should add a numeric suffix to the LNK$LIBRARY definition you create and to the definition in SQL$STARTUP.COM. See the Rdb/VMS Installation Guide for more information about adding a suffix. If you do not define LNK$LIBRARY to specify the SQL user library, users must explicitly name it when they link programs with embedded SQL statements. For example: $ LINK my_prog, SYS$LIBRARY:SQL$USER/LIBRARY See the VAX/VMS Linker Reference Manual for more information about the LINK command.
literals
Literals, which are also called constants, specify a value. Many SQL clauses require literal values, which can be either numeric, character string, or date. In addition, SQL provides three keywords, NULL, USER, and CURRENT_TIMESTAMP, that refer to literals. NULL, USER, and CURRENT_TIMESTAMP are described in separate help topics.
Additional information available:
numericcharacter stringdate-time
numeric
A numeric literal is a string of digits that SQL interprets as a decimal number. numeric-literal = ──┬──────┬─┬─┬─> digit ─┬─┬────────────────────────┬─┬─┐ ├─> typebox (+) ─┤ │ └────<─────┘ └─> . ──┬───────>──────┬─┘ │ │ └─> - ─┘ │ └─┬─> digit ─┬─┘ │ │ │ └────<─────┘ │ │ └─> . ─┬─> digit ─┬───────────────────────┘ │ └────<─────┘ │ ┌─────────────────────────────────────────────────────┘ └┬──────────>─────────────────┬──> └── typebox (E) ─┬──────┬─┬─> digit ─┬─┘ ├─> typebox (+) ─┤ └────<─────┘ └─> - ─┘
Additional information available:
More Information
A numeric literal may be:
o A decimal string consisting of digits and an optional
decimal point. The maximum length, not counting the decimal
point, is 19 digits.
o A decimal number in scientific notation (E-format),
consisting of a decimal string mantissa and a signed integer
exponent, separated by the letter E or D (for G_Floating).
Examples
SQL allows flexibility in numeric expressions. You can use unary plus and minus, you can use any form of decimal notation, and you can embed spaces in E notation. The following are valid numeric strings: 123 34.9 -123 .25 123. 0.33889909 6.03E+23 6.03E-23 If you use a numeric literal to assign a value to a column or a variable, the data type of the column or variable determines the maximum value you can assign.
character string
SQL recognizes two types of character string literals:
o A quoted character string to represent printable ASCII
characters
o A hexadecimal character string (an X followed by a quoted
character string) to represent printable and nonprintable
ASCII characters
See the section on literals in Chapter 3 of the Reference Manual
for details.
date-time
When you refer to a date-time data type with a literal in an SQL
statement, you must precede the literal with the data type name
and enclose the literal in single quotation marks. You must
provide values for all fields, and values must be within the
valid range for the field.
In the following syntax descriptions, 'y', 'd', 'h', and 's'
stand for fields representing years, days, hours, and seconds,
respectively. The letter 'm' stands for the month number when
it follows a 'y', and the minutes number when it does not.
Fractions of a second are represented by digits after the
decimal point.
o DATE literals
DATE 'y-m-d'
Example: DATE '1991-12-24'
o TIME literals
TIME 'h:m:s' or 'h:m:s.s'
Example: TIME '14:23:45.19'
TIME represents 24-hour time.
o TIMESTAMP literals
TIMESTAMP 'y-m-d:h:m:s'
Example: TIMESTAMP '1992-3-11:14:12:01.00'
o INTERVAL literals
INTERVAL '±y-m' YEAR TO MONTH
INTERVAL '±d:h:m:s.s' DAY TO SECOND
Examples:
INTERVAL '-1-2' YEAR TO MONTH
INTERVAL '+1:4:30:0.0' DAY TO SECOND
INTERVAL '1:10' DAY TO HOUR
INTERVAL '235' MONTH(3)
o VMS date format
For assignment to and from DATE VMS data types, you can use
a string of numeric characters of the form
'YYYYMMDDHHMMSSCC'.
In this string, each letter represents one digit of the
year, month, day, hour, minute, second, hundredths of a
second.
Since intervals can be signed quantities, a leading addition or
subtraction operator can precede the literal to indicate
positive (+) or negative (-) intervals. You must include an
interval-qualifier in an interval literal.
SQL does not allow embedded spaces in date-time literals
although trailing and leading spaces are ignored.
Module language
MODULE ─┬────────>────────┬─>
L
A
N
G
U
A
G
E language-name ─┐ └─> module-name ──┘ │ ┌──────────────────────────────────────────────────────┘ └──┬─────────────────────────┬──┐ └─>
C
A
T
A
L
O
G catalog-name ─┘ │ ┌───────────────────────────────┘ └┬─>
S
C
H
E
M
A schema-name ──────────────────────────┬────┐ ├─>
A
U
T
H
O
R
I
Z
A
T
I
O
N auth-id ───────────────────────┤ │ └─>
S
C
H
E
M
A schema-name AUTHORIZATION auth-id ───┘ │ ┌───────────────────────────────────────────────────┘ └─┬────────────────┬──────┬────────────────────────┬─┐ └─>
A
L
I
A
S alias ─┘ └┬─> declare-statement ─┬┘ │ └───────── <───────────┘ │ ┌───────────────────────────────────────────────────────┘ └┬─>
P
R
O
C
E
D
U
R
E procedure-name ┬─> param-decl ┬─> typebox (;) sql-statement ; ─┬─> │ └────┬──────┬──┘ │ │ └── , <┘ │ └────────────────────────────────<─────────────────────────────────┘
Additional information available:
record typeMore InformationCommand line
record type
record-type = ─>
R
E
C
O
R
D ┬┬> item-name ┬> data-type ──┬┬┬>
E
N
D
R
E
C
O
R
D ─> ││ └> record-type ┘││ │└─────────┬───────┬──────────┘│ │ └── , <─┘ │ ├─>
F
R
O
M path-name ─────┐ │ │┌──────────────────────┘ │ │└┬─────────────────────────┬──┤ │ ├>
F
I
X
E
D ─────────────────┤ │ │ ├>
N
U
L
L
T
E
R
M
I
N
A
T
E
D
B
Y
T
E
S ─┤ │ │ └>
N
U
L
L
T
E
R
M
I
N
A
T
E
D │ │ │
C
H
A
R
A
C
T
E
R
S ────────────┘ │ │ │ └─>
I
N
D
I
C
A
T
O
R
A
R
R
A
Y typebox (O)F ─────┐ │ ┌─────────────────────────┘ │ └──> array-length ────────┐ │ ┌─────────────────────────┘ │ └──> exact-numeric-type ─────┘ You can pass records and indicator arrays to SQL module language procedures and retrieve data dictionary record declarations using the record-type clause.
Additional information available:
More informationexact numeric type
More information
The FIXED, NULL TERMINATED BYTES, and NULL TERMINATED CHARACTERS clauses tell the module processor how to interpret CHAR fields for the C programming language. If you specify FIXED, the module processor interprets CHAR fields as fixed character strings. NULL TERMINATED BYTES specifies that CHAR fields are null-terminated. The length field in the dictionary is interpreted as the number of bytes in the string. If n is the length in the dictionary, then the number of data bytes is n-1 and the length of the string is n bytes. NULL TERMINATED BYTES is the default interpretation. NULL TERMINATED CHARACTERS specifies that CHAR fields are null- terminated, but interpret the length field as a character count. If N is the length in the dictionary, then the number of data bytes is N and the length of the string is N+1 bytes.
exact numeric type
exact-numeric-type= ───────┬──>
S
M
A
L
L
I
N
T ───┬────┬────────┬────────────────┬─> ├──>
I
N
T
E
G
E
R ────┤ └─> n ───┘ │ ├──>
B
I
G
I
N
T ─────┤ │ ├──>
Q
U
A
D
W
O
R
D ───┤ │ ├──>
T
I
N
Y
I
N
T ────┘ │ ├──>
D
E
C
I
M
A
L ──┬─┬────────────────────────────┬─┘ └──>
N
U
M
E
R
I
C ──┘ └─> ( ──> n ─┬────────┬─> ) ─┘ └─> , n ─┘
INDICATOR_ARRAY
If a record reference has an indicator, it must be an indicator array. (See the VAX Rdb/VMS SQL Reference Manual for more information about host structures and indicator arrays.) The indicator array that you specify must have at least as many elements as the record definition. You cannot explicitly refer to a single element of an indicator array. For this reason, you cannot use indicator arrays in UPDATE statements or WHERE clauses.
More Information
The SQL module language is a set of special keywords and syntax that allow procedures containing SQL statements to be called from any host language, including those not supported by the SQL precompiler. The SQL module language provides a calling mechanism for host language programs to execute SQL statements contained in a separate file called an SQL module file. The file contains module language elements to specify a single SQL module. The module includes one or more procedures, each of which contains parameter declarations and an SQL statement. For example, you must supply the parameters you refer to in a DECLARE CURSOR declaration as parameters on the procedure that contains the OPEN for that cursor. The host language program uses call statements to specify a particular SQL module procedure and supplies a sequence of call parameters corresponding in number and in data type to the parameter declarations in the procedure. A call to a procedure in an SQL module causes the SQL statement in the procedure to be executed.
Command line
module-file-spec ┬┬─────────────────────────────────────────┬┬>
│├─> no-qualifiers ────────────────────────┤│
││ ││
│├─> typebox (/)
C
O
N
S
T
R
A
I
N
T
S typebox (=) ─┬─>
I
M
M
E
D
I
A
T
E ──┬─────┤│
││ ├─>
D
E
F
E
R
R
E
D ──┤ ││
││ ├─>
O
N ─────────┤ ││
││ └─>
O
F
F ────────┘ ││
│├─> typebox (/)
C
O
N
T
E
X
Ttypebox (=) ─┬─>
N
O
N
E ──────────────────┤│
││ ├─>
A
L
L ───────────────────┤│
││ └─> procedure-list ────────┤│
│├─> database-options ─────────────────────┤│
│├─> typebox (/)
Q
U
E
R
Y
T
I
M
E
L
I
M
I
T typebox (=) total-seconds ────┤│
│└─>
/
Q
U
E
R
Y
M
A
X
R
O
W
S typebox (=) total-rows ─────────┘│
└──>──────────────────<─────────────────────┘
Additional information available:
no qualifiersdatabase optionsprocedure-listMore Information
Qualifiers
no qualifiers
no-qualifiers = ─> typebox (/) ┬─>──┬─┬─>
A
N
S
I
A
U
T
H
O
R
I
Z
A
T
I
O
N ────────────────┬> └
N
O ┘ ├─>
A
N
S
I
D
A
T
E ─────────────────────────┤ ├─>
A
N
S
I
I
D
E
N
T
I
F
I
E
R
S ──────────────────┤ ├─>
A
N
S
I
P
A
R
A
M
E
T
E
R
S ───────────────────┤ ├─>
A
N
S
I
Q
U
O
T
I
N
G ──────────────────────┤ ├─>
F
L
A
G
N
O
N
S
T
A
N
D
A
R
D ──────────────────┤ ├─>
G
F
L
O
A
T ───────────────────────────┤ ├─>
I
N
I
T
I
A
L
I
Z
E
H
A
N
D
L
E
S ────────────────┤ ├─>
O
B
J
E
C
T ─┬┬───────>───────┬─────────┤ ├─>
L
I
S
T ───┘└> typebox (=) file-spec ─┘ ┤ ├─>
Q
U
E
R
Y
E
S
T
I
M
A
T
E
S ───────────────────┤ ├─>
C
O
N
N
E
C
T ───────────────────────────┤ ├─>
V
I
D
A ──────────────────────────────┤ └─>
W
A
R
N ─┬───────────────────────────┬┘ └>typebox (=)( ┬> warning-option ┬> ) ┘ └───── , <────────┘
database options
database-options = ───┬─>
/
E
L
N ──────────────────────────────┬─> ├─>
/
N
S
D
S ─────────────────────────────┤ ├─>
/
R
D
B
V
M
S ───────────────────────────┤ ├─>
/
R
D
B
0
3
0 ───────────────────────────┤ ├─>
/
R
D
B
0
3
1 ───────────────────────────┤ ├─>
/
R
D
B
0
4
0 ───────────────────────────┤ ├─>
/
R
D
B
0
4
1 ───────────────────────────┤ ├─>
/
V
I
D
A ─────────────────────────────┤ └─>
/
N
O
V
I
D
A ───────────────────────────┘ The database options specify types of supported databases that your application can access.
Additional information available:
More Informationwarning optionsMore Information
More Information
[NO]ANSI_AUTHORIZATION specifies whether or not a module can only be executed by the person who compiled it. The default is /NOANSI_AUTHORIZATION, which means that the module can be executed by someone other than the person who compiled it. [NO]ANSI_DATE specifies whether the default format for columns with the DATE or CURRENT_TIMESTAMP data types is ANSI or VMS. The default setting is /NOANSI_DATE, where both data types are interpreted as VMS format. A VMS format data type is compatible with Rdb/ELN and versions of Rdb/VMS prior to Version 4.1, but cannot be used in date/time arithmetic. The VMS format DATE and CURRENT_TIMESTAMP contain YEAR to SECOND fields, like a TIMESTAMP. Use /ANSI_DATE to change DATE and CURRENT_TIMESTAMP to ANSI format, which contains only the YEAR to DAY fields. You must change the date format before creating domains or tables: you cannot modify the data type once you have created a column or table. [NO]ANSI_IDENTIFIERS specifies whether or not SQL checks statements for reserved words from the ANSI 89 and SQL2 standards. /NOANSI_IDENTIFIERS is the default. [NO]ANSI_PARAMETERS specifies whether or not all parameter names must begin with a colon (:). This rule applies to both declarations and references of module language procedure parameters. /NOANSI_PARAMETERS, the current default, specifies that no parameter name may begin with a colon. [NO]ANSI_QUOTING specifies whether or not you can enclose delimited identifiers in subsequent statements within double quotation marks. (Delimited identifiers allow you to specify two names as a single name level, so that you do not exceed three levels in an object name.) If you specify /ANSI_QUOTING, SQL allows qualified names like the following: SQL> SHOW TABLE "PERS_ALIAS.DEPT1_CATALOG".EAST_SCHEMA.EMPLOYEES; If you specify /NOANSI_QUOTING, SQL interprets quoted strings as string literals, and issues a warning message that you used double quotation marks instead of single ones. /NOANSI_QUOTING is the default. [NO]CONNECT: Specifies whether or not SQL allows multiple user connections and access to global databases across modules. [NO]FLAG: Specifies whether SQL flags syntax that does not comply with the ANSI/ISO standard. When /FLAG is specified, SQL notifies you of syntax that is not ANSI/ISO standard. When /NOFLAG is specified, SQL does not notify you of syntax that is not ANSI/ISO standard. The default is /NOFLAG. [NO]G_FLOAT: Specifies whether or not the SQL module processor assigns a G-floating or D-floating interpretation to the DOUBLE data type in a formal parameter list. /G_FLOAT is the default for all languages except COBOL. [NO]INITIALIZE_HANDLES: Specifies whether or not handle values in the module should be initialized to zero. You must initialize handles in order to build shared images. If you need to run RDBPRE and RDML applications in SQL, specify /INITIALIZE_HANDLES. /NOINITIALIZE_HANDLES is the default. [NO]OBJECT: Specifies whether or not the SQL module processor creates an object file when compilation does not generate fatal errors and, if an object file is produced, what the file is named. /OBJECT is the default. [NO]LIST: Determines whether or not the SQL module processor creates a listing file containing the original module listing along with any error messages from the processing, and, if it does, what it is named. /NOLIST is the default. [NO]QUERY_ESTIMATES: Specifies whether or not SQL returns the estimated number of rows and estimated number of disk I/O operations in the SQLCA structure. If you specify the default, /QUERY_ESTIMATES, SQL returns the estimated number of rows in the field SQLCA.SQLERRD[2] and the estimated number of disk I/O operations in the field SQLCA.SQLERRD[3]. The value of SQLCA.SQLERRD[2] and SQLCA.SQLERRD[3] is normally zero after you execute an OPEN statement for a table. [NO]CONNECT:Specifies whether or not SQL allows multiple user sessions and access to global databases across modules. The default setting is NOCONNECT. [NO]VIDA: Specifies whether or not the SQL module processor will process a program for access to a VIDA database. The default is /NOVIDA. [NO]WARN: Specifies whether or not the SQL module processor writes informational and warning messages to your terminal, a listing file, or both. /WARN is the default.
warning options
warning-option =
┬─>
W
A
R
N
I
N
G ──────┬─>
├─>
N
O
W
A
R
N
I
N
G ────┤
├─>
D
E
P
R
E
C
A
T
E
D ───┤
└─>
N
O
D
E
P
R
E
C
A
T
E
D ─┘
More Information
If you specify a single warning option, you do not need the parentheses. The WARNING and NOWARNING options specify whether or not the SQL module processor writes warning messages to your terminal, a listing file, or both. The DEPRECATED and NODEPRECATED options specify whether or not the SQL module processor writes diagnostic messages about deprecated features. Deprecated features are features that are currently allowed but will not be allowed in future versions of SQL. Examples of deprecated features are obsolete keywords such as VERB_TIME (instead of VERB TIME) or the use of double instead of single quotation marks to delimit string literals. For a complete list of deprecated features, see the VAX Rdb/VMS SQL Reference Manual. The module processor default, /WARN, is equivalent to /WARN=(WARNING, DEPRECATED).
procedure-list
procedure-list = ───> ( ──┬─> procedure ─────────────────┬┬─> ) ─>
│ └──> typebox (:) entry-name ─┘│
└──────── , <───────────────────┘
More Information
The SQL module processor is the executable image SYS$SYSTEM:SQL$MOD.EXE. To invoke the image, define a symbol. $ SQLMOD :== $SQLMOD$ $ SQLMOD INPUT FILE> If you invoke the SQL module processor without a file specification for an SQL module file, the module processor prompts you for the file specification. You can also specify the file as part of the DCL command line. The following example shows how you might process a file called LIST_EMP_PASSMOD.SQLMOD. In addition to the file, several qualifiers are included on the DCL command line. $ SQLMOD :== $SQLMOD$ $ SQLMOD/G_FLOAT/ANSI_PARAMETERS LIST_EMP_PASSMOD.SQLMOD
Qualifiers
module-file-spec: The file specification for an SQL module source file. The default file type for the source file is .SQLMOD. /CONSTRAINTS=ON or /CONSTRAINTS=OFF: Sets the default constraint evaluation mode for commit-time constraints. (This qualifier does not affect the evaluation of verb-time constraints.) The default is OFF: that is, commit-time constraints are evaluated at commit time. Setting constraints ON causes each of the affected constraints to be evaluated immediately, as well as at the end of each statement--until the SET ALL CONSTRAINTS OFF statement is issued or until the transaction completes with a commit or rollback operation. This qualifier can be overridden by the SET ALL CONSTRAINTS statement. SQL users who require ANSI/ISO standard SQL compatibility should set constraints ON. The default of having constraints set OFF is probably acceptable for most other users. /CONTEXT=NONE or /CONTEXT=ALL: Instructs the SQL module processor to execute module language procedures in the context of a particular distributed transaction. When you use the /CONTEXT qualifier, SQL generates an additional parameter for the procedures and places the parameter as the last parameter declared in the procedure. You can specify NONE if you want no procedure to receive the parameter, or /ALL if you want all procedures to receive parameters. /CONTEXT=procedure-list: Specifies that the SQL module processor adds a context parameter to each procedure listed. If you specify an entry-name for a procedure in the list, the SQL module processor changes the name of that procedure to the name you specify.
New features
(Note that there is no Version 3.0 of VAX SQL. VAX SQL Version 2.0 was the last version where VAX SQL was shipped with a separate version number. Beginning with Rdb/VMS Version 3.1, SQL is shipped with Rdb/VMS and assumes the Rdb/VMS version number.) The following topics provide short summaries of new features for the SQL interface to Rdb/VMS Version 4.1. See the release notes for VAX Rdb/VMS for details on these features. The release notes for VAX Rdb/VMS are available online in the file SYS$HELP:RDBVMS041.RELEASE_NOTES. (You need only type the first three letters of the topic name at the prompt.)
Additional information available:
ANSI extended dynamic cursorsANSI extension flaggerAuthorization identifiers
Carry over locksC Support for CDDCAST functionColons in module language parameters
ConnectionsConstraint keyword changedDate and time data typesDate and time functions
Date arithmeticDefault lock waitDROP TABLE restrictedError literals
Execution modeJournal fast commitGlobal buffersLIMIT TO and ORDER BY
Multischema databasesObsolete featuresOnline database modifications
Optimizer interfaceQuery governorReserved word identifiersRun time SQL
Terminology changesThresholds for logical areasUNIQUE predicate
Warning modeWrite Once storage areas
ANSI extended dynamic cursors
SQL now features partial ANSI/ISO standard support for extended dynamic cursors. You can already use a parameter instead of coding the statement names in the SQL statements that process statements dynamically -- CLOSE, DECLARE CURSOR, DECLARE STATEMENT, DESCRIBE, EXECUTE, EXECUTE IMMEDIATE, FETCH, OPEN, PREPARE, and RELEASE. Specifying a parameter lets SQL supply identifiers to programs at run time. In Version 4.1, you can use either an integer parameter to contain the statement identifier returned by SQL, or a character string parameter to contain the name of the statement that you pass to SQL.
ANSI extension flagger
The SET FLAGGER statement displays informational messages when you issue a statement containing non-standard syntax (Digital extensions to ANSI/ISO standard syntax) in interactive SQL. These messages are disabled by default. The SQL SHOW FLAGGER MODE statement shows the current default flagger mode.
Authorization identifiers
To comply with the ANSI/ISO standard, use the AUTHORIZATION clause of the CREATE SCHEMA statement to specify an authorization identifier for each schema. When you specify multischema mode, SQL uses the authorization identifier for privilege checking at the schema level. If you do not specify an authorization identifier, you must specify a default schema, and SQL bases privilege checking on the user name of that schema's creator, except in SQL Module Language. You can specify a different authorization name for an SQL Module Language module by specifying the AUTHORIZATION clause in that module. For ANSI-compliant behavior, specify the /ANSI_AUTHORIZATION option on the module language command line or /SQLOPTIONS=(ANSI_AUTHORIZATION) on the precompiler command line so that a module can only be executed by the person who compiled it. Prior to Rdb/VMS Version 4.1, SQL used the term "authorization id" to mean an arbitrary name assigned to a database object by a user, and the term "alias" to mean a temporary name for a table to qualify an ambiguous column name. In Version 4.1, the arbitrary name assigned by a user to a database object is known as an "alias", and the temporary name for a table is known as a "correlation name". In Version 4.1, the DECLARE SCHEMA statement, which specified the alias in prior versions, is deprecated syntax. The DECLARE ALIAS statement replaces DECLARE SCHEMA in SQL module language DECLARE sections, in precompiler context files and in SQL statements embedded in host language programs to be precompiled. ATTACH replaces DECLARE SCHEMA in interactive and dynamic SQL, and CONNECT replaces DECLARE SCHEMA RUNTIME FILENAME.
BIGINT
Beginning with Version 4.1, the QUADWORD data type is called BIGINT.
Carry over locks
The lock carry-over optimization holds record and area locks across transactions. This optimization requires the NOWAIT signal lock, which may lead to long delays when processes are executing long statements. To avoid delays in acquiring the NOWAIT signal lock, you can disable this lock optimization by specifying the CARRY OVER LOCKS DISABLED argument in a CREATE or ALTER DATABASE statement.
C Support for CDD
SQL Module Language and the SQL Precompiler include new qualifiers to support new interpretations of CHAR data type fields extracted from data dictionary definitions and used in C programs. For syntax, see the Help topics Module_language record_type and INSERT.
CAST function
SQL provides the CAST function to let you convert the value in a column from one data type to any other data type, provided neither is the data type LIST OF BYTE VARYING. For more information, type HELP FUNCTIONS.
Colons in module language parameters
SQL now allows optional use of colons as prefixes to formal parameters in module language procedures as required by the ANSI/ISO standard for module language processors.
Connections
Connections allow you to control when applications attach and detach from an Rdb/VMS database, permits SQL access to request handles for migration of RDBPRE/RDML applications to SQL, and provides a global database context, called an SQL environment, that lets you write an SQL module for concurrent access to one or more Rdb/VMS databases. The ATTACH statement lets you specify the default database for subsequent SQL statements. The CONNECT and DISCONNECT statements let you add databases to or remove databases from the default SQL environment. (The FINISH statement is superseded by DISCONNECT DEFAULT.) The SET CONNECT statement lets you select a new default connection from any active connections that you have specified during your session. Use the /CONNECT option on the SQL module language processor command line or the /SQLOPTION=(CONNECT) clause on the precompiler command line to provide a global database context for modules in your application.
Constraint keyword changed
The SQL SET ALL CONSTRAINTS statement keywords ON and OFF have changed to IMMEDIATE and DEFERRED to comply with the ANSI SQL2 standard. The ON and OFF keyword are allowed, but their use is not standard.
Date and time data types
SQL provides DATE ANSI, DATE VMS, TIME, TIMESTAMP and INTERVAL data types that allow you to execute more complex queries that reference dates, times, and intervals. For more information, type HELP DATA_TYPES DATE.
Date and time functions
SQL provides CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP and EXTRACT functions to let you extract date/time fields, convert text into date and time fields, and fetch the current system values for date and time. For more information, type HELP FUNCTIONS.
Date arithmetic
You can use variables and constants of the SQL date and time data types in arithmetic expressions. For more information, type HELP ARITH_EXPR DATE.
Default lock wait
You can specify a number of seconds to wait during a lock conflict as a LOCK TIMEOUT INTERVAL in either the CREATE DATABASE or ALTER DATABASE statement.
DROP TABLE restricted
In Version 4.1, the DROP TABLE and DROP VIEW statements default behaviors are RESTRICT, not CASCADE. You must delete all items (views, constraints, inde or triggers) that refer to the specified table or view before you can delete that table or view.
Error literals
SQL now provides symbolic literals for the numeric error values (For example, SQL$DEADLOCK for -913) returned in the SQLCODE structure or numeric data type values (For example, SQL$_CHAR for 453) returned in the SQLDA structure. Rdb/VMS will supply symbolic literals in an include file for each major computer language. Because you will not have to hardcode error values in programs, error processing and detection will be easier.
Execution mode
You can use the SQL SET EXECUTE command to control whether SQL executes interactive statements as you issue them or merely returns diagnostic or optimization messages. The SQL SHOW EXECUTION MODE statement shows the current default execution mode.
Journal fast commit
You can specify JOURNAL FAST COMMIT on the ALTER DATABASE statement to take advantage of a different transaction processing algorithm that enhances performance in some environments. When you enable fast commit processing, Rdb/VMS keeps updated pages in the buffer pool and does not write the pages to disk when a transaction commits. The process writes only redo information to the After-image Journal (.AIJ) file: updated pages can remain in the buffer pool (in memory) until a user-specified threshold (called a checkpoint) is reached. At checkpoint, all the updated pages for multiple transactions are written to disk. If a transaction fails, Rdb/VMS must rollback the current, failed transaction and reprocess all the committed transactions since the last checkpoint. You can only specify JOURNAL FAST COMMIT if you disable snapshots, preventing online database backup. For other restrictions that apply to JOURNAL FAST COMMIT, see the SQL Reference Manual. For syntax type HELP ALTER DATABASE ALTER JOURNAL.
Global buffers
Different user processes in a cluster can map shared pages of the database to virtual memory to eliminate unnecessary database file reads. For more information, see the ALTER DATABASE and CREATE DATABASE topics.
LIMIT TO and ORDER BY
Prior to Version 4.1, you could use the LIMIT TO and ORDER BY clauses within DECLARE CURSOR CREATE VIEW, and certain interactive SELECT statements. Version 4.1 allows you to use LIMIT TO and ORDER BY clauses in any subqueries, including singleton SELECT statements. For syntax, see the SELECT statement help.
Multischema databases
Although single-schema databases are still the default for SQL, you can now optionally group your data definitions within multiple schemas, contained in catalogs within one database. Use the CREATE DATABASE MULTISCHEMA IS ON clause to create a new database with the multischema attribute, and the CREATE CATALOG and CREATE SCHEMA statements to populate the multischema database. The EXTERNAL NAME IS clause for each schema element CREATE statement lets you give unique names to definitions in a multischema database so that you can access them easily using interfaces that do not support multischema naming (such as RDO). The SHOW CATALOGS statement displays catalogs. The DROP CATALOG and DROP SCHEMA statements let you remove catalogs or schemas from a multischema database. By default, SQL uses multischema naming when you attach to a multischema database. In the ATTACH statement or the DECLARE ALIAS statement, the MULTISCHEMA IS OFF clause lets you attach to a multischema database without using multischema naming. Use either statement with the MULTISCHEMA IS ON clause to enable multischema naming again.
Obsolete features
The following features that were allowed in earlier versions of
SQL will be flagged with diagnostic messages in SQL Version V4.0
when you use them in programs:
o The DECLARE SCHEMA statement is replaced by ATTACH in
interactive SQL and DECLARE ALIAS in precompiled SQL and SQL
module language.
You must enclose the attach expression, including the
database handle (now called an alias) in single quotation
marks.
DECLARE SCHEMA AUTHORIZATION PERS FILENAME PERSONNEL; in
V4.0 syntax ATTACH 'ALIAS PERS FILENAME PERSONNEL'; in V4.1
syntax.
o The CREATE SCHEMA statement is replaced by CREATE DATABASE,
except when it refers to a logical schema in a multischema
database. You can no longer use qualifiers that specify
physical database attributes in the CREATE SCHEMA statement.
o The ALTER SCHEMA statement is replaced by ALTER DATABASE.
o The SHOW SCHEMA statement is replaced by SHOW DATABASE.
o The FINISH statement is replaced by DISCONNECT DEFAULT.
which does an automatic ROLLBACK.
o The REVOKE ON SCHEMA AUTHORIZATION statement is replaced by
REVOKE ON DATABASE ALIAS.
o The DROP SCHEMA statement is replaced by DROP DATABASE.
o The DROP SCHEMA FILENAME statement is replaced by DROP
DATABASE FILENAME.
o The DROP SCHEMA PATHNAME statement is replaced by DROP
DATABASE PATHNAME.
o The DROP SCHEMA AUTHORIZATION statement is replaced by DROP
DATABASE ALIAS.
o The SHOW SCHEMA statement shows schemas in a multischema
database but returns an error message in a database without
the multischema attribute.
o The statement INTEGRATE is replaced by INTEGRATE DATABASE.
o Use of double quotation marks, except to delimit a remote
node password or a reserved word.
o The qualifiers ON and OFF in the SET ALL CONSTRAINTS
statement, the module language qualifier /CONSTRAINTS=, and
the precompiler qualifier /SQLOPTIONS=CONSTRAINTS have been
replaced by IMMEDIATE and DEFERRED.
o The DATE data type no longer means a VMS timestamp
(28-JAN-1991 12:25:44.43). Use the TIMESTAMP data type for
a VMS timestamp. The default DATE data type will be in the
format DD-MMM-YYYY.
o The keyword SCHEMA in EXPORT and IMPORT is replaced by
DATABASE.
o The keyword AUTHORIZATION in DROP SCHEMA, and EXPORT SCHEMA
is replaced by ALIAS.
o The GRANT ON SCHEMA AUTHORIZATION statement is replaced by
GRANT ON DATABASE ALIAS.
o The IMPORT SCHEMA AUTHORIZATION statement is replaced by
IMPORT DATABASE FROM filespec [ALIAS alias].
o Beginning with Version 4.1, the QUADWORD data type is called
BIGINT.
For details about these features, see the VAX Rdb/VMS SQL
Reference Manual.
Online database modifications
You can modify some of the database parameters while other users are bound to the database and have transactions in progress. A list of those parameters that can be modified online appears in the SQL Reference Manual.
Optimizer interface
The optimizer interface provides feedback from the Rdb/VMS
optimizer to the application. Using the optimizer interface,
applications can:
o Specify the overall retrieval strategy. For syntax, see the
DECLARE CURSOR OPTIMIZE FOR clause.
o Check cost estimates for a query before executing it. For
syntax, see the module language option /[NO]QUERY_ESTIMATES
and the precompiler option /[NO]SQLOPTIONS=QUERY_ESTIMATES.
o Request a more restrictive lock for records that will be
updated, to reduce locking overhead and deadlocks that
result from upgrading locks from READ to WRITE. For syntax,
see the DECLARE CURSOR UPDATE ONLY clause.
Query governor
The query governor lets you establish limits for user queries that might consume excessive system resources. You can use the query governor to specify a maximum number of seconds or a maximum number of rows per query. Whichever value is reached first stops the output. You can use the query governor through interactive SQL, or by specifying new qualifiers for the precompiler or module language compiler. The query governor also controls dynamic SQL queries. The precompiler /SQLOPTIONS= qualifiers are QUERY_TIME_LIMIT=total-seconds and QUERY_MAX_ROWS=total-rows. The module language command line qualifiers are /QUERY_TIME_LIMIT=total-seconds and /QUERY_MAX_ROWS=total-rows. For interactive SQL syntax, see the SET statement topic.
Reserved word identifiers
You can use reserved words as identifiers, provided you enclose
them in double quotes ("). Use the interactive SQL statement
SET ANSI IDENTIFIERS, the module language command line option
/ANSI_IDENTIFIERS or the precompiler command line option
/OPTIONS=(ANSI_IDENTIFIERS) to use reserved words as
identifiers.
Run time SQL
The Rdb/VMS run time only (RTO) software is designed to let users run existing executable DML programs that access existing Rdb/VMS databases. The Version 4.1 RTO kit provides interactive SQL access to such databases. For a list of SQL statements available on the run time only kit, type HELP RUN_TIME_ONLY_KIT.
Terminology changes
Prior to Rdb/VMS Version 4.1, SQL used the term "authorization id" to mean an arbitrary name assigned to a database object by a user, and the term "alias" to mean a temporary name for a table to qualify an ambiguous column name. In Version 4.1, the arbitrary name assigned by a user to a database object is known as an "alias", and the temporary name for a table is known as a "correlation name".
Thresholds for logical areas
You can specify a different threshold for each logical area that is created by a storage map. Specify THRESHOLDS ARE in the STORE clause of the CREATE STORAGE MAP or CREATE INDEX statement. For more information, see CREATE INDEX and CREATE STORAGE MAP topics.
UNIQUE predicate
Prior to Rdb/VMS Version 4.1, SQL used the UNIQUE predicate keyword as a boolean that returns a true value when exactly one record satisfies a record select expression. For Version 4.1, the use of the UNIQUE predicate keyword is deprecated: use the SINGLE keyword instead.
Warning mode
The SET WARNING DEPRECATE statement displays diagnostic messages when you issue a statement containing obsolete syntax in interactive SQL. The SQL SHOW WARNING MODE statement shows the current default warning mode.
Write Once storage areas
You can now create storage areas for segmented string and list data on write-once read-many (WORM) optical disks. Specify the WRITE ONCE option of the storage area parameter clause in the CREATE STORAGE AREA, CREATE DATABASE, or ALTER DATABASE statement.
Precompiler
SQL uses a single precompiler, SQL$PRE, to preprocess programs
written in Ada, C, COBOL, FORTRAN, Pascal, and PL/I. The
precompiler lets you embed DML and DDL statements in programs
that will access Rdb/VMS databases. You can define symbols to
invoke the precompiler for your host language:
$ SADA :== $SYS$SYSTEM:SQL$PRE/ADA
$ SCC :== $SYS$SYSTEM:SQL$PRE/CC
$ SCOB :== $SYS$SYSTEM:SQL$PRE/COBOL
$ SFOR :== $SYS$SYSTEM:SQL$PRE/FORTRAN
$ SPAS :== $SYS$SYSTEM:SQL$PRE/PASCAL
$ SPLI :== $SYS$SYSTEM:SQL$PRE/PLI
Additional information available:
Command lineAda Host Variables
Command line
host-file-spec ──> typebox (/) ─┬─>
A
D
A ─────┬─┐ ├─>
C
C ──────┤ │ ├─>
C
O
B
O
L ───┤ │ ├─>
F
O
R
T
R
A
N ─┤ │ ├─>
P
A
S
C
A
L ──┤ │ └─>
P
L
I ─────┘ │ ┌─────────────────<─────────────────┘ └┬┬─────────────────────────>─────────────────────────┬┬─> │├─> typebox (/) ─┬───>──┬──>
O
B
J
E
C
T ─┬────────>───────┬───────┤│ ││ └─
N
O ─┘ └─> typebox (=) file-spec ─┘ ││ │├─> typebox (/) ─┬───>──┬──>
G
F
L
O
A
T ─────────────────────────┤│ ││ └─
N
O ─┘ ││ │├─> typebox (/)
S
Q
L
O
P
T
I
O
N
Stypebox (=) ( ─┬> opt-qualifiers ─┬> ) ───────┤│ ││ └─────── , <───────┘ ││ │└─> typebox (/) ─┬──────┬──>
A
N
S
I ────────────────────────────┘│ │ └>
N
O ─┘ │ └──────────────────────────<──────────────────────────┘
Additional information available:
More InformationQualifiersSQLOPTIONS qualifiers
More Information
You can invoke the precompiler in one of two ways:
o Enter the input file name on the same line as the invoke
statement.
o Invoke the precompiler without an input file name and wait
for the INPUT prompt to enter the input file name.
The SQL$PRE precompiler accepts compile switches on the command
line and at the INPUT prompt. Precede all compile switches with
a slash (/). If you enter the compile switches on the command
line, you can include compile switches ahead of the input file
specification as well as after it. Leave at least one space
between the last switch and the input file specification.
SQL$PRE does not prompt for compile switches.
SQL$PRE produces two output files in your default directory:
o A host language source file
The precompiler assigns the language default file type to
the host language source file. For example:
Original source file: PROGRAMB.SCO
Host language source file: PROGRAMB.COB
o An object file
Object files have an .OBJ file type. Using a compile
switch, you can instruct SQL$PRE to write the object file to
another directory. For example, if SCOB is a symbol for
"$SYS$SYSTEM:SQL$PRE/COBOL":
$ SCOB PROGRAMC/OBJECT=$222$DISK3:[PAYROLL.OBJS]
SQL$PRE lists the following information in the host language
source file:
o Date and time the program was compiled
o Version of the precompiler used
o Underlying versions of Rdb/VMS, if any
o Command line used to precompile the program
o Precompile errors, if any
Qualifiers
host-file-spec: The file specification for a host language source file that contains embedded SQL statements. The default file type for the source file depends on the host language specified in the language qualifier: Language Default File Type -------- ----------------- Ada .SQLADA C .SC COBOL .SCO FORTRAN .SFO PL/I .SPL ADA,CC,COBOL,FORTRAN,PASCAL,PLI: Refers to the host language in which the program containing SQL statements is written. You must supply a language qualifier. [NO]OBJECT: Specifies whether or not the SQL precompiler creates an object file when compilation does not generate fatal errors and, if an object file is produced, what the file is named. /OBJECT is the default. [NO]G_FLOAT: Specifies whether or not the SQL precompiler assigns a G-floating or D-floating interpretation to the DOUBLE data type in a formal parameter list. /G_FLOAT is the default for all languages except COBOL. For information on the optional qualifiers that follow /SQLOPTIONS, see the Help topic PRECOMPILER COMMAND_LINE SQLOPTIONS_QUALIFIERS MORE. [NO]ANSI: Specifies whether the SQL precompiler accepts terminal format COBOL or ANSI format COBOL. The default is terminal format COBOL (NOANSI).
SQLOPTIONS qualifiers
opt-qualifiers = ───┬─┬──────┬┬─>
A
N
S
I
A
U
T
H
O
R
I
Z
A
T
I
O
N ─────────────────────┬─> │ └>
N
O ─┘├─>
A
N
S
I
D
A
T
E ──────────────────────────────┤ │ ├─>
A
N
S
I
I
D
E
N
T
I
F
I
E
R
S────────────────────────┤ │ ├─>
A
N
S
I
Q
U
O
T
I
N
G ───────────────────────────┤ │ ├─>
F
L
A
G
N
O
N
S
T
A
N
D
A
R
D────────────────────────┤ │ ├─>
I
N
I
T
I
A
L
I
Z
E
H
A
N
D
L
E
S ─────────────────────┤ │ ├─>
Q
U
E
R
Y
E
S
T
I
M
A
T
E
S ────────────────────────┤ │ ├─>
C
O
N
N
E
C
T ────────────────────────────────┤ │ └─>
W
A
R
N ┬──────────────────────────────────┤ │ └> typebox (=) ( ─┬─> warning-option ─┬─> ) ─┤ │ └────── , <─────────┘ │ ├─>
C
O
N
S
T
R
A
I
N
T
M
O
D
E
= ─┬─>
I
M
M
E
D
I
A
T
E ──────────────────┤ │ ├─>
D
E
F
E
R
R
E
D ───────────────────┤ │ ├─>
O
N ─────────────────────────┤ │ └─>
O
F
F ────────────────────────┤ ├─> database-options ─────────────────────────────────┤ ├─>
Q
U
E
R
Y
T
I
M
E
L
I
M
I
T typebox (=) total-seconds ─────────────────┤ └─>
Q
U
E
R
Y
M
A
X
R
O
W
S typebox (=) total-rows ──────────────────────┘
Additional information available:
More informationdatabase optionswarning options
More information
/SQLOPTIONS=[NO]ANSI_AUTHORIZATION: Specifies whether or not a module can only be executed by the person with the default authorization identifier. Unless you specify a different authorization identifier using an AUTHORIZATION clause in the module, the default authorization identifier for a module is that of the person who created the module. The default setting is SQLOPTIONS=(NOANSI_AUTHORIZATION). /SQLOPTIONS=[NO]ANSI_DATE: Specifies the default interpretation for columns with the DATE or CURRENT_TIMESTAMP data type. The VMS format DATE and CURRENT_TIMESTAMP contain YEAR to SECOND fields, like a TIMESTAMP. The ANSI format DATE contains only the YEAR to DAY fields. You can change DATE and CURRENT_TIMESTAMP to ANSI format with the qualifier /SQLOPTIONS=(ANSI_DATE). The default setting is /SQLOPTIONS=(NOANSI_DATE), where both data types are interpreted as VMS format. /SQLOPTIONS=[NO]ANSI_IDENTIFIERS: Specifies whether or not SQL checks statements that use reserved words as user-supplied names. If you specify the /SQLOPTIONS= (ANSI_IDENTIFIERS) qualifier, SQL checks statements for reserved words from the ANSI 89 Standard and the ANSI/ISO SQL2 Draft Standard. A SQL Reference Manual appendix lists these reserved words. You must enclose reserved words in double quotation marks to supply them as user-supplied names in SQL statements. /SQLOPTIONS=[NO]ANSI_QUOTING: Specifies whether or not you can enclose identifiers within double quotation marks. If you set SQLOPTIONS=(ANSI_QUOTING), SQL allows qualified names like the following: SQL> SHOW TABLE "PERS_ALIAS.DEPT1_CATALOG".EAST_SCHEMA.EMPLOYEES; Such qualified names, called delimited identifiers, are needed for naming objects in multischema databases. /SQLOPTIONS=[NO]FLAG_NONSTANDARD: Specifies whether SQL flags syntax that does not comply with the ANSI/ISO standard. When you specify FLAG, SQL issues an informational message after you issue a statement containing syntax that is not standard. NOFLAG is the default. /SQLOPTIONS=[NO]INITIALIZE_HANDLES: Specifies whether or not handle values in the module should be initialized to zero. You must initialize handles in order to build shared images. If you need to run RDBPRE and RDML applications in SQL, specify INITIALIZE_HANDLES. NOINITIALIZE_HANDLES is the default. /SQLOPTIONS=[NO]QUERY_ESTIMATES: Specifies whether or not SQL returns the estimated number of rows and estimated number of disk I/O operations in the SQLCA structure. If you specify the default, /QUERY_ESTIMATES, SQL returns the estimated number of rows in the field SQLCA.SQLERRD[2] and the estimated number of disk I/O operations in the field SQLCA.SQLERRD[3]. The value of SQLCA.SQLERRD[2] and SQLCA.SQLERRD[3] is normally zero after you execute an OPEN statement for a table. /SQLOPTIONS=[NO]CONNECT: Specifies whether or not SQL allows multiple user connections and access to global databases across modules. The default is /SQLOPTIONS=NOCONNECT. /SQLOPTIONS=[NO]WARN: Specifies whether or not the SQL precompiler writes informational and warning messages to the preprocessed host language source file and to SYS$ERROR and SYS$OUTPUT (if different from SYS$ERROR). SQLOPTIONS=WARN is the default. /SQLOPTIONS=(CONSTRAINT_MODE=ON) and /SQLOPTIONS=(CONSTRAINT_MODE=OFF): Set the default constraint evaluation mode for commit-time constraints. (These qualifiers do not affect the evaluation of verb-time constraints.) The default is OFF: that is, commit-time constraints are evaluated at commit time. Setting constraints ON causes each of the affected constraints to be evaluated immediately, as well as at the end of each statement--until the SET ALL CONSTRAINTS OFF statement is issued or until the transaction completes with a commit or rollback operation. This qualifier can be overridden by the SET ALL CONSTRAINTS statement. SQL users who require ANSI/ISO standard SQL compatibility should set constraints ON. The default of having constraints set OFF is probably acceptable for most other users. For a list of the database options, see the database_options subtopic under sqloptions_qualifiers. /SQLOPTIONS=(QUERY_TIME_LIMIT=total-seconds): Limits the number of records returned during query processing by counting the number of seconds used to process the query and returning an error message if the query exceeds the total number of seconds specified. The default is unlimited time for the query compile. Dynamic SQL options will be inherited from the compilation qualifier. /SQLOPTIONS=(QUERY_MAX_ROWS=total-rows): Limits the number of records returned during query processing by counting the number of rows returned by the query and returning an error message if the query exceeds the total number of rows specified. The default is an unlimited number of record fetches. Dynamic SQL options will be inherited from the compilation qualifier.
database options
database-options = ───┬─>
E
L
N ──────────────────────────────┬─> ├─>
N
S
D
S ─────────────────────────────┤ ├─>
R
D
B
V
M
S ───────────────────────────┤ ├─>
R
D
B
0
3
0 ───────────────────────────┤ ├─>
R
D
B
0
3
1 ───────────────────────────┤ ├─>
R
D
B
0
4
0 ───────────────────────────┤ ├─>
R
D
B
0
4
1 ───────────────────────────┤ ├─>
V
I
D
A ─────────────────────────────┤ └─>
N
O
V
I
D
A ───────────────────────────┘ The database options specify types of supported databases that your application can access. The precompiler database option can be overridden by an attach to a database at run time. On the DECLARE statement, SQL sets the database options of the specified database. Most database options specify a version of Rdb/VMS, wth the following exceptions: /SQLOPTIONS=[NO]RDBELN: Specifies whether the SQL precompiler processes a program for access to a VAXELN database. /SQLOPTIONS=[NO]NSDS: Specifies whether the SQL precompiler processes a program for access to a database created with the Non-SQL-Data Server for RdbAccess for VAX RMS. /SQLOPTIONS=[NO]VIDA: Specifies whether the SQL precompiler correctly processes a program for access to a VIDA database. If you specify /SQLOPTIONS=VIDA, the precompiler will access the program for VIDA unless a specific DECLARE ALIAS statement indicates NOVIDA. If you do not specify VIDA in one of these places, but you try to access a VIDA database, you may get an error message. If you do specify VIDA in these places, but attempt to access an Rdb/VMS database, then certain features will not work as expected for the current version of Rdb/VMS. The default is /SQLOPTIONS=NOVIDA.
warning options
warning-option =
┬─>
W
A
R
N
I
N
G ──────┬─>
├─>
N
O
W
A
R
N
I
N
G ────┤
├─>
D
E
P
R
E
C
A
T
E
D ───┤
└─>
N
O
D
E
P
R
E
C
A
T
E
D ─┘
If you specify a single warning option, you do not need the
parentheses.
The [NO]WARNING option to the /SQL_OPTIONS=WARN qualifier
specifies whether or not the precompiler writes warning messages
to your terminal, a listing file, or both.
The [NO]DEPRECATED option to the /SQL_OPTIONS=WARN qualifier
specifies whether or not the precompiler writes diagnostic
messages about deprecated features.
Deprecated features are features that are currently allowed but
will not be allowed in future versions of SQL. Examples of
deprecated features are obsolete keywords such as VERB_TIME
(instead of VERB TIME) or the use of double instead of single
quotation marks to delimit string literals. For a complete list
of deprecated features, see the VAX Rdb/VMS SQL Reference
Manual.
The precompiler default, SQLOPTIONS=WARN, is equivalent to
SQLOPTIONS=WARN=(WARNING, DEPRECATED).
Ada Host Variables
The Ada precompiler now allows you to define host variables used in SQL statements in terms of the definitions in another package. This package is defined in the ANSI/ISO standard for embedded SQL. The name of the package is SQL_STANDARD, and its definition is in the file SYS$COMMON:[SYSLIB]SQL$STANDARD.ADA. You must compile this package and add it to your library in order to use it.
USING_CONTEXT
EXEC SQL ────>
U
S
I
N
G
C
O
N
T
E
X
T ───> typebox (:)variable ──> typebox (S)typebox (Q)typebox (L)-statement When you use precompiled SQL, you can explicitly use the two-phase commit protocol. To do this, your application must explicitly call the DECdtm system services and declare a context structure. The context structure contains the distributed transaction identifier (distributed TID) as one of its elements. In addition, most executable SQL statements that are involved in the distributed transaction must include a USING CONTEXT clause.
Additional information available:
More Information
You cannot pass a context structure to the following statements because you cannot execute them when a transaction is already started: CREATE DATABASE, DROP PATHNAME, DROP DATABASE. You cannot pass a context structure to the following statements because you cannot use them in transactions started by explicit calls to the DECdtm system services: COMMIT, DISCONNECT, ROLLBACK. You cannot pass a context structure to the following statements because they do not execute within the scope of a transaction and they are independent of any transaction context: ATTACH, CONNECT, DESCRIBE, DISCONNECT, RELEASE, SET CONNECT, and Extended Dynamic DECLARE CURSOR.
predicate
predicate = ─┬─┬────────┬──┬─> basic-predicate ────────────────┬─┬──> │ └─>
N
O
T ─┘ ├─> between-predicate ──────────────┤ │ │ ├─> containing-predicate ───────────┤ │ │ ├─> exists-predicate ───────────────┤ │ │ ├─> in-predicate ───────────────────┤ │ │ ├─> like-predicate ─────────────────┤ │ │ ├─> null-predicate ─────────────────┤ │ │ ├─> quantified-predicate ───────────┤ │ │ ├─> starting-with-predicate ────────┤ │ │ ├─> unique-predicate ───────────────┤ │ │ └─> (predicate) ────────────────────┘ │ │ │ └──────────────────┬─
A
N
D <──┬──────────────────────┘ └──
O
R <──┘
Additional information available:
BETWEENCONTAININGEXISTSINLIKENULL
STARTING_WITHUNIQUE
More Informationbasiccomplexquantified
More Information
A predicate follows the WHERE or HAVING keywords and specifies a condition that SQL evaluates as true, false, or unknown. Predicates are also called conditional expressions. You can specify several different types of predicates with different conditional operators. The different types of predicates are: Basic predicate BETWEEN predicate Complex predicate CONTAINING predicate EXISTS predicate IN predicate LIKE predicate NULL predicate Quantified predicate STARTING WITH predicate UNIQUE predicate
basic
A basic predicate compares two values. It has this form: basic-predicate = ────> value-expr ─┬─> typebox (=) ──┬─> value-expr ──> ├─> <> ─┤ ├─> < ──┤ ├─> <typebox (=) ─┤ ├─> > ──┤ └─> >typebox (=) ─┘ See the online HELP topic Value_expression for more information about value expressions.
BETWEEN
A BETWEEN predicate compares a value with a range of values. It has this form: between-predicate = ───> value-expr ─┬───>──┬─>
B
E
T
W
E
E
N value-expr AND value-expr ───> └>
N
O
T ┘ As with IN predicates, BETWEEN predicates are a convenient way of representing conditions that have equivalent forms using other conditional operators: value1 BETWEEN value2 AND value3 is the same as the complex predicate (value1 >= value2) AND (value1 <= value3)
complex
A complex predicate combines any number of predicates with the Boolean operators AND, OR, and NOT. Boolean operators are also called logical operators. A complex predicate has this form: complex-predicate = ─┬─┬─────────┬─┬───────┬─> predicate ──┬───────┬───┬───────────────> │ └─>
N
O
T ──┘ └─> ( ──┘ └─> ) ──┘ ├─>
A
N
D ──┬─┐ │ └─>
O
R ───┘ │ └───────────────────────────<─────────────────────────────────┘
Additional information available:
More Information
Note that you can, and occasionally must, set off predicates
within a complex predicate with parentheses. SQL evaluates
parts of a complex predicate in this order:
o Predicates enclosed in parentheses
(If there are nested predicates in parentheses, the
innermost predicate is evaluated first.)
o Predicates preceded by NOT
o Predicates combined with AND
o Predicates combined with OR
CONTAINING
A CONTAINING predicate tests whether the result table specified in the second value expression is found within the string specified by the first. The CONTAINING predicate has this form: containing-predicate = ───> value-expr ─┬───>───┬─>
C
O
N
T
A
I
N
I
N
G ──> value-expr ──> └>
N
O
T ─┘ The CONTAINING predicate is not case sensitive.
EXISTS
An EXISTS predicate tests whether the result table specified in
a column select expression is empty. It has this form:
exists-predicate =
───>
E
X
I
S
T
S ( col-select-expr ) ───>
If the result table specified in the select expression has one
or more rows, SQL evaluates the EXISTS predicate as true.
Otherwise, the predicate is false. An EXISTS predicate cannot
be unknown.
Because it merely checks for the existence of rows, an EXISTS
predicate allows a wildcard in the select list of the column
select expression to specify a multicolumn table. It is the
only type of predicate that allows this.
IN
An IN predicate compares a value with another value or a collection of values. It has this form: in-predicate = ──> value-expr ─┬────>───┬─>
I
N ─┬─> value-expr ──────────────────────┬──> └─>
N
O
T ─┘ └─> ( ─┬┬─> value-expr ─────┬┬─> ) ─┘ │└─> col-select-expr ─┘│ └────────── , <────────┘
Additional information available:
More Information
For all the forms of IN predicates, there is an equivalent form
using other conditional operators:
o value-expr IN value-expr
is the same as the basic predicate
value-expr = value-expr
o value-expr IN (value-expr1, value-expr2, value-expr3)
is the same as the complex predicate
value-expr = value-expr1
OR
value-expr = value-expr2
OR
value-expr = value-expr3
o value_expr IN (col-select-expr1, val-expr2,
col-select-expr3)
is the same as the quantified predicate
value-expr = ANY (col-select-expr1)
OR
value-expr = val-expr2
OR
value expr = ANY (col-select-expr3)
LIKE
A LIKE predicate searches character string literals for pattern matches. The LIKE predicate is case-sensitive; it considers uppercase and lowercase forms of the same character to be different characters. It has this form: like-predicate = ───> value-expr ─┬───>──┬─>
L
I
K
E ─────> pattern ──────>──────┐ └>
N
O
T ┘ │ ┌────────────────────────────────<──────────────────────┘ └───┬────────────────────────────┬─> ├─> typebox (E)typebox (S)typebox (C)typebox (A)typebox (P)typebox (E) escape-character │ └─> typebox (I)typebox (G)typebox (N)typebox (O)typebox (R)typebox (E) typebox (C)typebox (A)typebox (S)typebox (E) ─────────────┘ pattern = ─┬─> string-literal ─┬───> ├─>
U
S
E
R ───────────┤ └─> parameter ──────┘ Select More_Information to continue.
Additional information available:
More Information
Because LIKE is case-sensitive, searches for uppercase multinational characters will not include lowercase multinational characters, and vice versa. SQL interprets the value-expr argument as a character string and compares it to the string literal, the value represented by the parameter, or the USER keyword (a 12-character string padded or truncated to the length of the column). Select More_Information to continue.
Additional information available:
More Information
Within the string literal or value represented by the parameter
or the USER keyword, the percent sign and underscore characters
have special meaning:
o The percent sign character (%) stands for any string of
characters, including no characters at all.
o The underscore character (_) stands for any single
character.
o An escape character causes SQL to interpret a wildcard
character as itself to search for character strings
containing the wildcard character.
All other characters stand for themselves.
You cannot specify both the IGNORE CASE and the ESCAPE keywords
in the same boolean.
NULL
A NULL predicate tests for null values in value expressions. It has this form: null-predicate = ────> value-expr ───>
I
S ─┬────>───┬─>
N
U
L
L ───> └─>
N
O
T ─┘ SQL never evaluates a NULL predicate as unknown: it is always true or false. If the value expression is null, SQL evaluates the predicate as true. If the value expression is not null, the predicate is false. Note that NULL predicates are the only way to construct a query that includes rows in a result table by testing whether the rows have null values. Other constructions such as NOT = or <> do not include rows with null values in their result tables.
quantified
A quantified predicate compares a value with a collection of values. It has the same form as a basic predicate except that the second operand must be a column select expression preceded by ALL, ANY, or SOME: quantified-predicate = ───> value-expr ─┬─> typebox (=) ──┬─┬─>
A
L
L ──┬─> ( col-select-expr ) ──> ├─> <> ─┤ ├─>
A
N
Y ──┤ ├─> < ──┤ └─>
S
O
M
E ─┘ ├─> <typebox (=) ─┤ ├─> > ──┤ └─> >typebox (=) ─┘ If you use ALL, then SQL evaluates the predicate as true if the relationship is true for every row of the result table specified by the column select expression or if the result table has no rows. If you use ANY or SOME (both keywords have the same effect), SQL evaluates the predicate as true if the relationship is true for at least one of the rows in the result table specified by the column select expression.
STARTING_WITH
starting-with-predicate = ──> value-expr ─┬──>───┬─>
S
T
A
R
T
I
N
G
W
I
T
H ──> value-expr ──> └
N
O
T ─┘ The STARTING WITH predicate tests whether the first characters of the first value expression match those specified in the second value expression. The STARTING WITH predicate is case sensitive.
UNIQUE
unique-predicate=
q
q
q
>
U
N
I
Q
U
E
q
q
> col-select-expr)
q
q
q
> The UNIQUE predicate tests whether the result table specified in the select expression has only one row. If it has only one row, SQL evaluates the UNIQUE predicate as true. Otherwise, the predicate is false. SQL evaluates the NOT UNIQUE predicate as true if the result table specified in the select expression has more than one row. The UNIQUE and NOT UNIQUE predicates cannot be unknown. Because it merely checks for the existence of rows, a UNIQUE predicate does not require that the result table from its column select expression be a single column wide. For UNIQUE predicates, an asterisk wildcard in the column select expression can refer to a multicolumn table.
Release Notes
The release notes for the SQL interface to Rdb/VMS are part of
the VAX Rdb/VMS Release Notes, which are available online in
this file:
SYS$HELP:RDBVMSvvu.RELEASE_NOTES
where vv = version
u = update
For example:
SYS$HELP:RDBVMS031.RELEASE_NOTES
Published release notes may differ from the online release notes
because the latest information was not available at publication
time. Therefore, you should also read the online release notes
to see if additional notes have been added since the printed
version.
REVOKE ANSI style
Removes privileges from an entry in a database, table, or column access privilege set. REVOKE ───────────>───────────┐ │ ┌───────────────<─────────────┘ └┬> db-privs-ansi ─────>
O
N
D
A
T
A
B
A
S
E typebox (A)typebox (L)typebox (I)typebox (A)typebox (S) ─┬─> alias ─┬─┬─┐ │ └─── , <───┘ │ │ ├─> table-privs-ansi ─>
O
N ┬─────>────┬─┐ │ │ │ └─>
T
A
B
L
E ─┘ │ │ │ │ ┌───────────────────────────────────┘ │ │ │ └─┬─┬─> table-name ─┬─┬─────────────────>───────────┤ │ │ │ └─> view-name ──┘ │ │ │ │ └───────── , <──────┘ │ │ │ │ │ └─> column-privs-ansi ─>
O
N
C
O
L
U
M
N ─┬─> column-name ──┬─┘ │ └─────── , <──────┘ │ ┌────────────────────────────<──────────────────────────┘ └─>
F
R
O
M ─┬─┬─> identifier-ansi-style ─┬──┬───────────> typebox (;) │ └─>
P
U
B
L
I
C ────────────────┘ │ └───────────── , <──────────────┘
Additional information available:
More Informationcolumn privs ansitable privs ansidb privs ansi
identifier ansi style
More Information
The REVOKE statement removes privileges from the Rdb/VMS access
privilege set for a database, table, or column. Each entry in
an access privilege set consists of an identifier and a list of
privileges assigned to the identifier:
o Each identifier specifies a user or PUBLIC.
o The set of privileges specifies what operations that user or
user group can perform on the database or table.
For ANSI style databases the access privilege set is not
order-dependent. The user matches the entry in the access
privilege set and gets whatever privileges have been granted on
the database, table, or column and also gets the privileges
defined for PUBLIC. A user without an entry in the access
privilege set will get only the privileges defined for PUBLIC.
There is always an entry for PUBLIC in the access privilege set,
even if PUBLIC has no access to the database, table, or column.
Additional information available:
More Information
When a privilege is revoked from the grantee who received the privilege with the WITH GRANT OPTION clause, the privilege will also be revoked from all the users who received the privilege from that grantee (unless these users have received the privilege from yet another user who still has the privilege).
column privs ansi
One or more of the following column privileges you want to remove from an existing access privilege set entry or create in a new one: column-privs-ansi = ───┬─┬─┬─>
U
P
D
A
T
E ─────┬─┬──┬──> │ │ └─>
R
E
F
E
R
E
N
C
E
S ─┘ │ │ │ └─────── , <────────┘ │ └─────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ──┘ To revoke all privileges from the specified column(s), specify the ALL keyword instead of a set of privileges. You can only revoke column level privileges that have been specifically granted at the column level.
table privs ansi
One or more of the following table privileges you want remove from an existing access privilege set entry or create in a new one: table-privs-ansi = ─┬──┬─┬─>
S
E
L
E
C
T ─────────────────────────────┬─┬──┬──> │ │ ├─>
I
N
S
E
R
T ─────────────────────────────┤ │ │ │ │ ├─>
D
E
L
E
T
E ─────────────────────────────┤ │ │ │ │ ├─>
C
R
E
A
T
E
T
A
B ──────────────────────────┤ │ │ │ │ ├─>
A
L
T
E
R ──────────────────────────────┤ │ │ │ │ ├─>
D
R
O
P ───────────────────────────────┤ │ │ │ │ ├─>
D
B
C
T
R
L ─────────────────────────────┤ │ │ │ │ ├─>
S
H
O
W ───────────────────────────────┤ │ │ │ │ ├─>
R
E
F
E
R
E
N
C
E
S ┬───────────────────────┤ │ │ │ │ │ └>( ┬> column-name ┬> )─┤ │ │ │ │ │ └───── , <─────┘ │ │ │ │ │ └─>
U
P
D
A
T
E ─┬───────────────────────────┤ │ │ │ │ └>( ┬> column-name ┬────> )─┘ │ │ │ │ └───── , <─────┘ │ │ │ └─────────────────── , <────────────────────┘ │ └──────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ──────────────────────────┘ To revoke all privileges from the specified table(s), specify the ALL keyword instead of a list of privileges.
db privs ansi
One or more of the following privileges you want to remove from an existing access privilege set entry or create in a new one: db-privs-ansi = ────┬───┬─┬─>
S
E
L
E
C
T ─────┬─┬────┬─> │ │ ├─>
I
N
S
E
R
T ─────┤ │ │ │ │ ├─>
O
P
E
R
A
T
O
R ───┤ │ │ │ │ ├─>
D
E
L
E
T
E ─────┤ │ │ │ │ ├─>
C
R
E
A
T
E
T
A
B ──┤ │ │ │ │ ├─>
A
L
T
E
R ──────┤ │ │ │ │ ├─>
D
R
O
P ───────┤ │ │ │ │ ├─>
D
B
C
T
R
L ─────┤ │ │ │ │ ├─>
D
B
A
D
M ──────┤ │ │ │ │ ├─>
S
H
O
W ───────┤ │ │ │ │ ├─>
R
E
F
E
R
E
N
C
E
S ─┤ │ │ │ │ ├─>
U
P
D
A
T
E ─────┤ │ │ │ │ ├─>
S
E
C
U
R
I
T
Y ───┤ │ │ │ │ └─>
D
I
S
T
R
I
B
T
R
A
N ┘ │ │ │ └────────, <────────┘ │ └───────>
A
L
L typebox (P)typebox (R)typebox (I)typebox (V)typebox (I)typebox (L)typebox (E)typebox (G)typebox (E)typebox (S) ────┘ To revoke all privileges on the database, specify the ALL keyword instead of a set of privileges. You must attach all databases that you refer to in a REVOKE statement. If you use the default database declaration, you must use the alias RDB$DBHANDLE to work with the access privilege set for the database.
identifier ansi style
Specifies the identifiers for the new or modified access privilege set entry. identifier-ansi-style = ──────> uic-identifier ─────────> The identifiers are standard VMS identifiers. In ANSI style databases you are only allowed to specify single-user UICs. No general or system identifiers are allowed. They identify only those users who are common to all the groups defined by the individual identifiers. Users who do not match all the identifiers are not controlled by that entry. Specifying PUBLIC is equivalent to using the UIC identifier [*,*]. When Rdb/VMS creates an ANSI style database, the creator of the database gets all privileges and the PUBLIC entry gets no privileges.
Sample Databases
To help you learn and test Rdb/VMS features, Rdb/VMS provides
online files that you can execute to create the following sample
databases:
o PERSONNEL
The PERSONNEL database is a single-file database. You can
build it using the SQL or RDO interfaces, and you can choose
to integrate the database with the data dictionary.
o MF_PERSONNEL
The MF_PERSONNEL database is a multifile database. You can
build it using the SQL or RDO interfaces, and you can choose
to integrate the database with the data dictionary.
o CORPORATE_DATA
The CORPORATE_DATA database is a single-file database that
demonstrates the use of the multischema feature of SQL. You
can build it using only SQL. You cannot store the data
definitions in the data dictionary.
The PERSONNEL and MF_PERSONNEL databases contain the same do-
mains, tables, and columns. The CORPORATE_DATA database con-
tains slightly different domains, tables, and columns.
When you build the single-file PERSONNEL database, the command
procedure builds a database called PERSONNEL.RDB, regardless of
the interface language used. When you build the multifile
MF_PERSONNEL database, the command procedure builds a database
called MF_PERSONNEL.RDB (plus related stroage area files),
regardless of the interface language used. Note that you can
use either the SQL or RDO interface to work with the resulting
database or databases, regardless of whether the database was
created using SQL or RDO command files.
When you build the multischema CORPORATE_DATA database, the
command procedure builds a database called CORPORATE_DATA.RDB.
You can use only SQL to build the database. Although you can
use RDO to work with the database, RDO does not allow you to
take advantage of the multischema feature.
The single-file database occupies approximately 2200 disk
blocks. The multifile version of the same database occupies
about 2900 disk blocks. The multischema database occupies about
2900 blocks.
Additional information available:
Creating Sample Databases
You use a single command procedure (RDM$DEMO:PERSONNEL.COM) to
create the various forms of the sample databases.
By default, the command procedure builds the single-file
PERSONNEL database using SQL data definitions. It does not use
the data dictionary. Use the following command to build this
database:
$ @RDM$DEMO:PERSONNEL
You can specify parameters when you invoke the procedure to
create alternative versions of the sample databases. The fol-
lowing shows the format of the command you enter to create a
sample database:
$ @RDM$DEMO:PERSONNEL interface-language database-form
dictionary multischema
The four parameters specify the following choices:
1. Interface language: Enter SQL or RDO.
Use of either SQL or RDO as the data definition language.
SQL is the default.
There are slight differences between the the SQL and the RDO
definitions of PERSONNEL and MF_PERSONNEL.
2. Database-form: Enter S or M.
Creation of either a single-file or multifile database. A
single-file database is the default.
3. Dictionary: Enter CDD or NOCDD.
Whether or not to store data definitions in the data dic-
tionary. The default is not to store data definitions in
the data dictionary.
4. Multischema: Enter MSDB or omit parameter.
Creation of a multischema database, CORPORATE_DATA. Note
that for the first three parameters you must specify the SQL
interface, the single-file database form, and that data def-
initions not be stored in the data dictionary. The
following example demonstrates how to create the multischema
database:
$ @RDM$DEMO:PERSONNEL SQL S NOCDD MSDB
To specify the second, third or fourth parameters, you must
include any previous parameters. You can use upper case,
lower case, or mixed case to specify the parameters.
For example, to build the the multifile version using SQL
data definitions and storing the data definitions in the
data dic- tionary, enter the following command:
$ @RDM$DEMO:PERSONNEL SQL M CDD
The log of the database definition statements used in creating
the database is placed in a file called PERSONNEL.LOG in the
same directory as the database files. The file is named
PERSONNEL.LOG regardless of which options you specified or
accepted as defaults (for example, regardless of whether you
created a single-file or multifile database).
select expr
select-expr = ─┬─┬─> select-clause ─────┬─┬────────────────────┬─┐ │ └─>( select-expr ) ────┤ └─> order-by-clause ─┘ │ │ ┌─────────<────────────┘ │ │ └─>
U
N
I
O
N ─┬───────┬────┐ │ │ └─>
A
L
L ─┘ │ │ └───────<────────────────┘ │ ┌─────────────────────────────────────────────────┘ └─┬────────────────────┬───────────────────────────> └─> limit-to-clause ─┘
Additional information available:
More Informationselect clauseselect list
More Information
The basic element of SQL syntax is the select expression. Select expressions are the basis for the SELECT, DECLARE CURSOR, CREATE VIEW, and INSERT statements. Select expressions specify a result table. A result table is a temporary table derived from some combination of the tables or views identified in the FROM clause of the statement.
select clause
select-clause = SELECT ─┬──────>──────┬─> select-list ──┐ ├─>
A
L
L ──────┤ │ └─>
D
I
S
T
I
N
C
T ─┘ │ ┌──────────────────────────────<────────┘ └─>
F
R
O
M ─┬┬─> table-name ─┬┬─────>─────────────┬┬─┐ │└─> view-name ──┘└> correlation-name ┘│ │ └────────── , <────────────────────────┘ │ ┌──────────────────────────────────────────────────┘ └┬─────────>────────┬┬─────────────>──────────────┬┐ └>
W
H
E
R
E predicate ┘└>
G
R
O
U
P
B
Y ─┬> column-name ┬┘│ └─────── , <───┘ │ ┌────────────────────────────────<─────────────────┘ └┬──────────>──────────┬──┬────────────────────┬─┐ └─>
H
A
V
I
N
G predicate ─┘ └─> limit-to-clause ─┘ │ ┌────────────────────────────────────────────────┘ └┬───────────────────┬──────────────────────────────> └─> order-by-clause ┘
Additional information available:
More Information
SQL evaluates the arguments in a select clause in the following order: o FROM o WHERE o GROUP BY o HAVING o select-list After each of these clauses, SQL logically produces an intermediate result table that is used in evaluation of the next clause.
select list
Identifies a list of column names and value expressions (to be derived from the tables and views named in the FROM clause) for the result table. select-list = ───┬─────────────> typebox (*) ──────────────────────┬───> └─┬─┬─┬─> table-name ───────┬─> .typebox (*) ─┬─┬─┘ │ │ ├─> view-name ────────┤ │ │ │ │ └─> correlation-name ─┘ │ │ │ └───> value-expr ───────────────┘ │ └──────────── , <───────────────────┘
Additional information available:
More Information
You can use asterisks as wildcards in a select list: SELECT * Tells SQL to use all the column names from the intermediate result table (namely, all the columns in all the tables and views referred to in the FROM clause). If the select expresion contains a GROUP BY clause, SQL interprets the wildcard as specifying only the columns named in the GROUP BY clause. SELECT name.* Qualifying an asterisk with a table name, view name, or alias tells SQL to use all the columns in the table or view referred to by the name. The name must be specified in the FROM clause of the select expression. You cannot mix this form of wildcard notation with the previous two. The number of columns you specify in the select list, either with wildcards or by explicitly listing value expressions, is the number of columns in the result table.
FROM
Identifies the tables and views that SQL uses to generate the result table. If you name more than one table or view, SQL joins them to create an intermediate result table. That intermediate table consists of every possible combination of all the rows and columns of each table (the Cartesian product). You can specify an alias following a table or view name in the FROM clause to qualify column names in other parts of the select expression. If you do not explicitly specify an alias, SQL implicitly specifies the table name or view name as an alias. Do not specify the same alias more than once, either explicitly or implicitly.
WHERE
Specifies a predicate that SQL evaluates to generate an
intermediate result table. SQL evaluates the predicate for each
row of the intermediate result table created by the FROM clause.
The rows of that table for which the predicate is true become
another intermediate result table for later clauses in a select
expression. Column names specified in the predicate of the
WHERE clause must either:
o Identify columns of the intermediate result table created by
the FROM clause
o Be an outer reference (possible only if the WHERE clause is
part of a column select expression)
The predicate in a WHERE clause cannot refer to a function.
GROUP_BY
Indicates the column names that SQL uses for partitioning the intermediate result table from the WHERE clause, if specified, or the FROM clause. For the first column specified in the GROUP BY clause, SQL rearranges the rows of the preceding intermediate result table into groups whose rows all have the same value for the specified column. If there is a second column specified in the GROUP BY clause, SQL then groups rows within each main group by values of the second column. SQL groups by any additional columns in the GROUP BY clause in a similar manner. All null values for a column name in the GROUP BY clause are grouped together. Each group is treated as the source for the values of a single row of the result table. Since there is no single value for columns not specified in the GROUP BY clause, references to column names not specified in GROUP BY must be within a function. Because all the rows of a group have the same value for the column specified in the GROUP BY clause, references within value expressions or predicates to that column specify a single value.
HAVING
Specifies a predicate SQL evaluates to generate an intermediate result table. SQL evaluates the predicate for each group of the intermediate result table created by the preceding clause. The groups of that table for which the predicate is true become another intermediate result table, if there is an ORDER BY clause in a SELECT statement. Otherwise, the result table from a HAVING clause is the final result table for the select expression. Typically, the clause preceding the HAVING clause is a GROUP BY clause. The predicate is then evaluated for each group in the intermediate result table. The HAVING clause affects groups as the WHERE clause affects individual rows. If the HAVING clause is not preceded by a GROUP BY clause, SQL evaluates the predicate for all the rows in the intermediate result table as a single group.
Additional information available:
Restriction
SQL restricts which columns you can specify in the predicate of
a HAVING clause. Column names in a HAVING predicate must meet
one of the following conditions:
o Also be in the GROUP BY clause
o Be specified within a function
o Be an outer reference (possible only if the HAVING clause is
part of a column select expression)
UNION
The union operator merges the results of a select expression or select clause with another select expression or select clause into one result table by appending the values of columns in one table with the values of columns in other tables.
Additional information available:
ALL
The ALL qualifier specifies that duplicate rows should not be eliminated from the result table.
singleton select
singleton-select = SELECT ─┬──────>──────┬─> select-list ──┐ ├─>
A
L
L ──────┤ │ └─>
D
I
S
T
I
N
C
T ─┘ │ ┌─────────────────────────────────────┘ └─> typebox (I)typebox (N)typebox (T)typebox (O) ──┬─> parameter ─┬─┐ └────── , <────┘ │ ┌───────────────────────────┘ └>
F
R
O
M ─┬┬─> table-name ─┬─┬─────>───────────────┬─┬┐ │└─> view-name ──┘ └─> correlation-name ─┘ ││ └────────── , <────────────────────────────┘│ ┌──────────────────────────────<────────────────────┘ └>
W
H
E
R
E predicate ─┬─────────────>─────────────────┬┐ └─>
G
R
O
U
P
B
Y ─┬─> column-name ─┬┘│ └─────── , <─────┘ │ ┌────────────────────────────────────────────────────┘ └┬────────────────────┬─────────────────────────────> typebox (;) └>
H
A
V
I
N
G predicate ─┘
Additional information available:
More Information
A singleton select statement is a special form of the SELECT statement that is legal only in programs, not in interactive SQL. A singleton select specifies a one-row result table. It includes an additional clause, INTO, to assign the values in the row to parameters in a program.
INTO
Names parameters representing program storage that will receive values from the columns of the one-row result table. If a parameter named in the list is corresponds to a program host structure, SQL considers the reference the same as a reference to each of the elements of the host structure. If the number of parameters specified, either explicitly or by reference to a host structure, does not match the number of values in the row of the result table, SQL generates an error when it precompiles the program or processes the SQL module containing the singleton select statement. If columns in the result table from a singleton select include null values, the corresponding parameters must include indicator parameters.
Value expression
value-expr = ─┬─┬┬──────┬─┬───> char-value-expr ───┬─┬──────────┬> │ │├─> typebox (+) ─┤ ├───> datetime-function ─┤ ├─> typebox (+) ─┬─┐ │ │ │└─> - ─┘ ├───>
D
B
K
E
Y ─────────────┤ ├─> - ─┤ │ │ │ │ └───> (value-expr) ──────┘ ├─> typebox (*) ─┤ │ │ │ │ └─> typebox (/) ─┘ │ │ │ └───────────────────────────────────<─────────┘ │ └> char-value-expr ─┬> || ─> char-value-expr ──┬─┘ └─────────────<─────────────┘
Additional information available:
char value exprdate-time functionMore Information
char value expr
char-value-expr = ───┬─>
C
A
S
T ──> ( ─> cast-operand AS data-type ─> ) ─┬─> ├─> column-name ──────────────────────────────────┤ ├─> literal ──────────────────────────────────────┤ ├─>
U
S
E
R ─────────────────────────────────────────┤ ├─> parameter ────────────────────────────────────┤ ├─> (col-select-expr) ────────────────────────────┤ └─>
S
U
B
S
T
R
I
N
G (char-value-expr FROM ──┐ │ ┌───────────────────────────────────┘ │ └> start-position ┬────────────────────┬ ) ─────┘ └>
F
O
R string-length ┘
date-time function
date-time-function = ┬>
C
U
R
R
E
N
T
D
A
T
E ───────────────────────────────────┬─> ├>
C
U
R
R
E
N
T
T
I
M
E ──────┬────────────────────┬───────┤ │ └─> time-precision ──┘ │ ├>
C
U
R
R
E
N
T
T
I
M
E
S
T
A
M
P ─┬────────────────────────┬───┤ │ └─> timestamp-precision ─┘ │ └>
E
X
T
R
A
C
T ─────────┐ │ ┌─────────────────┘ │ └─>( ─> date-time-field FROM extract-source ─> ) ┘
More Information
A value expression is a symbol or string of symbols used to represent or calculate a single value. When you use a value expression in a statement, SQL retrieves or calculates the value associated with the expression and uses that value when executing the statement. Value expressions are also called scalar expressions or simply expressions. Select More_Information to continue.
Additional information available:
More Information
There are several different types of value expressions:
o A column name represents a value in table rows.
o A function calculates values for every row of a result
table. SQL functions are CAST, EXTRACT, CURRENT_DATE,
CURRENT_TIME, CURRENT_TIMESTAMP, SUM, AVG, MAX, MIN, and
COUNT.
o A literal directly specifies a value.
o A parameter represents a value in a host program.
o The DBKEY keyword represents the value of an internal
pointer, called a database key, to a table row.
o A column select expression used as a value expression
specifies a one-value result table.
o A character value expression represents a value that belongs
to the CHAR, VARCHAR, or LONG VARCHAR data type. You can
link two character value expressions together using the
concatenation operator.
o A substring specifies a portion of a character value
expression that you can manipulate using arithmetic
operators.
You can also combine certain value expressions with arithmetic
operators to form a value expression.
Literals, functions, DBKEYS and column select expressions are
described in separate Help topics.