RDB/VMS SQL — VMS RDB_4.0
Additional information available:
$@ALTERBEGIN_DECLARECLOSECOMMENT_ON
COMMITCREATECURRENT_TIMESTAMPDBKEYDECLARE
DELETEDESCRIBEDROPEDITEND_DECLAREEXECUTE
EXECUTE_IMMEDIATEEXITEXPORTFETCHFINISHGRANT
HELPIMPORTINCLUDEINSERTINTEGRATELSE
NULLOPENPREPAREPRINTQUITRELEASEREVOKE
ROLLBACKSELECTSETSET_ALL_CONSTRAINTSET_TRANSACTION
SHOWSQLCASQLDAUPDATEUSERWHENEVER
aliasarith expressionauthorization idcol select expr
Command recalldatabase handleData Distributordata types
DCL invokedefault schemaDynamic 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
A qualifier for column names. Users can qualify a column name with its table or view name, or with an aribitrary alias they specify in the FROM clause of an SQL statement. SQL requires aliases as qualifiers instead of table or view names in statements that join a table with itself.
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. However, SQL does not permit arithmetic operations on columns defined with the DATE data type. 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:
More Information
The arithmetic operators and their functions are: + Add - Subtract * Multiply / Divide Select More_Information to continue.
Additional information available:
More Information
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 or DECLARE SCHEMA statement, whether you specify a file specification or a data dictionary path name, you can specify an additional name, called an authorization identifier. You must specify an authorization identifier in CREATE SCHEMA but it is optional in DECLARE SCHEMA. An authorization identifier is a name for a particular attachment to a schema. Explicitly specifying an authorization identifer lets your program or interactive SQL statements refer to more than one schema. Once specified, you must use the authorization identifier when referring to the schema in subsequent SQL statements (unless those statements are within a CREATE SCHEMA statement). You must use an authorization identifier when you declare more than one schema. DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use the term database handle instead of authorization identifier. The two terms mean the same thing. The keywords AUTHORIZATION ID in SQL and DB_HANDLE in RDO are also synonymous.
col select expr
col-select expr =
---+-+-> col-select-clause ---+--->
| +-> ( col-select-expr ) --+
| +------------<------------+
| +-> UNION ---+-------+----+
| +->ALL -+ |
+----------<----------------+
Additional information available:
col select clauseMore Information
col select clause
col-select-clause =
SELECT -+------>------+-+-> * --------------------+-+
+-> ALL ------+ +-> table-name --+-> .* --+ |
+-> DISTINCT -+ +-> view-name ---+ | |
+-> alias -------+ | |
+-> value-expr -----------+ |
+--------------------------------<----------------+
+ FROM -++-> table-name -+-+----->----+-+-+--------->----------+-+
|+-> view-name --+ +-> alias -+ | +-> WHERE predicate -+ |
+---------- , <-----------------+ |
+------------------------------<---------------------------------+
++------------->------------------+-+---------->----------+-->
+-> GROUP BY -+-> column-name -+-+ +-> HAVING 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.
database handle
DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use the term database handle instead of authorization identifier. The two terms mean the same thing. The keywords AUTHORIZATION ID in SQL and DB_HANDLE in RDO are also synonymous. For more information see the Help topic on authorization_id.
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.
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.
Additional information available:
CREATE_SCHEDULECREATE_TRANSFERDROP_SCHEDULEDROP_TRANSFER
REINITIALIZESHOW_TRANSFERSTART_TRANSFER
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:DDAL020.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 --------+
+-----------------------------------------------+
+-+-->------------------------------------+-----+
+--> START -----> start-date-time ------+ |
+-----------------------------------------------+
+-+-->----------------------------------------+-+
+--> EVERY --+--> every-delta-time -------+-+ |
+--> every-absolute-time ----+ |
+-----------------------------------------------+
+-+--------------------------------------------------------------+--> ;
+--> RETRY -> count -> TIMES -+------------------------------+-+
+-> RETRY EVERY -> delta-time -+
Additional information available:
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.
CREATE_TRANSFER
CREATE TRANSFER ---> transfer-name ---> TYPE IS -----------------+
+----------------------------------------------------------------+
+-+--> REPLICATION ---> replication-extr-move-clause ---------+--+
+--> EXTRACTION ---> replication-extr-move-clause ----------+ |
+--> EXTRACTION ROLLUP ---> rollup-move-clause -------------+ |
+----------------------------------------------------------------+
+-> to-clause -----------------+-------------------------------+-+
+-+-> target-db-param-clause --++ |
+-------------<--------------+ |
+----------------------------------------------------------------+
++-------------------------------------+-+-------------------+-> ;
+-+-> transfer-file-options-clause -+-+ +-> comment-clause -+
+------------------<--------------+
Additional information available:
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
DROP_SCHEDULE
DROP SCHEDULE FOR ---> transfer-name ----> ;
Additional information available:
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.
DROP_TRANSFER
DROP TRANSFER ---> transfer-name ----> ;
Additional information available:
More Information
Deletes a transfer definition. If a transfer has a schedule definition, DROP TRANSFER also deletes the corresponding schedule definition.
REINITIALIZE
REINITIALIZE TRANSFER -----> transfer-name -----> ;
Additional information available:
More Information
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.
SHOW_TRANSFER
SHOW TRANSFER +-----------------------------------------------+-> ;
++-----------------------++--> * --------------++
+-> transfer-attribute -+++-> transfer-name -++
+------- , <-------+
transfer-attribute =
----> ( -+-+--> DEFINITION ---+-+- ) -->
| +--> SCHEDULE -----+ |
| +--> STATUS -------+ |
+--------- , <---------+
Additional information available:
More Information
Displays information about the transfer definition, schedule definition, the transfer status, or all of these transfer attributes.
START_TRANSFER
START TRANSFER ----> transfer-name ---+--------------------------+---> ;
+--> NOW --+->-----------+-+
+-> WAIT -----+
+-> NO WAIT --+
Additional information available:
More Information
Executes a transfer on demand, or changes the state of a transfer from suspended to scheduled, unscheduled, or active.
data types
data-type = --+-> CHAR -+--------+---------------------------+--> | +-> (n) -+ | +-> VARCHAR (n) -------------------------------+ +-> LONG VARCHAR ------------------------------+ +-> TINYINT --------------+-----+--------+-----+ +-> SMALLINT -------------+ +-> (n) -+ | +-> INTEGER --------------+ | +-> QUADWORD -------------+ | +-> LIST OF BYTE VARYING -+ | +-> DECIMAL -+-+-----------------------------+-+ +-> NUMERIC -+ +-> ( --> n -+--------+-> ) --+ | | +-> , n -+ | +-> FLOAT -+--------+--------------------------+ | +-> (n) -+ | +-> REAL --------------------------------------+ +-> DOUBLE PRECISION --------------------------+ +-> DATE --------------------------------------+
Additional information available:
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.
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 schema
SQL allows you to specify an authorization identifier that declares the schema as the default schema. Specifying a default schema means that subsequent statements during the database attachment that refer to the default schema need not use an authorization identifier. In the SQL module language, the authorization identifier specified in the module header is the one that designates the default schema. In precompiled SQL programs and in interactive SQL, the special authorization identifier RDB$DBHANDLE designates the default schema. In all environments, omitting an explicit authorization identifier is the same as specifying the authorization identifier that designates the default schema. Select More_Information to continue.
Additional information available:
More Information
If you do not declare any schema, SQL declares the schema specified in the logical name SQL$DATABASE as the default schema, using the FOR FILENAME clause. If you declare a schema specifying an authorization identifier other than the one that declares the default schema, you must use that authorization identifier to qualify names of any schema entities to which you refer in SQL statements. If you omit the authorization identifier, SQL assumes the table or view must be part of the default schema. If there is no default schema and you omit the authorization identifier, 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 -+----------------++------------+--+
+-> INSERT ONLY -++--> TABLE --+ |
+-> READ ONLY ---++--> LIST ---+ |
+---------------------------<---------------------------+
|
+-> CURSOR FOR --> 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 --------------+
|
+-----------------------------------------+
|
+--> USING DESCRIPTOR descriptor-name ---->;
Dyn INSERT
Inserts new data into a list or into a dynamic cursor. 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 also known as a dynamic positioned insert statement.
Additional information available:
Format
INSERT INTO CURSOR ---> dynamic-cursor-name --------+
|
+-------------------------------------------------+
|
+-+----------------------------+------------------+
+-> ( -+ column-name -+-> ) -+ |
+------ , <----+ |
+-------------------------------------------------+
+-> VALUES --> ( -++-> literal ---++--> ) ------------>;
|+-> parameter -+|
|+-> NULL ------+|
|+-> USER ------+|
+---- , <--------+
Use the following syntax when you want to insert data into a list.
Format
INSERT INTO CURSOR ---> dynamic-cursor-name ---+
|
+--------------------------------------------+
+--> VALUES --> ( -++-> literal ---++-> ) --> ;
|+-> 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 -------------->;
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
ADADISUNSADAVARUNSAGGTBLCURALLSCHROLL
ALLSCHTABALTNOTOCBALTSCHATTALT_SCH_RDB_ERR
AMBHV_DECAMBTYP_DECAMB_KEYWORDANODBHAND
ANSIPROTONLARGCOUNTARGNOTNUMARIEXPEXP
ASSSTRLITATTMISSINGBADADJLOCKGRANBADBLOBBADBUFFERPOOL
BADCLUMPBADCOLLATIONBADCORATTBADCTXLEN
BADCTXTYPEBADCTXVERBADDBHANDBADDBKEY
BADDICTIONARYBADDTFMTBADEPILOGUEBADEPINAM
BADEXTENDIBLEBADFILEVERBADFLDTYPBADIDXMAP
BADINTERVALBADLANGUAGEBADLOGFILEBADLOGNAM
BADMAINTBADMETNAMBADMVIEWFLDBADMVIEWREL
BADMVIEWVEWBADMVRELSBADMVVIEWSBADNONEXTEND
BADPAGEFORMATBADPREPAREBADPROLOGUEBADPRONAM
BADPROTECTIONBADRECBUFBADROLMVFLDBADSEGSTRING
BADSNAPFILENAMEBADSTOGROUPBADSUPLVLBADTHRESHOLD
BADVAXCLUSNODESBADVERNUMBAD_ARRAYBAD_CDD_DEF
BAD_DBBAD_LENGTHBAD_LEVELBAD_NAME
BAD_PRECISIONBAD_SCALEBAD_TOKENBAD_TXN_STATE
BAD_VERSIONBASROWDELBINSCAFACBIT_FIELDBOOEXPEXP
BUGCHKCABORTCANTDOVALXPRCDDERRCDDUNKPROT
CDDVERERRCHECKOPTROCHGINDMAPCHGINDMAPSTP
CHR_TOO_SHOCHR_TOO_SMACIRCTYPECLOSERRCMDINTR
CMPBYINVWCMPBYMVMETOOCMPBYWNRLCMPBYWNVW
CNTSPNSUBCOLEXISTSCOLLSTINVCOLNOTFUNCOLNOTNUL
COLNOTSSCOLNOTUPDCOLNOTVALCOMPNOTRANS
COMTOOLONCONALREXICONAMBIGCONCHAILL
CONDICREQCONNOTDEFCONNOTSUPCONREAATT
CONSNAATTCONTPREQCONTRIACTCONVARDEF
CONVARUNDCORREFFUNCRE_STO_ERR_SCHCS_ERR
CTXIGNOREDCTXPARMNOTALLCURALRDCLCURALROPE
CURNAMEXICURNOTOPECUROFNOTCUROFREQCUROFSTA
CURSTMTTXNCURTWOOPENCURUSEINVDATCONERR
DATNOTSUPDATTYPUNKDBHANDUNKDBHDLREQ
DBINUSEDBKAMBIGDBKTOOBIGDB_EXISTSDB_HANDEC
DB_HANDEC2DB_HANLONDB_IN_TXNDCLBEFEXE
DCLDATBEFDDALERRDDALFMTUNKDDALNOTINS
DDLPARAMDDNOTSUPPDECCURINTODEFCONMOD
DEFDBDECDEFVALINCDEFVALNOTCBDEFVALUNSDEGMODSPC
DELBACKUPDELLSTDYNCURDEPIMPCASDEP_FEATURE
DIC_DB_CHG1DIC_DB_CHG2DIFFSCHVIEWDIGNUMPIC
DPBFMTUNKDROP_IDXDROP_STOMAPDROP_TRIG
DROP_VIEWDRO_SCH_RDB_ERRDTFMTTOOBIGDTONCEEACH
DUPFLDDEFDUPPROCNAMDUPREFACTDUPVAR
DYNSIZARREMPMSGVECENDENUM_VAR
ERRATTDECERRATTDEFERRCRESCHERRDET
ERRINCPATHERRSYMDELERRSYMREPES_ILL_RPT
EVACLAUNSEXESELSTAEXPNUMLITEXPQUEXPR
EXP_CDD_NODATAEXP_CDD_NOEXTEXTRADATAEXTREPONESCH
FETNOTDONFIELD_EXISTSFKCONSNOTCBFLDAMBIG
FLDNOTBCKFLDNOTCRSFLDNOTDEFFLDNOTINREL
FLUINPBUFFORCOLNMASSFORCOLNMDECLFORCOLNODECL
FORPASLENFORTABNODECLFUN_VARGARBLEDGETCRESEG
GFLOATHEXSTREVEHI_ORD_LOSHVNOTDECL
HV_NOT_INIDMISSINGILLBEGINILLCHARILLDATLENILLEXEIMM
ILLFLOLENILLFROMILLHEXNUMILLINTLENILLPICSTRILLSTRCONT
IMPL_DIMIMP_CDD_NODATAIMP_IDXNOTCREIMP_IDXNOTDRO
IMP_IDX_CONFLICTIMP_IDX_TWICEIMP_STANOTDROIMP_STMNOTCRE
IMP_STMNOTDROIMP_STO_CONFLICTIMP_STO_MAP_CONFLICT
IMP_STO_MAP_TWICEIMP_STO_TWICEIMP_TRA_BEG
IMP_TRA_ENDINCNOTRECINC_DAT_TYPINDEXTS
INDFIXINTINDNOTDEFINDSHOINTIND_EXISTSINFODET
INPUTERRORINSCOLALRINS_INTO_ROINS_MUST_INS
INTIGNSYSINTNOTSYSINTONOTALWINTONOTQUALINTVALLOW
INTVALOVRINVACLINVARRSUBINVATTVALINVCHAINP
INVCHANUMSTRINVCOLLSTINVCOLSPCINVCOMLININVCONS
INVCORRSLINVDATCONINVDBKREFINVDISXPR
INVESCVALINVFLDINVFUNREFINVHVDECLINVINDEX
INVLENHVINVNODESIZEINVNUMLITINVNUMSTRPRE
INVOBJFILINVORDNUMINVPERCENTFILLINVPRIVINVPRIVNAMES
INVQUALINVREFCLAINVRELVIEWINVRNGINVSEGVAL
INVSELLISINVSELSTARINVSQLCODEINVSSCONV
INVSSHANINVSTRLENINVTRGINVTRISTMTINVTYPEINVVALLIS
IOERRORISQLINTOJUNONLINKEYTOIDENTLANFILEXTLANSWIVAL
LANUNSDSCDTPLANUNSDTPLENMISMATLIMFIXINT
LINETOOLONGLISTNOTVALLIT_EXCEPTLOOK_FOR
LOOK_FOR_CONLOOK_FOR_FINLOOK_FOR_STMTLOOK_FOR_STT
LOOK_FOR_UNTERMLOW_ORD_LOSLSTCURSTALSTNOTNUL
LSTREFAMBMAXFLDPRTSTRMAXNESEXCMAXRELEXC
MINGTRMAXMISREQVALMIXTABLISMOVENOCOLS
MULDIMARRMULSPECATRMULTSPECATRMULT_STRUCT
MUL_UICMVMULTITARGMVRELABSNTNAMCONFNAMTOOBIG
NEG_DIMNESFUNINVNESINCFILNESQRYEXPNO1ST
NOAGGALLNOALTERNOANYALLNOBATCHUPDATENOBATUPDNOBCKFIL
NOBCKTRNSNOBUCTXPARMNOBUUSINGCTXNOCDD
NOCDDALTNOCDDRESNOCDDUPDATNOCMPBYRESNOCOLALL
NOCOLLSTNOCOLNAMNOCOLRESNOCONNAMNOCONRES
NOCORRCOLNOCPRIRESNOCUROFNODATDIVNODATRES
NODBHALWNODBKALLNODBKGRONODBNAME
NODEFDBNODISTINCTNODUPLIVIEWNOFILLISTNOFLDRES
NOFSTINREPTNOGROUPNOIDXRESNOIMPTXNNOINCDICNOITEMDEF
NOLANGFILNOMAPRESNOMATCHKEYNOMLTIMVNOMLTIMVIEW
NOMODFILNOMVRALLNOMVVROLNONCONARRNONOVAL
NONSTAAMBNONSTACASNONSTACOBNONSTACOL
NONSTACONNONSTACUCNONSTACURNONSTADIS
NONSTADTPNONSTADYNNONSTAHVNONSTANAM
NONSTAOKWNONSTAPHYNONSTAQUONONSTASCL
NONSTASMNONSTASYNNONSTATXNNONSTAUNI
NONSTAVIANOOPENCURNOORDERNOPASQLDA
NOPRECOMPSELNOPRIMKEYNOPROCNOPRVMVIEW
NOPRVMVRELNOPRVREPLINOPRVROLMVRNORDBPRIV
NOREDINREPTNORELFOUNORELRESNOREMVERNORETURN
NOROCOLNORTPARMNOSCHALTNOSEGSTRAREANOSELALLNOSELXPR
NOSORTINREPTNOSPRIRESNOSQLCANOSQLCODENOSTRDEF
NOSTRNAMNOSUCHCURNOSUCHDATEFMTNOSUCHLANG
NOSUCHPROCNOSUCHTIMEFMTNOSUPREPLINOTAVIEW
NOTDB2NOTDB2DURNOTDB2FNNOTFOUNDNOTGROFLD
NOTHVDECLNOTINSCURNOTINTBLCURNOTLISTCOL
NOTLSTCURNOTPRIRESNOTRGRESNOTSAMETBL
NOTTBLCURNOTUSEINDNOTYPESNOT_A_DB
NOT_CDD_DBNOT_SAME_CONTEXTNOT_SCH_IDNOUNION
NOVIERESNOVIEWINREPTNOWHERENO_CDDACCNO_COMMAND
NO_DCLTXNNO_DECIMALNO_DESCENDINGNO_DMLPLAN
NO_ENDCOMNO_ENDEXECNO_FILFNDNO_INCFND
NO_NUMERICNO_PLNFNDNO_SQLDANO_SUCH_FIELD
NO_TRIGGER_VALSNO_TXNOUTNO_UNSNUMERICNSEGBLR
NULLNOINDNUMCMPTXTNUMHVSNOTNUMITESEL
NUM_TO_DATEONEEPERMONETXNMODONLFIRPRE
ONLFIRVARONLONEDBONLONETRNONLVALLSTONLY1LISTONLY1TBL
ONLYONEPSECTOPENERROPRSTK_OVRFLOPARAMNOTSTR
PARAMQUALPARBADCLAPARBADDATPARBADLEN
PARBADSCAPARBINSCAPARMLISTREQPARSE_STACK_OVERFLOW
PASRECUNSPASVARUNSPATH_NAM_REQPHYBACDAT
PKCONSNOTCBPKGNAMCHGPKNOTNULLPREFORSTR
PREMATURE_EOFPREPNOCTXSTRPRESTAOPEPRIKEYEXI
PRINT_SSIDPROCNOCAPRPSELINTOPRVERRSDTPUNK
PTR_VARPUTOPESEGQUAINVVALQUANOVALRDBVMSONL
REANOWRTREAONLATTRECEXCMAXREFKEYCOL
REFKEYNUMRELAMBIGRELNOTDEFREL_EXISTS
REMNOTALWREORGONLALTSMRESABORTRESERVED_WORD
RETRYPOSREVENTANSSCHNOABSTIMSEGAREERR
SEGSTREXPSELMORVALSEVERRDETSHDESCEND
SHINDFLDSIZESHINDMAPVALSHINDMAPVAL2SHOTABMAPDR
SMA_DAT_TYPSPACREQSPANOTVALSQLDANOTSQLDATA
SQLTYPESSTOOBIGSTANOTDEFSTANOTSELSTAREQCOL
STARNOTALLSTAROCURSTATWOCURSTOCOLERR
STOCOLUKNSTOTABUKNSTRARRAYSTRCVTNUM
STRINXPRSTRLITEXPSTRLITMISQUOSTRMORELESTRTOOBIG
STRTOOLONSTRXPREXPSUBNOGBSUBTOOVAL
SYM_EXPSYNTAX_ERRSYSPAGFORSYSPAGUNIS_FLDB_NS
S_FLDB_SS_FLDNLS_FLDNUS_FLDPS_STOAREA_READONLY
S_STOAREA_READWRITES_TRANSBRIEFS_TRANSFCOMMENT
S_TRANSFDEFS_TRANSFDEFINERS_TRANSFDEFNONES_TRANSFDELTA
S_TRANSFDESTDBS_TRANSFEPILOGS_TRANSFERSS_TRANSFINF1
S_TRANSFINF2S_TRANSFLASTS_TRANSFLINES_TRANSFLOGFILE
S_TRANSFMODEES_TRANSFMODEERS_TRANSFMODERS_TRANSFNEXT
S_TRANSFNOEPIS_TRANSFNOLOGS_TRANSFNONES_TRANSFNOPRIV
S_TRANSFNOPROS_TRANSFNOSTSS_TRANSFPROLOGS_TRANSFRETRIED
S_TRANSFRETRYS_TRANSFSCHS_TRANSFSCHDAYS_TRANSFSCHDLT
S_TRANSFSCHDPWS_TRANSFSCHDPW2S_TRANSFSCHMONS_TRANSFSCHNONE
S_TRANSFSCHONCS_TRANSFSCHWEKS_TRANSFSOURCES_TRANSFSRCDB
S_TRANSFSRCNOHS_TRANSFSTARTS_TRANSFSTATUSS_TRANSFSTS
S_TRANSFSTSACTS_TRANSFSTSNONES_TRANSFSTSRETS_TRANSFSTSSCH
S_TRANSFSTSSSPS_TRANSFSTSUNSS_TRANSFSTSWTRS_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_WAIT_INTERVALTBLCOLAFTTBLCURDYN
TBLNOTCURTHRIGNSYSTHRNOTSYSTOKINSBEF
TOKTOOBIGTOOBIGBLRTOOMANYTBLTRAACT
TRAACT_1TRAACT_2TRAACT_3TRADBPNEWONLTRAHDLINV
TRAMODSPCTRANOTOWNERTRANSFDISTREPTRANSFGRPBY
TRANSFHAVINGTRANSFSUBQRYTRANSFUNIONALLTRATOEXEXTR
TRATOEXPRIVTRATOEXRDBTREE_OVRFLOTRNNOTBLS
TRNNOVIEWSTXNNOTLONGTXN_HNDL_IGNOREDUKN_ALT_OPT
UNAOBTDSRUNBDECFILUNBTMPFILUNDEFVAR
UNDPARAMUNICONSNOTCBUNIONEXTROLLUNISELLIS
UNKTYPEUNMATENDUNSCOMPBYUNSDATATYPE
UNSDATXPRUNSDB2PRIVUNSDSCCLAUNSDTPCVT
UNSIGNED_VARUNSNUMXPRUNSPLIATTUNSSTRXPR
UNSSUPDATUNSUPOPUNSUPVERUNTSTRUPDCOLPRIV
UPDINSCURUPDREACURUSERINVIEWUSINGCTXNOTALL
USRDEFTYPVECNOTINDVEWNOTDEFWAIMODSPC
WARDETWARNINGCBWHYTWICEWISH_LISTWRICIRREF
ZABORTZEROSIZE
2DBTRISTMT
Triggered statement is not in the same schema as the trigger Explanation: You specified a triggered statement which uses a different schema than the schema the trigger is a part of. This is not User Action: Specify only triggered actions which execute in the schema 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.
ALLSCHROLL
All schemas 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 schemas 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 SCHEMA statment on a declared schema Explanation: You attempted to alter a schema that was already declared. User Action: Either remove the ALTER SCHEMA statment or make sure the schema to be altered has not been declared.
ALT_SCH_RDB_ERR
ALTER SCHEMA is only supported with Rdb/VMS Version 3.0 or later Explanation: The ALTER SCHEMA requires Rdb/VMS V3.0. SQL will not alter schemas without Rdb/VMS Version 3.0 or later installed on the system. User Action: Install the Rdb/VMS Version 3.0 or later.
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 schema already declared with authorization identifier <text> Explanation: You specified in the DECLARE SCHEMA statement the same authorization identifier as in a previous DECLARE SCHEMA statement. User Action: Either issue a FINISH statement and try the same DECLARE SCHEMA statement, or enter the DECLARE SCHEMA statement again with a different authorization identifier.
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.
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.
ARGNOTNUM
Argument must be numeric Explanation: The expression for an AVG or SUM function must be numeric. User Action: Change the value expression to contain only numeric fields, or remove the function.
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.
BADADJLOCKGRAN
ADJUSTABLE LOCK GRANULARITY clause is not allowed in the CREATE TRANSFER statment. 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.
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.
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.
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
Authorization identifier <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.
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.
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 schema is corrupt Explanation: The data dictionary description of the schema is missing the RDB$INSTANCE node. User Action: Verify that the schema itself has not been corrupted. If it has, recreate the schema.
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.
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. No dump was produced Explanation: A fatal error has occurred. User Action: Submit an SPR with information about the circumstances under which the bug occurred. Note that SQL$_BUGCHECKs do not produce dumps as RDB$_BUGCHECKs do.
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.
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.
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.
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.
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.
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.
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.
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 schema Explanation: You requested that a constraint be named with the name of an existing constraint. User Action: Choose a different name.
CONAMBIG
Constraint name <text> was not qualified and is in multiple schemas Explanation: You must qualify the constraint name with an authorization identifier when accessing more than one schema that uses that constraint name. User Action: Make sure the DECLARE SCHEMA statements include authorization identifiers and retype the query using the appropriate authorization identifier.
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 SCHEMA statement. User Action: Change the ALTER SCHEMA statement to include only one type of DICTIONARY REQUIRED option.
CONNOTDEF
Constraint <text> is not defined in schema Explanation: The specified constraint does not exist in the current schema. User Action: Declare 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 SCHEMA 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.
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.
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.
CRE_STO_ERR_SCH
CREATE STORAGE AREA statement only valid as part of a CREATE SCHEMA statement Explanation: The CREATE STORAGE AREA statement is only valid as part of the CREATE SCHEMA statement. User Action: Place the CREATE STORAGE statement in the CREATE SCHEMA statement.
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.
DATCONERR
Data conversion error Explanation: An error occurred during data conversion. Refer to next message. User Action: The secondary message should clarify the problem.
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.
DBHANDUNK
No DECLARE SCHEMA statement specified an identifier of <text> Explanation: You specified an unknown authorization identifier to qualify a table or view name in a select expression. User Action: Check the query and the DECLARE SCHEMA statement to make sure the authorization identifiers 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
Schema cannot be dropped because it is currently in use. Explanation: You issued a DROP SCHEMA statement, but another user had declared the same schema. User Action: Wait for other users to finish with the schema. If the schema is in use, however, one would question the wisdom of trying to delete it. Remember that patience is a virtue.
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.
DB_EXISTS
The data dictionary pathname, <text>, chosen for the schema name already exists Explanation: The data dictionary path name chosen for the schema 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 authorization identifier must be a longword Explanation: Authorization identifiers that are passed from a program must be longwords passed by descriptor. User Action: Define the authorization identifier 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 SCHEMA must be before executable statements Explanation: DECLARE TRANSACTION and DECLARE SCHEMA 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 SCHEMA and DECLARE TRANSACTION statements in a context file, if possible. User Action: Move all DECLARE TRANSACTION statements and DECLARE SCHEMA statements before all executable statements. You should specify all DECLARE SCHEMA statements before the first DECLARE TRANSACTION statement.
DCLDATBEF
DECLARE SCHEMA must be before other DECLARE statements Explanation: All DECLARE SCHEMA statements must come before any DECLARE CURSOR, DECLARE TRANSACTION, or DECLARE TABLE statements in a program. User Action: Move all DECLARE SCHEMA 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.
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 schema has already been declared with the default authorization identifier Explanation: You attempted to declare a default schema when there already was a default schema. In interactive SQL, you get this error only if you choose not to override the current default schema declaration. User Action: Include an authorization identifier which has not been declared in the DECLARE SCHEMA 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.
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 appendix of deprecated feature and replace this feature with the feature that has superceded it.
DIC_DB_CHG1
A dictionary definition used by schema <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.
DIFFSCHVIEW
Views and tables must be moved from the same schema Explanation: The user entered a move tables clause specifying a schema with a different as the schema named in the move views clause. User Action: Enter the CREATE TRANSFER statement with a move views clause whose schema 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.
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_IDX
Index <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all indexes that use that table. 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_TRIG
Trigger <text> is also being dropped. Explanation: When you issue the DROP TABLE statement, SQL also drops all triggers that use that table. 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. This message notifies you which views those are. It is informational only. User Action: None.
DRO_SCH_RDB_ERR
DROP SCHEMA statement is only supported with Rdb/VMS Version 3.0 or later Explanation: SQL will not drop schemas without Version 3.0 or later of Rdb/VMS installed on the system. User Action: Install Version 3.0 or later of Rdb/VMS on the system. Alternatively, you can delete the schema by deleting the files at DCL level and from the dictionary by using the dictionary utility.
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 declared schema <text> Explanation: A DECLARE SCHEMA 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 DECLARE SCHEMA 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 SCHEMA 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 schema filename <text> Explanation: There was an error creating the schema. User Action: Correct CREATE SCHEMA statment 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.
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 schema allowed by EXTRACTION and REPLICATION transfers Explanation: You have specified tables to be moved which come from more than one schema. User Action: Use multiple transfers to move tables from multiple schemas.
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 schema Explanation: You requested that a domain be named with the name of an existing type. User Action: Choose a different name.
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
global field <text> not defined as specified Explanation: The base field for a local field is not defined. 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 SCHEMA 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 authorization ID or a filename is required to create a schema Explanation: The user specified an IMPORT or a CREATE SCHEMA statement without specifying an authorization ID or a filename. One of is required. User Action: Specify the missing parameter and try the operation again.
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.
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.
ILLFROM
Data dictionary definitions may not be included using FROM within CREATE SCHEMA Explanation: You cannot use the FROM PATHNAME clause within a CREATE SCHEMA statement. User Action: Create the schema 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 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 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_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_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 schema. User Action: Check that you spelled the storage area name correctly.
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 schema. 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 schema. User Action: Check that you spelled the storage map name correctly.
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_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_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.
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 schema Explanation: The index name you tried to define already exists. User Action: Try another index name.
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 schema Explanation: The specified index does not exist in the current 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 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.
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.
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.
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.'
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 SCHEMA 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 SCHEMA statement to a legal value.
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.
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.
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.
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 schema a privilege which is valid only for tables, or specified for a table a privilege which is valid only for a schema. 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 (schema or table) named.
INVPRIVNAMES
Invalid privilege names specified in message file Explanation: The names specified in PRIV_NAMES0 and PRINV_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.
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.
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.
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
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.
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 statment 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.
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.
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.
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.
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
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.
NOCDD
There is no data dictionary on this system. Specify FILENAME in the DECLARE SCHEMA statement Explanation: You declared a schema with a data dictionary path name, but there is no data dictionary running on this system. You must declare a schema using a file name. User Action: Declare the schema with the database file name.
NOCDDALT
There is no data dictionary on this system. Specify FILENAME in the ALTER SCHEMA statement Explanation: You altered a schema with a data dictionary path name, but there is no data dictionary running on this system. You must alter a schema using a file name. User Action: Alter the schema 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
Schema 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 schema by specifying the path name. This ensures that data definitions are updated both in the data dictionary and in the schema 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.
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.
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 schema name was not specified on a DECLARE SCHEMA statement Explanation: You issued a DECLARE SCHEMA statement that did not specify a schema by file specification or data dictionary path name. User Action: Check the syntax of the DECLARE SCHEMA statement.
NODEFDB
There is no default authorization identifier Explanation: You specified a table name without an authorization identifier but there is no default authorization identifier. User Action: Either declare a default authorization identifier, or include the authorization identifier for a schema you have declared 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.
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.
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.
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.
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.
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.
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.
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.
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 schema 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.
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.
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 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.
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.
NOSCHALT
Nothing altered in ALTER SCHEMA statement
Explanation: There was nothing altered in the ALTER SCHEMA
query.
User Action: Remove the query or modify it to alter schema
characteristics.
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 SCHEMA 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 schema 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.
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.
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 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.
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.
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 schema 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
Schema was not declared using PATHNAME. Dictionary access is illegal. Explanation: You tried to include a dictionary entity in the schema, but the schema itself is not using the dictionary. User Action: Declare the schema using PATHNAME.
NOT_SAME_CONTEXT
The <text> being defined must be in the same schema as the <text> it references Explanation: When creating an item, the item was named as part of one schema, but it was being created from items of another schema. For example, trying to create an index in one schema from a table in another schema generates this error. User Action: Create the item naming only items from the same schema.
NOT_SCH_ID
Authorization identifier <text> not permitted within definition of SCHEMA <text> Explanation: You specified an authorization identifier of a schema that was other than the one for the schema being defined. User Action: Create defintions only for a single schema in a CREATE SCHEMA statement. Use the standalone CREATE statements for accessing other schemas.
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 SCHEMA, 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 precompiler Explanation: Attempted to open a nonexistent file. User Action: Check the file specified. Supply complete file specification.
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_SUCH_FIELD
Domain <text> does not exist in this schema Explanation: You specified a domain that does not exist in the schema. User Action: Check schema entity definitions for the valid schema 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 SCHEMA, CREATE SCHEMA, and DROP SCHEMA 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.
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.
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 schema can be referred to in this statement Explanation: You cannot use objects from more than one schema in a SELECT, UPDATE, DELETE or CREATE statement. You can, however, refer to tables from one schema in an INSERT statement and refer to tables in another schema 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 schema 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.
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.
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 schema using the DICTIONARY IS REQUIRED clause, then you must also specify the PATHNAME clause. User Action: Change the CREATE SCHEMA 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".
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.
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.
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.
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.
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 SCHEMA 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.
RELAMBIG
Table name <text> was not qualified and is in multiple schemas Explanation: You must qualify a table name with an authorization identifier when accessing more than one schema containing that table name. User Action: Make sure the DECLARE SCHEMA statements for the schema include authorization identifiers and retype the query using the appropriate authorization identifier.
RELNOTDEF
Table <text> is not defined in schema Explanation: The specified table does not exist in the current schema. User Action: Declare the correct 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 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.
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.
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.
SEGAREERR
List area <text> referred to but not defined
Explanation: The CREATE SCHEMA statement indicated that lists
must be stored in a specific storage area, but that storage
area was never created.
User Action: Change the CREATE SCHEMA statement to include a
CREATE STORAGE AREA statement with the name referred to
by the LIST clause.
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.
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.
SHDESCEND
descending 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.
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.
SHOTABMAPDR
Storage Map for table <text>.<text>: Explanation: Used in SHOW TABLE
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.
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.
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.
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.
STOTABUKN
Table specifed in store clause, <text>, is unknown to this schema. Explanation: The table named in the CREATE STORAGE MAP statement does not exist in the 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.
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_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_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_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_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_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_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.
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.
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 schema cannot be declared while a transaction is active Explanation: You issued an DECLARE SCHEMA 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 declaring another schema.
TRAACT_1
A schema cannot be created or altered while a transaction is active Explanation: You issued a CREATE SCHEMA or an ALTER SCHEMA 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 schema 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 schema activity.
TRAACT_3
A schema cannot be dropped while a transaction is active Explanation: You issued a DROP SCHEMA 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 SCHEMA 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 schema. You can specify different transaction modes for different schemas 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 schema 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 schema 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.
TRNNOTBLS
No tables were found in 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 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.
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 SCHEMA option Explanation: The ALTER SCHEMA 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 schema 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 schemas 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.
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.
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.
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.
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 statments. 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 schema. Explanation: You tried to do something with a pre-V3.1 schema that requires version 3.1 or higher. This can happen when Rdb/Remote is used to access a schema of a different version than that of the database system. User Action: Convert the schema 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.
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 schema Explanation: The specified view does not exist in the current schema. User Action: Declare the proper 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.
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.
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 --> parameter1 -+----------------++------------+--+
+-> INSERT ONLY -++--> TABLE --+ |
+-> READ ONLY ---++--> LIST ---+ |
+---------------------------<---------------------------+
|
+-> CURSOR FOR --> parameter2 --------------------------> ;
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
The keywords COUNT, AVG, MAX, MIN, and SUM specify SQL
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:
COUNT Number of rows in a result table
SUM Sum of the values in a column
AVG Average of the values in a column
MAX Largest value in a column
MIN Smallest value in a column
Additional information available:
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).
GRANT ANSI style
GRANT ----------->-----------+
|
+---------------<-------------+
+-+-> schema-privs-ansi -> ON SCHEMA AUTHORIZATION -+-> auth-id -+-+-+
| +----- , <---+ | |
+-> table-privs-ansi -> ON +----->-----+-+-+-> table-name --+-+-+ |
| +-> TABLE --+ | +-> view-name ---+ | | |
| +--------- , <-------+ | |
+-> column-privs-ansi -> ON COLUMN --+-> column-name --+---------+ |
+------- , <------+ |
+------------------------------<----------------------------------+
+-> TO -+-+-> identifier-ansi-style -+--+----+
| +-> PUBLIC ----------------+ | |
+------------- , <--------------+ |
+--------------------<-------------------+
+--+---------->-----------+-> ;
+-> WITH GRANT OPTION -+
Additional information available:
More Informationcolumn privstable privsschema 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 schema, 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 schema, 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=
---+-+-+-> UPDATE -----+-+--+-->
| | +-> REFERENCES -+ | |
| +------- , <--------+ |
+-----> ALL PRIVILEGES --+
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 schema
level, grants access only to the columns, tables, or schema
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= -+--+-+-> SELECT -----------------------------+-+--+--> | | +-> INSERT -----------------------------+ | | | | +-> OPERATOR ---------------------------+ | | | | +-> DELETE -----------------------------+ | | | | +-> CREATETAB --------------------------+ | | | | +-> ALTER ------------------------------+ | | | | +-> DROP -------------------------------+ | | | | +-> DBCTRL -----------------------------+ | | | | +-> SHOW -------------------------------+ | | | | +-> REFERENCES +-----------------------+ | | | | | +>( +> column-name +> )-+ | | | | | +----- , <-----+ | | | | | +-> UPDATE -+---------------------------+ | | | | +>( +> column-name +----> )-+ | | | | +----- , <-----+ | | | +------------------- , <--------------------+ | +------> ALL PRIVILEGES --------------------------+ 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 schema level, grants access only to the tables, columns, or schema specified in the GRANT statement.
schema 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:
schema-privs-ansi=
----+---+-+-> SELECT -----+-+----+->
| | +-> INSERT -----+ | |
| | +-> OPERATOR ---+ | |
| | +-> DELETE -----+ | |
| | +-> CREATETAB --+ | |
| | +-> ALTER ------+ | |
| | +-> DROP -------+ | |
| | +-> DBCTRL -----+ | |
| | +-> DBADM ------+ | |
| | +-> SHOW -------+ | |
| | +-> REFERENCES -+ | |
| | +-> UPDATE -----+ | |
| | +-> SECURITY ---+ | |
| | +-> DISTRIBTRAN + | |
| +--------, <--------+ |
+-------> ALL PRIVILEGES ----+
To grant all privileges on the schema, specify the ALL keyword
instead of a list of privileges.
Granting ANSI style privileges at the column, table, or schema
level, grants access only to the columns, tables, or schema
specified in the GRANT statement.
You must declare all schemas that you refer to in a GRANT
statement. If you use the default schema declaration, you must
use the authorization identifier RDB$DBHANDLE to work with the
access privilege set for the schema.
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 schema, 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:
numeric
A numeric literal is a string of digits that SQL interprets as a
decimal number.
numeric-literal =
--+------+-+-+-> digit -+-+------------------------+-+-+
+-> + -+ | +----<-----+ +-> . --+------->------+-+ | |
+-> - -+ | +-+-> digit -+-+ | |
| +----<-----+ | |
+-> . -+-> digit -+-----------------------+ |
+----<-----+ |
+-----------------------------------------------------+
++---------->-----------------+-->
+-- E -+------+-+-> digit -+-+
+-> + -+ +----<-----+
+-> - -+
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
To refer to a date data type with a literal in an SQL statement,
you must use the form dd-mmm-yyyy enclosed in single or double
quotation marks. SQL does not distinguish between upper- and
lower-case characters in date literals.
You can optionally include a complete or partial time component
in addition to the day, month, and year. The following diagram
shows the format for a complete date literal with a time
component:
date-literal =
--> dd-mmm-yyyy --+----------------------------------------+->
+-> hh --+-----------------------------+
+-> :mm --+-------------------+
+-> :ss --+---------+
+-> .cc --+
Note that date values stored in parameters must use a different
format than for date literals. See the Reference Manual section
on data type conversion.
Module language
MODULE -+-------->--------+-> LANGUAGE language-name -+
+-> module-name --+ |
+------------------------------------------------------+
+-> AUTHORIZATION auth-id --+------------>-----------+-+
++-> declare-statement -++ |
+--------- <-----------+ |
+------------------------------------------------------+
++-> PROCEDURE procedure-name +-> param-decl +-> ; sql-statement ; -+->
| +----+------+--+ |
| +-- , <+ |
+------------------------------- <---------------------------------+
param-decl =
-+-> parameter -+-> data-type ---++--------------->-------------+-+->
| +-> domain-name -++-> BY DESCRIPTOR +----->----++ |
| +-> record-type -+ +-> CHECK -+ |
+-> SQLCA -------------------------------------------------------+
+-> SQLCODE -----------------------------------------------------+
+-+--------------+----> SQLDA -----------------------------------+
+-> parameter -+
Additional information available:
record typeMore InformationCommand line
record type
record-type=
--> RECORD -++-> item-name --+-> data-type ----+--++-> END RECORD ->
|| +-> record-type --+ ||
|+-------------+--------+-------------+|
| +-- , <--+ |
| |
+--> FROM path-name -------------------+
| |
+--> INDICATOR ARRAY OF ---+ |
+--------------------------+ |
+> 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:
exact numeric type
exact-numeric-type=
-------+--> SMALLINT ---+----+--------+----------------+->
+--> INTEGER ----+ +-> n ---+ |
+--> QUADWORD ---+ |
+--> TINYINT ----+ |
+--> DECIMAL --+-+----------------------------+-+
+--> NUMERIC --+ +-> ( --> 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 ++-----------------------------------------------++>
|+-> / +->--++-> OBJECT -++------->-------+------+|
|| + NO ++-> LIST ---++> = file-spec -+ ||
|| +-> VIDA ---------------------------+|
|| +-> WARN ------------------------+ ||
|| | +------------------------------+ ||
|| | ++-------------------------------++|
|| | +> = ( -+> warning-option +- ) -+||
|| | +------ , <-------+ ||
|| +-> FLAG_NONSTANDARD ---------------+|
|| +-> G_FLOAT ------------------------+|
|+-> /CONSTRAINTS= --+-> ON --+------------------+|
|| +-> OFF -+ ||
|+-> /CONTEXT= -+-> NONE ------------------------+|
|| +-> ALL -------------------------+|
|| +--> procedure-list -------------+|
|+-----------------------------------------------+|
+--------------------<----------------------------+
Additional information available:
warning optionsprocedure-listMore InformationQualifiers
warning options
warning-option =
+-> WARNING ------+->
+-> NOWARNING ----+
+-> DEPRECATED ---+
+-> NODEPRECATED -+
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 -----------------++-> ) ->
| +--> : entry-name -+|
+-------- , <-------------------+
More Information
The SQL module processor is the executable image SYS$SYSTEM:SQL$MOD.EXE. You can invoke it with the DCL RUN command or define a symbol to invoke the image. DCL RUN command: $ RUN SYS$SYSTEM:SQL$MOD INPUT FILE> Symbol: $ SQLMOD :== $SYS$SYSTEM:SQL$MOD $ 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.
Qualifiers
module-file-spec: The file specification for an SQL module source file. The default file type for the source file is .SQLMOD. [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]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. [NO]FLAG: Specifies whether SQL flags syntax that is not ANSI standard. When /FLAG is specified, SQL notifies you of syntax that is not ANSI standard. When /NOFLAG is specified, SQL does not notify you of syntax that is not ANSI 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. /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 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.0. 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:RDBVMS040.RELEASE_NOTES. (You need only type the first three letters of the topic name at the prompt.)
Additional information available:
Computed columnsConstraint mode controlCURRENT TIMESTAMP keyword
Distributed transactionsEXPORT enhancementsIMPORT enhancementsIndex compression
Limiting rowsList storage areasLock timeoutsModule language enhancements
Obsolete featuresSecurity enhancementsSegmented stringsString concatenation
Substring manipulationTINYINT data type
Computed columns
You can use the COMPUTED BY clause in a CREATE TABLE or an ALTER TABLE statement to specify that the value of a column is calculated from values in other columns and constant expressions. In the CREATE TABLE statement, the optional COMPUTED BY clause follows the column type in the column definition clause. In the ALTER TABLE clause, you can use COMPUTED BY in the the add-column definition clause.
Constraint mode control
The DEFAULT CONSTRAINT MODE clause of the SQL SET statement lets you change your default constraint evaluation setting. You can display the current default with the SQL SHOW CONSTRAINT MODE statement. You can use the CONSTRAINT MODE keywords with the SQL SHOW statement to view the current constraint setting.
CURRENT TIMESTAMP keyword
The CURRENT_TIMESTAMP keyword specifies the date and time currently defined in Rdb/VMS. You can use the CURRENT_TIMESTAMP keyword anywhere that an expression is allowed in SQL. For more information, type HELP CURRENT_TIMESTAMP at the SQL prompt.
Distributed transactions
Precompiled SQL statements or SQL Module Language statements can indicate that an executable statement is part of a particular distributed transaction. You can specify the USING CONTEXT clause in precompiled SQL statements to indicate that an executable statement is part of particular distributed transaction. The USING CONTEXT clause currently specifies a variable that contains the distributed TID (Transaction identification number) for the transaction. You can use the /CONTEXT= qualifier in the SQL Module Language command line to add a context parameter to a module procedure or to change the name of that procedure. For more information type HELP Module_Language at the SQL prompt.
EXPORT enhancements
You can export a database without the data. This new feature of the EXPORT statement simplifies the task of creating a duplicate copy of a database, and it allows a database administrator to experiment with storage areas and storage maps. You can specify the new NODATA option with either the EXTENSIONS or the NO EXTENSIONS option.
IMPORT enhancements
You can import a database without the data. This new feature of the SQL IMPORT statement works on an existing exported database. Use the NODATA option to import a database without the data.
Index compression
Using the SIZE IS n clause of the CREATE INDEX statement, you can specify that the "first n" characters of a certain key are used to retrieve data. Using the MAPPING VALUES l to h clause of the CREATE INDEX statement, you can compress all-numeric columns into the smallest possible space. SQL uses only a single bit (the lowest bit of the null byte) to maintain null bit information within a schema. For more information, type HELP CREATE INDEX at the SQL prompt.
Limiting rows
You can use the LIMIT TO clause within a select statement to specify a certain number of rows in interactive SELECT, DECLARE CURSOR and CREATE VIEW statements. LIMIT TO follows the ORDER BY clause and is evaluated after it. For syntax, see the SELECT statement help.
List storage areas
You can use the STORE LISTS clause of the CREATE STORAGE MAP statement to specify multiple storage areas for lists, the SQL equivalent of segmented strings. Specify any number of tables or columns of tables for each area you specify, and the lists for those tables or columns will be stored in that area. For syntax, type HELP CREATE STORAGE_MAP at the SQL prompt.
Lock timeouts
To avoid distributed deadlock, use the WAIT(timeout-value) clause of the SET TRANSACTION or DECLARE TRANSACTION statement. The timeout value is a numeric literal that specifies the amount of time that a transaction waits for locks to be released. For syntax, type HELP SET_TRANSACTION tx_options.
Module language enhancements
New module language syntax lets you:
o Pass records and indicator arrays to SQL module language
procedures.
o Retrieve data dictionary record definitions.
For syntax, type HELP MODULE_LANGUAGE record_type at the SQL
prompt.
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 Use of double quotation marks
o Use of DROP TABLE and DROP VIEW without specifying CASCADE
or RESTRICT to indicate cascaded delete preference
o Use of obsolete keywords
Use of DROP TABLE and DROP VIEW without either CASCADE or
RESTRICT will generate an informational message in interactive
SQL. (This message cannot be suppressed.)
For details about these features, see the VAX Rdb/VMS SQL
Reference Manual Appendix H.
Additional information available:
Suppressing diagnostic messages
Suppressing diagnostic messages
If you are using the SQL precompiler, you can suppress the diagnostic messages about deprecated (obsolete) features by using /SQL_OPTIONS=WARN=NODEPRECATED on the precompiler command line. For more information, see the help section on Precompiler Command_line warning_options. If you are using SQL Module Language, you can suppress the diagnostic messages about deprecated (obsolete) features by using the /WARN=NODEPRECATED qualifier on the module language command line. For more information, see the help section on Module_language Command_line warning_options.
Security enhancements
SQL now supports the following new security features:
o Default protection - When new schemas and tables are
created, they will have a PUBLIC access of NONE. You can
override PUBLIC access for newly created tables by providing
a DATABASE identifier named DEFAULT. The access that you
give this identifier will be assigned to any newly created
tables.
o Schema SELECT privileges - You cannot attach to an Rdb/VMS
database unless you have the schema SELECT privilege.
o Role privileges - The SQL DBADM and OPERATOR privileges are
role-oriented in Rdb/VMS V4.0. Users who have these
privileges can perform tasks for which they do not have
explicit privileges. This is because users with the DBADM
and OPERATOR privileges implicitly receive other privileges.
For an explanation of the tasks that you can accomplish with
these privileges, see the GRANT statement in the VAX Rdb/VMS
SQL Reference Manual.
Segmented strings
Lists are the SQL equivalent of RDO segmented strings. Lists exist as a set of elements (of datatype LIST OF BYTE VARYING, also called LIST OF VARBYTE) stored within a row of a table. List cursors and table cursors allow you to define and retrieve lists. Use the DECLARE CURSOR, Dynamic DECLARE CURSOR, or Extended Dynamic DECLARE CURSOR statements to create the appropriate type of cursor. Like table cursors (the only type of SQL cursor in versions prior to Rdb/VMS Version 4.0), list cursors must be manipulated using OPEN, INSERT or FETCH, and CLOSE statements. To insert data into a list, you must use an insert-only list cursor that references a table cursor. The table cursor's current row provides the required row context for the list cursor.
String concatenation
SQL arithmetic operators now include a string concatenation operator (||). You can use the string concatenation operator to link two value expressions. Concatenated value expressions must belong to one of the three character data types: CHAR, VARCHAR, or LONG VARCHAR. For restrictions that apply to the string concatenation operator, see the section on Value Expressions in the VAX Rdb/VMS SQL Reference Manual.
Substring manipulation
SQL now allows you to pass and fetch a portion of a character value expression. You can only manipulate substrings that have the CHAR, VARCHAR or LONG VARCHAR data type. You can use a substring to retrieve certain characters in a string. For example, you might want to fetch the third and fourth characters from a long invoice number where characters in those positions represent the year that the invoice was issued. For substring syntax, type VALUE_EXPRESSION char_value_expr at the SQL prompt.
TINYINT data type
The TINYINT data type specifies that a column is a signed byte. The TINYINT data type can store a range of values from -128 through 127.
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 --> / -+-> ADA -----+-+
+-> CC ------+ |
+-> COBOL ---+ |
+-> FORTRAN -+ |
+-> PASCAL --+ |
+-> PLI -----+ |
+-----------------<-----------------+
+++------------------------->-------------------------++->
|+-> / -+--->--+--> OBJECT -+-------->-------+-------+|
|| +- NO -+ +-> = file-spec -+ ||
|+-> / -+--->--+--> G_FLOAT -------------------------+|
|| +- NO -+ ||
|+-> / SQLOPTIONS= ( -+> opt-qualifiers -+> ) -------+|
|| +------- , <-------+ ||
|+-> / -+------+--> ANSI ----------------------------+|
| +> NO -+ |
+--------------------------<--------------------------+
opt-qualifiers =
-+-+-->---++-> VIDA -------------------------------------+->
| +- NO -++-> WARN -+-----------------------------------+
| | +> = ( -+-> warning-option -+-> ) --+
| | +------ , <---------+ |
| +-> FLAG_NONSTANDARD -------------------------+
+-> CONSTRAINTS= -+> ON -------------+-----------------+
+> OFF -------------+
Additional information available:
warning optionsMore InformationQualifiers
warning options
warning-option =
+-> WARNING ------+->
+-> NOWARNING ----+
+-> DEPRECATED ---+
+-> NODEPRECATED -+
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).
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. /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 SCHEMA 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. /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=[NO]FLAG: Specifies whether SQL flags syntax that is not ANSI standard. When FLAG is specified, SQL notifies you of syntax that is not ANSI standard. When NOFLAG is specified, SQL does not notify you of syntax that is not ANSI standard. NOFLAG is the default. /SQLOPTIONS=(CONSTRAINTS=ON) and /SQLOPTIONS=(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 standard SQL compatibility should set constraints ON. The default of having constraints set OFF is probably acceptable for most other users. [NO]ANSI: Specifies whether the SQL precompiler accepts terminal format COBOL or ANSI format COBOL. The default is terminal format COBOL (NOANSI).
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 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 ----> USING CONTEXT ---> :variable --> SQL-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 <emphasis>(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 SCHEMA, DROP PATHNAME, DROP SCHEMA. 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, FINISH, 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: DESCRIBE, RELEASE, Extended Dynamic DECLARE CURSOR.
predicate
predicate =
-+-+--------+--+-> basic-predicate ----------------+-+-->
| +-> NOT -+ +-> between-predicate --------------+ |
| +-> containing-predicate -----------+ |
| +-> exists-predicate ---------------+ |
| +-> in-predicate -------------------+ |
| +-> like-predicate -----------------+ |
| +-> null-predicate -----------------+ |
| +-> quantified-predicate -----------+ |
| +-> starting-with-predicate --------+ |
| +-> unique-predicate ---------------+ |
| +-> (predicate) --------------------+ |
| |
+------------------+- AND <--+----------------------+
+-- OR <--+
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 -+-> = --+-> value-expr -->
+-> <> -+
+-> < --+
+-> <= -+
+-> > --+
+-> >= -+
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 -+--->--+-> BETWEEN value-expr AND value-expr --->
+> NOT +
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 --+-------+---+---------------> | +-> NOT --+ +-> ( --+ +-> ) --+ +-> AND --+-+ | +-> OR ---+ | +---------------------------<---------------------------------+
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 -+--->---+-> CONTAINING --> value-expr -->
+> NOT -+
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 = ---> EXISTS ( 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 -+---->---+-> IN -+-> value-expr ----------------------+-->
+-> NOT -+ +-> ( -++-> 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 -+--->--+-> LIKE -----> pattern ------>------+
+> NOT + |
+--------------------------------<----------------------+
+---+----------------------------+->
+-> ESCAPE escape-character |
+-> IGNORE CASE -------------+
pattern =
-+-> string-literal -+--->
+-> USER -----------+
+-> 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 ---> IS -+---->---+-> NULL --->
+-> NOT -+
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 -+-> = --+-+-> ALL --+-> ( col-select-expr ) -->
+-> <> -+ +-> ANY --+
+-> < --+ +-> SOME -+
+-> <= -+
+-> > --+
+-> >= -+
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 -+-->---+-> STARTING WITH --> value-expr -->
+ NOT -+
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= ---> UNIQUE --> (col-select-expr) ---> 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 ----------------------+
|
+-------------<--------------+
++-> schema-privs-ansi --> ON SCHEMA AUTHORIZATION -+-> auth-id -+++
| +----- , <---+||
+-> table-privs-ansi -> ON -+-----------+-+-+-> table-name --+-+-+|
| +-> TABLE --+ | +-> view-name ---+ | ||
| +-------- , <--------+ ||
+-> column-privs-ansi --> ON COLUMN --+-> column-name --+--------+|
+------- , <------+ |
+-------------------------<--------------------------------------+
+-> FROM -+-+-> identifier-ansi-style +---------------------+-> ;
| +-> PUBLIC ---------------+ |
+------------------- , <--------------------------+
Additional information available:
More Informationcolumn privs ansitable privs ansischema 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 schema, 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 schema, 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=
---+-+-+-> UPDATE -----+-+--+-->
| | +-> REFERENCES -+ | |
| +------- , <--------+ |
+-----> ALL PRIVILEGES --+
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= -+--+-+-> SELECT -----------------------------+-+--+--> | | +-> INSERT -----------------------------+ | | | | +-> OPERATOR ---------------------------+ | | | | +-> DELETE -----------------------------+ | | | | +-> CREATETAB --------------------------+ | | | | +-> ALTER ------------------------------+ | | | | +-> DROP -------------------------------+ | | | | +-> DBCTRL -----------------------------+ | | | | +-> SHOW -------------------------------+ | | | | +-> REFERENCES +-----------------------+ | | | | | +>( +> column-name +> )-+ | | | | | +----- , <-----+ | | | | | +-> UPDATE -+---------------------------+ | | | | +>( +> column-name +----> )-+ | | | | +----- , <-----+ | | | +------------------- , <--------------------+ | +------> ALL PRIVILEGES --------------------------+ To revoke all privileges from the specified table(s), specify the ALL keyword instead of a list of privileges.
schema 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:
schema-privs-ansi=
----+---+-+-> SELECT -----+-+----+->
| | +-> INSERT -----+ | |
| | +-> OPERATOR ---+ | |
| | +-> DELETE -----+ | |
| | +-> CREATETAB --+ | |
| | +-> ALTER ------+ | |
| | +-> DROP -------+ | |
| | +-> DBCTRL -----+ | |
| | +-> DBADM ------+ | |
| | +-> SHOW -------+ | |
| | +-> REFERENCES -+ | |
| | +-> UPDATE -----+ | |
| | +-> SECURITY ---+ | |
| | +-> DISTRIBTRAN + | |
| +--------, <--------+ |
+-------> ALL PRIVILEGES ----+
To revoke all privileges on the schema, specify the ALL keyword
instead of a set of privileges.
You must declare all schemas that you refer to in a REVOKE
statement. If you use the default schema declaration, you must
use the authorization identifier RDB$DBHANDLE to work with the
access privilege set for the schema.
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 schema, the creator of the database gets all privileges and the PUBLIC entry gets no privileges.
Sample Databases
You can create a sample database that is referred to throughout
the Rdb/VMS documentation.
You use a single command procedure to build all varieties of the
sample personnel database. To create your own copy using
SQL-based or RDO-based procedures, type the following:
$ @RDM$DEMO:PERSONNEL.COM <p1> <p2> <p3>
The procedure accepts three parameters, all optional.
p1 = interface language SQL or RDO
p2 = type of database S (single-file) or M (multifile)
p3 = dictionary use CDD (yes) or NOCDD (no)
If you specify no parameters, the default is an SQL single-file
database. The procedure asks you if you wish to use the
dictionary.
The single-file database occupies approximately 2200 disk
blocks. The multifile version of the same database occupies
about 2900 disk blocks.
If you want to specify p2, you must specify p1; and if you want
to specify p3, you must specify both p1 and p2.
select expr
select-expr =
---+-+-> select-clause -----+--->
| +->( select-expr ) ----+
| +---------<------------+
| +->UNION -+-------+----+
| +->ALL -+ |
+-------<----------------+
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 --+
+-> ALL ------+ |
+-> DISTINCT -+ |
+------------------------------<------+
+ FROM -++-> table-name -+-+----->----+-+-+--------->----------+-+
|+-> view-name --+ +-> alias -+ | +-> WHERE predicate -+ |
+---------- , <-----------------+ |
+------------------------------<---------------------------------+
++------------->------------------+-+---------->----------+-->
+-> GROUP BY -+-> column-name -+-+ +-> HAVING predicate -+
+------- , <-----+
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 =
---+-------------> * ----------------+--->
+-+-+-+-> table-name -+-> .* -+-+-+
| | +-> view-name --+ | |
| | +-> alias ------+ | |
| +---> 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 --+
+-> ALL ------+ |
+-> DISTINCT -+ |
+-------------------------------------+
+-> INTO --+-> parameter -+-+
+------ , <----+ |
+---------------------------+
+ FROM -++-> table-name -+-+----->----+-+-+--------->----------+-+
|+-> view-name --+ +-> alias -+ | +-> WHERE predicate -+ |
+---------- , <-----------------+ |
+------------------------------<---------------------------------+
++------------->------------------+-+---------->----------+-->
+-> GROUP BY -+-> column-name -+-+ +-> HAVING 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 =
-+-++------+-+-- column-name --------------------------+-+---------+>
| |+-> + -+ +---> SUM ---++-> (DISTINCT column-name) -+ +-> + -++ |
| |+-> - -+ +---> AVG ---++-> (ALL value-expr) -------+ +-> - -+| |
| | +---> MAX ---+ | +-> * -+| |
| | +---> MIN ---+ | +-> / -+| |
| | +---> COUNT -+--> (*) --------------------+ | |
| | | +--> (DISTINCT column-name) -+ | |
| | +-> char-value-expr ----------------------+ | |
| | +-> DBKEY --------------------------------+ | |
| | +-> (value-expr) -------------------------+ | |
| | +-> CURRENT_TIMESTAMP --------------------+ | |
| +---------------------------------------------------<---------+ |
+--> char-value-expr --+--> || -----> char-value-expr --+------+
+-----------------<-----------------+
Additional information available:
char value exprMore Information
char value expr
char-value-expr =
---+-- column-name -----------------------------+->
+-> literal ---------------------------------+
+-> USER ------------------------------------+
+-> parameter -------------------------------+
+-> (col-select-expr) -----------------------+
+-> SUBSTRING (char-value-expr FROM --+ |
+-----------------------------------+ |
+> start-position +--------------------+ ) +
+> FOR string-length +
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 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.