Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

$

@

ALTER

ATTACH

BEGIN_DECLARE

CLOSE

COMMENT_ON

COMMIT

CONNECT

CREATE

DBKEY

DECLARE

DELETE

DESCRIBE

DISCONNECT

DROP

EDIT

END_DECLARE

EXECUTE

EXECUTE_IMMEDIATE

EXIT

EXPORT

FETCH

FINISH

GRANT

HELP

IMPORT

INCLUDE

INSERT

INTEGRATE

LSE

NULL

OPEN

PREPARE

PRINT

QUIT

RELEASE

REVOKE

ROLLBACK

RUN_TIME_ONLY_KIT

SELECT

SET

SET_ALIAS

SET_ALL_CONSTRAINT

SET_ANSI

SET_CATALOG

SET_CONNECT

SET_SCHEMA

SET_TRANSACTION

SHOW

SQLCA

SQLDA

UPDATE

USER

WHENEVER

alias

arith expression

authorization id

col select expr

Command recall

correlation name

database handle

Data Distributor

data types

DCL invoke

default database

Dynamic SQL

Dyn DECLARE CURSOR

Dyn FETCH

Dyn INSERT

Dyn OPEN

Error

Execute(@)

Ext Dyn DEC CURSOR

Functions

GRANT ANSI style

Interactive kit

Linking programs

literals

Module language

New features

Precompiler

predicate

Release Notes

REVOKE ANSI style

Sample Databases

select expr

singleton select

Value expression

Examples

Date and time arithmetic

More Information

UNION

col select clause

More Information

ALL

CREATE_SCHEDULE

CREATE_TRANSFER

DROP_SCHEDULE

DROP_TRANSFER

REINITIALIZE

SHOW_TRANSFER

START_TRANSFER

STOP_TRANSFER

More Information

Release Notes

Error msg doc

More Information

transfer-name

start-date-time

every-delta-time

every-absolute-time

AT at-time

count

delta-time

Examples

TYPE_IS

REPLICATION

EXTRACTION

EXTRACTION_ROLLUP

More Information

transfer-name

replication-extr

rollup-move-clause

to-clause

target-db-param

transfer-file

comment-clause

Examples

MOVE_TABLES

move-tables-clause

move-select-clause

select-list

predicate

move-views-clause

More Information

rollup-source

move-select-expr

More Information

More Information

extension-options

More Information

More Information

More Information

transfer-name

Example

More Information

transfer-name

Example

More Information

transfer-name

Example

More Information

transfer-attribute

wildcard

transfer-name

Examples

DEFINITION

SCHEDULE

STATUS

More Information

Examples

transfer-name

Example

More Information

date time data types

domains

frac

interval qualifier

prec

seconds prec

Example

More Information

Format

INSERT_ONLY

READ_ONLY

TABLE

LIST

statement name

Format

LIST

Positioned

Format

2DBTRISTMT

ACENOTFND

ACE_ID_OVFL

ACE_ID_UNFL

ADADISUNS

ADAVARUNS

AGGTBLCUR

ALIASEMBFIRST

ALIASONLYONCE

ALLSCHROLL

ALLSCHTAB

ALTNOTOCB

ALTSCHATT

AMBHV_DEC

AMBTYP_DEC

AMB_KEYWORD

ANODBHAND

ANSIPROTONL

ANSI_UPDATE_VIEW

ARGCOUNT

ARIEXPEXP

ASSSTRLIT

ATTMISSING

BACKUPBY

BADADJLOCKGRAN

BADARGAVG

BADARGSUM

BADBLOB

BADBUFFERPOOL

BADCATALOG

BADCATINCRE

BADCBDATE

BADCLUMP

BADCOLIGNCAS

BADCOLLATION

BADCORATT

BADCTXLEN

BADCTXTYPE

BADCTXVER

BADDBHAND

BADDBKEY

BADDICTIONARY

BADDTFMT

BADEPILOGUE

BADEPINAM

BADEXTENDIBLE

BADFILEVER

BADFLDTYP

BADIDXMAP

BADINTERVAL

BADLANGUAGE

BADLOGFILE

BADLOGNAM

BADMAINT

BADMETNAM

BADMVIEWFLD

BADMVIEWREL

BADMVIEWVEW

BADMVRELS

BADMVVIEWS

BADNONEXTEND

BADORIENT

BADPAGEFORMAT

BADPREPARE

BADPROLOGUE

BADPRONAM

BADPROTECTION

BADRECBUF

BADROLMVFLD

BADSCHEMA

BADSCHINCRE

BADSEGSTRING

BADSNAPFILENAME

BADSTOGROUP

BADSUPLVL

BADTHRESHOLD

BADVAXCLUSNODES

BADVERNUM

BAD_ARRAY

BAD_CDD_DEF

BAD_DB

BAD_LENGTH

BAD_LEVEL

BAD_NAME

BAD_PRECISION

BAD_SCALE

BAD_TOKEN

BAD_TXN_STATE

BAD_VERSION

BASROWDEL

BINSCAFAC

BIT_FIELD

BOG_DYN_NAME

BOOEXPEXP

BUGCHK

CABORT

CANTDOVALXPR

CANT_MOVE

CATNOTDEF

CAT_EXISTS

CDDERR

CDDUNKPROT

CDDVERERR

CHAR_SET_USED

CHECKOPTRO

CHGINDMAP

CHGINDMAPSTP

CHRUNIBAD

CHR_TOO_SHO

CHR_TOO_SMA

CIRCTYPE

CLOSERR

CMDINTR

CMPBYINVW

CMPBYMVMETOO

CMPBYWNRL

CMPBYWNVW

CNTSPNSUB

COLEXISTS

COLLSTINV

COLL_EXISTS

COLNOTFUN

COLNOTNUL

COLNOTSS

COLNOTUPD

COLNOTVAL

COLONDISILL

COLONENAREQ

COLSEQNOTDEF

COMPNOTRANS

COMPONENT

COMTOOLON

CONALREXI

CONCHAILL

CONDICREQ

CONLYOPT

CONNAMEXI

CONNOTDEF

CONNOTSUP

CONREAATT

CONSNAATT

CONTPREQ

CONTPROMPT

CONTRIACT

CONVARDEF

CONVARILLUPD

CONVARUND

CORREFFUN

CREATEDATE

CRE_STO_ERR_SCH

CSETNOASCII

CSETSYN

CS_ERR

CTXIGNORED

CTXPARMNOTALL

CURALRDCL

CURALROPE

CURNAMEXI

CURNOTOPE

CUROFNOT

CUROFREQ

CUROFSTA

CURSTMTTXN

CURTWOOPEN

CURUSEINV

CURVER

DATCONERR

DATEADDILL

DATEDIGNEQ

DATEDIVILL

DATEEQLILL

DATEFORTIMES

DATEMULILL

DATEOPR

DATESCANEQ

DATESUBILL

DATETIMES

DATETIME_PREC

DATETIM_PREC

DATETIM_SCALE

DATETYPES

DATIM_SCALE

DATNOTSUP

DATTYPUNK

DBALLOCIS

DBALLOCWAS

DBBUFLENIS

DBBUFLENWAS

DBCLWASOFF

DBCLWASON

DBENVSYNERR

DBFCINTVLIS

DBFCINTVLWAS

DBFCISOFF

DBFCISON

DBFCWASON

DBHANDOVE

DBHANDOVE_Q

DBHANDUNK

DBHDLREQ

DBINUSE

DBJNLALLIS

DBJNLALLWAS

DBJNLEXTIS

DBJNLEXTWAS

DBJRNCMTISN

DBJRNCMTISY

DBJRNCMTWASN

DBJRNCMTWASY

DBKAMBIG

DBKTOOBIG

DBLCKTMOUTIS

DBLCKTMOUTWAS

DBMUNGED

DBMUNGED_Q

DBNAMCONF

DBNOTINCONN

DBNUMBUFIS

DBNUMBUFWAS

DBNUMDBRIS

DBNUMDBRWAS

DBNUMNODIS

DBNUMNODWAS

DBNUMUSERIS

DBNUMUSERWAS

DBPGSIZIS

DBPGSIZWAS

DBSNPDEFISN

DBSNPDEFISY

DBSNPDEFWASN

DBSNPDEFWASY

DBSNPENAISN

DBSNPENAISY

DBSNPENAWASN

DBSNPENAWASY

DBSPECSYNERR

DB_EXISTS

DB_HANDEC

DB_HANDEC2

DB_HANLON

DB_IN_TXN

DCLBEFEXE

DCLDATBEF

DDALERR

DDALFMTUNK

DDALNOTINS

DDLPARAM

DDNOTSUPP

DECCURINTO

DECEMBER

DEFCONMOD

DEFDBDEC

DEFVALINC

DEFVALNOTCB

DEFVALUNS

DEGMODSPC

DELBACKUP

DELLSTDYNCUR

DEPIMPCAS

DEPR_DQUOTES

DEPR_FEATURE

DEP_FEATURE

DIC_DB_CHG1

DIC_DB_CHG2

DIFFDEFINV

DIFFSCHVIEW

DIGNUMPIC

DOMNOTBCK

DOM_CDD_NAME

DOM_INVALID

DPBFMTUNK

DROP_COLDOM

DROP_COLL

DROP_CONS

DROP_DOM

DROP_IDX

DROP_STOMAP

DROP_STORMAP

DROP_TABLE

DROP_TRIG

DROP_VIEW

DTFMTTOOBIG

DTONCEEACH

DUPFLDDEF

DUPPROCNAM

DUPREFACT

DUPVAR

DYNSIZARR

EMPMSGVEC

END

ENUM_VAR

ERRATTDEC

ERRATTDEF

ERRCRESCH

ERRDET

ERRINCPATH

ERRSYMDEL

ERRSYMREP

ES_ILL_RPT

EVACLAUNS

EXESELSTA

EXPNUMLIT

EXPQUEXPR

EXP_CDD_NODATA

EXP_CDD_NOEXT

EXP_CONVERT

EXTNAMEXISTS

EXTRADATA

EXTREPONESCH

FETNOTDON

FIELD_EXISTS

FINNOSES

FKCONSNOTCB

FLDAMBIG

FLDNOTBCK

FLDNOTCRS

FLDNOTDEF

FLDNOTINREL

FLUINPBUF

FORCOLNMASS

FORCOLNMDECL

FORCOLNODECL

FORPASLEN

FORTABNODECL

FUN_VAR

GARBLED

GETCRESEG

GFLOAT

HEXSTREVE

HI_ORD_LOS

HVNOTDECL

HV_NOT_IN

IDMISSING

IGNCASE_BAD

ILLBEGIN

ILLCHAR

ILLCOMPREC

ILLDATLEN

ILLEXEIMM

ILLFLOLEN

ILLFRASECPRE

ILLFROM

ILLHEXNUM

ILLINTLEN

ILLPICSTR

ILLSTRCONT

IMPL_DIM

IMP_CDD_NODATA

IMP_IDXNOTCRE

IMP_IDXNOTDRO

IMP_IDX_CONFLICT

IMP_IDX_DEL

IMP_IDX_NODEL

IMP_IDX_OVR

IMP_IDX_TWICE

IMP_MAP_DEL

IMP_MAP_OVR

IMP_STANOTDRO

IMP_STAREADONLY

IMP_STMNOTCRE

IMP_STMNOTDRO

IMP_STO_AREA

IMP_STO_CONFLICT

IMP_STO_DEL

IMP_STO_MAP_CONFLICT

IMP_STO_MAP_TWICE

IMP_STO_OVR

IMP_STO_TWICE

IMP_TRA_BEG

IMP_TRA_END

INCCSASS

INCCSCMP

INCCSCON

INCNOTREC

INC_DAT_TYP

INDEXTS

INDFIXINT

INDNOTDEF

INDSHOINT

IND_EXISTS

INFODET

INPUTERROR

INSCOLALR

INSCURDYN

INSVALSPEC

INS_INTO_RO

INS_MUST_INS

INTERVAL_USED

INTIGNSYS

INTNOTQUAL

INTNOTSYS

INTONOTALW

INTONOTQUAL

INTQUALINV

INTVALLOW

INTVALOVR

INT_DEL_FLD_PATH

INT_DEL_REL_PATH

INVACL

INVARRSUB

INVATTVAL

INVCHAINP

INVCHANUMSTR

INVCOLLST

INVCOLSPC

INVCOMLIN

INVCONS

INVCORRSL

INVCSET

INVDATCON

INVDBKREF

INVDISXPR

INVESCVAL

INVFLD

INVFUNREF

INVHVDECL

INVINDEX

INVINTQUAL

INVLENHV

INVNODESIZE

INVNUMLIT

INVNUMSTRPRE

INVOBJFIL

INVORDNUM

INVPERCENTFILL

INVPICN

INVPRIV

INVPRIVNAMES

INVQUAL

INVREFCLA

INVRELVIEW

INVRNG

INVRTOSTM

INVSEGVAL

INVSELLIS

INVSELSTAR

INVSQLCODE

INVSSCONV

INVSSHAN

INVSTRLEN

INVTRG

INVTRISTMT

INVTYPE

INVVALLIS

IOERROR

ISQLINTO

JOITOOBIG

JUNONLIN

KEYTOIDENT

LANFILEXT

LANSWIVAL

LANUNSDSCDTP

LANUNSDTP

LCKTMOUTIS

LENMISMAT

LIMFIXINT

LINETOOLONG

LISTNOTVAL

LIT_EXCEPT

LOGBACDAT

LOOK_FOR

LOOK_FOR_CON

LOOK_FOR_FIN

LOOK_FOR_STMT

LOOK_FOR_STT

LOOK_FOR_UNTERM

LOWCASNOTALL

LOW_ORD_LOS

LSTCURSTA

LSTNOTNUL

LSTREFAMB

L_PAGE_HEAD_2

MAJORVER

MAXFLDPRTSTR

MAXNESEXC

MAXORDEXC

MAXRELEXC

MINGTRMAX

MINORVER

MINUSDATINT

MISREQVAL

MISSINGNAME

MIXTABLIS

MLTDFNRTN

MODTOOOLD

MOVENOCOLS

MULDIMARR

MULSPECATR

MULTSPECATR

MULT_STRUCT

MUL_UIC

MVMULTITARG

MVRELABSNT

NAMCONF

NAMTOOBIG

NEG_DIM

NESFUNINV

NESINCFIL

NESQRYEXP

NO1ST

NOAGGALL

NOALTER

NOANYALL

NOBATCHUPDATE

NOBATUPD

NOBCKFIL

NOBCKTRNS

NOBUCTXPARM

NOBUUSINGCTX

NOCATRES

NOCDD

NOCDDALT

NOCDDRES

NOCDDUPDAT

NOCMPBYRES

NOCMPINTDY

NOCOLALL

NOCOLLST

NOCOLNAM

NOCOLRES

NOCONNAM

NOCONRES

NOCORRCOL

NOCPRIRES

NOCSET

NOCUROF

NODATDIV

NODATRES

NODBHALW

NODBKALL

NODBKGRO

NODBNAME

NODBSINTXN

NODECLMOD

NODEFDB

NODISTINCT

NODROPSYSCAT

NODROPSYSSCH

NODUPLIVIEW

NOENTRYPT

NOFILLIST

NOFLDRES

NOFSTINREPT

NOGROUP

NOIDXRES

NOIMPTXN

NOINCDIC

NOITEMDEF

NOLANGFIL

NOMAPIMPO

NOMAPRES

NOMATCHKEY

NOMLTIMV

NOMLTIMVIEW

NOMODFIL

NOMOVESYS

NOMVRALL

NOMVVROL

NONCONARR

NONOVAL

NONSINGLE_INTO

NONSTAAMB

NONSTAANSPARM

NONSTACAS

NONSTACOB

NONSTACOL

NONSTACOLQUAL

NONSTACON

NONSTACUC

NONSTACUR

NONSTADIS

NONSTADTP

NONSTADYN

NONSTAHV

NONSTAINVOKER

NONSTANAM

NONSTAOKW

NONSTAPHY

NONSTAQUO

NONSTARSW

NONSTASCL

NONSTASM

NONSTASYN

NONSTATXN

NONSTAUNI

NONSTAVIA

NOOPENCUR

NOORDER

NOPASQLDA

NOPHYSMULSCH

NOPRECOMPSEL

NOPRIMKEY

NOPROC

NOPRVMVIEW

NOPRVMVREL

NOPRVREPLI

NOPRVROLMVR

NORDBPRIV

NOREDINREPT

NORELFOU

NORELRES

NOREMVER

NOREPSQLDA

NORETURN

NOROCOL

NORTPARM

NOSCHALT

NOSCHRES

NOSEGSTRAREA

NOSELALL

NOSELXPR

NOSORTINREPT

NOSPRIRES

NOSQLCA

NOSQLCODE

NOSTRDEF

NOSTRNAM

NOSUCHCON

NOSUCHCUR

NOSUCHDATEFMT

NOSUCHLANG

NOSUCHPROC

NOSUCHSTMT

NOSUCHTIMEFMT

NOSUPREPLI

NOTAVIEW

NOTDB2

NOTDB2DUR

NOTDB2FN

NOTFOUND

NOTGROFLD

NOTHVDECL

NOTIMPSES

NOTINSCUR

NOTINTBLCUR

NOTLISTCOL

NOTLSTCUR

NOTPRIRES

NOTRGRES

NOTSAMESCOPE

NOTSAMETBL

NOTTBLCUR

NOTUSEIND

NOTYPES

NOT_A_DB

NOT_CDD_DB

NOT_SAME_CONTEXT

NOT_SCH_ID

NOUNION

NOVIERES

NOVIEWINREPT

NOWHERE

NO_CDDACC

NO_COMMAND

NO_DCLTXN

NO_DECIMAL

NO_DESCENDING

NO_DMLPLAN

NO_ENDCOM

NO_ENDEXEC

NO_FILFND

NO_HDRPLAN

NO_INCFND

NO_NUMERIC

NO_PLNFND

NO_SQLDA

NO_STMTB4HDR

NO_SUCH_FIELD

NO_TRIGGER_VALS

NO_TXNOUT

NO_UNSNUMERIC

NSEGBLR

NULLNOIND

NUMCMPTXT

NUMHVSNOT

NUMITESEL

NUMXPREXP

NUM_TO_DATE

OLDNAMWAS

ONEEPERM

ONETXNMOD

ONLFIRPRE

ONLFIRVAR

ONLONEDB

ONLONETRN

ONLVALLST

ONLY1LIST

ONLY1TBL

ONLYONEPSECT

OPENERR

OPRSTK_OVRFLO

PARAMNOTSTR

PARAMQUAL

PARBADCLA

PARBADDAT

PARBADLEN

PARBADSCA

PARBINSCA

PARMLISTREQ

PARSE_STACK_OVERFLOW

PASPRGNOTFND

PASRECUNS

PASVARUNS

PATH_NAM_REQ

PHYBACDAT

PKCONSNOTCB

PKGNAMCHG

PKNOTNULL

PREFORSTR

PREMATURE_EOF

PREPCDDVER1

PREPCDDVER2

PREPCDDVER3

PREPDBVER

PREPNOCTXSTR

PREPPROMPT

PRESTAOPE

PRIKEYEXI

PRINT_SSID

PROCNOCA

PROCSTATWO

PROMPT

PRPSELINTO

PRVERRSDTPUNK

PTR_VAR

PUTOPESEG

QUAINVVAL

QUALNOTALLOW

QUANOVAL

QUERYCAN

QUERYLIMPOS

RDBVMSONL

REANOWRT

REAONLATT

RECEXCMAX

REFKEYCOL

REFKEYNUM

RELNOTDEF

REL_EXISTS

REMNOTALW

REORGONLALTSM

RESABORT

RESERVED_WORD

RESRELMSG

RESVIEMSG

RESWORDCHKOFF

RESWORDCHKON

RES_KEYWORD

RES_WORD_AS_IDENT

RETRYPOS

REVENTANS

RTCSASS_C2C

RTCSASS_C2N

RTCSASS_D2C

RTCSASS_N2C

SATURDAY

SCHCATMULTI

SCHEMA_CDDFILE

SCHNOABSTIM

SCHNOTDEF

SCH_EXISTS

SEGAREERR

SEGSTRAWAS

SEGSTREXP

SELMORVAL

SESNOTENA

SEVERRDET

SHCON

SHCONNONE

SHCONREL

SHDBCDD

SHDBFIL

SHDBINFIL

SHDBPTH

SHDESCEND

SHEXECOFF

SHEXECON

SHFLDGBL

SHFLDNONE

SHFLDREL

SHFLDVIEW

SHINDDR

SHINDDUP

SHINDF

SHINDFLDSIZE

SHINDIF

SHINDMAPVAL

SHINDMAPVAL2

SHINDNDUP

SHINDNONE

SHINDR

SHODEPROFF

SHODEPRON

SHOFLAGOFF

SHOFLAGON

SHOTABMAPDR

SHRELNONE

SHTYPNONE

SHVIEW

SHVIEWNONE

SMA_DAT_TYP

SPACREQ

SPANOTVAL

SQL41UNAS1

SQL41UNAS2

SQL41UNAS3

SQL41UNAS4

SQL41UNAS5

SQLCHSCALE

SQLDANOT

SQLDATA

SQLLEN

SQLTYPE

SSTOOBIG

STANOTDEF

STANOTSEL

STAREQCOL

STARNOTALL

STAROCUR

STATWOCUR

STMTALREXI

STOCOLERR

STOCOLUKN

STOMAPNOTDEF

STOMAP_EXISTS

STOTABUKN

STRARRAY

STRCVTNUM

STRINXPR

STRLITEXP

STRLITMISQUO

STRMORELE

STRTOOBIG

STRTOOLON

STRXPREXP

SUBNOGB

SUBTOOVAL

SYMDEF

SYM_EXP

SYNTAX_ERR

SYSPAGFOR

SYSPAGUNI

S_ALGDIS

S_ALGENABLED

S_ALLINDDBF

S_ALLINDDBH

S_ALLINDDBP

S_ALLTBLDBF

S_ALLTBLDBH

S_ALLTBLDBP

S_ALLTYPDBF

S_ALLTYPDBH

S_ALLTYPDBP

S_BATCH_UPDATE

S_BLANKS

S_COLHDR1

S_COLHDR2

S_COMMENT

S_COMMIT_CONST

S_COMPUTED

S_COMTBL

S_CONCOMMIT

S_CONCURRENCY

S_CONNODEFER

S_CONSISTENCY

S_CONSSGLLEV

S_CONVERB

S_DBCDDPATH

S_DBHAN

S_DB_LCKTIM_INTVL

S_DEFDB

S_DESCRIPTION

S_DICT

S_FC_COM

S_FC_INT

S_FC_NOCOM

S_FC_TIM

S_FC_TSN

S_FLDADT

S_FLDB_NS

S_FLDB_S

S_FLDF

S_FLDG

S_FLDL_NS

S_FLDL_S

S_FLDNL

S_FLDNU

S_FLDP

S_FLDQ_NS

S_FLDQ_S

S_FLDSS

S_FLDSS_BLR

S_FLDSS_SEGLEN

S_FLDSS_TXT

S_FLDSS_TYP

S_FLDT

S_FLDUNK

S_FLDVT

S_FLDW_NS

S_FLDW_S

S_GB_DISABLE

S_GB_ENABLED

S_INSERT_COUNT

S_INTEGNPRES

S_INTEGPRES

S_LINE

S_LIST_STOMAP_NAME

S_LOCK_ER

S_LOCK_EW

S_LOCK_PR

S_LOCK_PW

S_LOCK_SR

S_LOCK_SW

S_LONG_BLANKS

S_LONG_DESCRIPTION

S_MULTLEV

S_NOWAIT

S_PRIV_DB

S_PRIV_TBL

S_PROT_DB

S_PROT_TBL

S_QUERY_HEADER

S_RDBVMSFIL

S_READONLY

S_READ_WRITE

S_SERDBSEVMSFIL

S_SNGLEV

S_SOURCE

S_STOAREA_READONLY

S_STOAREA_READWRITE

S_STOAREA_UNIFORM

S_STOAREA_WRITEONCE

S_STOMAP_NAME

S_SYSINDDBF

S_SYSINDDBH

S_SYSINDDBP

S_SYSTBLDBF

S_SYSTBLDBH

S_SYSTBLDBP

S_SYSTYPDBF

S_SYSTYPDBH

S_SYSTYPDBP

S_TBLINFO1

S_TBLINFO2

S_TRANSBRIEF

S_TRANSFCOMMENT

S_TRANSFDEF

S_TRANSFDEFINER

S_TRANSFDEFNONE

S_TRANSFDELTA

S_TRANSFDESTDB

S_TRANSFEPILOG

S_TRANSFERS

S_TRANSFINF1

S_TRANSFINF2

S_TRANSFLAST

S_TRANSFLINE

S_TRANSFLOGFILE

S_TRANSFMODEE

S_TRANSFMODEER

S_TRANSFMODER

S_TRANSFNEXT

S_TRANSFNOEPI

S_TRANSFNOLOG

S_TRANSFNONE

S_TRANSFNOPRIV

S_TRANSFNOPRO

S_TRANSFNOSTS

S_TRANSFPROLOG

S_TRANSFRETRIED

S_TRANSFRETRY

S_TRANSFSCH

S_TRANSFSCHDAY

S_TRANSFSCHDLT

S_TRANSFSCHDPW

S_TRANSFSCHDPW2

S_TRANSFSCHMON

S_TRANSFSCHNONE

S_TRANSFSCHONC

S_TRANSFSCHWEK

S_TRANSFSOURCE

S_TRANSFSRCDB

S_TRANSFSRCNOH

S_TRANSFSTART

S_TRANSFSTATUS

S_TRANSFSTS

S_TRANSFSTSACT

S_TRANSFSTSNONE

S_TRANSFSTSRET

S_TRANSFSTSSCH

S_TRANSFSTSSSP

S_TRANSFSTSUNS

S_TRANSFSTSWTR

S_TRAN_BASESYS

S_TRAN_DBHANDLE

S_TRAN_DECLARE

S_TRAN_DEFDB

S_TRAN_HEADER

S_TRAN_NOBASSYS

S_TRDPB2AIJ

S_TRDPB2AIJALL

S_TRDPB2AIJCONT

S_TRDPB2AIJEXT

S_TRDPB2AIJONCE

S_TRDPB2AIJSPL

S_TRDPB2ALG

S_TRDPB2ALGDIS

S_TRDPB2ALGENA

S_TRDPB2ALLOC

S_TRDPB2AUTO

S_TRDPB2BADCODE

S_TRDPB2BFLEN

S_TRDPB2CDDMNT

S_TRDPB2CDDPATH

S_TRDPB2CDDREQ

S_TRDPB2CHGSTO

S_TRDPB2CONVERT

S_TRDPB2DBRBUFF

S_TRDPB2DEFSTO

S_TRDPB2DELSTO

S_TRDPB2DESCR

S_TRDPB2ENDSTO

S_TRDPB2EXSGRW

S_TRDPB2EXSMAX

S_TRDPB2EXSMIN

S_TRDPB2EXSPGS

S_TRDPB2EXTBLE

S_TRDPB2EXTGRO

S_TRDPB2EXTMAX

S_TRDPB2EXTMIN

S_TRDPB2EXTPGS

S_TRDPB2FILESPC

S_TRDPB2FILETYP

S_TRDPB2HEADER

S_TRDPB2LAYRACC

S_TRDPB2MANUAL

S_TRDPB2NUMBF

S_TRDPB2NUMNODE

S_TRDPB2NUMUSR

S_TRDPB2PGSIZE

S_TRDPB2PROT

S_TRDPB2READONL

S_TRDPB2REQSCO

S_TRDPB2SEGAREA

S_TRDPB2SNAP

S_TRDPB2SNPALL

S_TRDPB2SNPDIS

S_TRDPB2SNPENA

S_TRDPB2SNPEND

S_TRDPB2SNPENI

S_TRDPB2SNPFLG

S_TRDPB2SPAMINT

S_TRDPB2SPAMS

S_TRDPB2SPMTHR1

S_TRDPB2SPMTHR2

S_TRDPB2SPMTHR3

S_TRDPB2STONAME

S_USRINDDBF

S_USRINDDBH

S_USRINDDBP

S_USRTBLDBF

S_USRTBLDBH

S_USRTBLDBP

S_USRTYPDBF

S_USRTYPDBH

S_USRTYPDBP

S_VALID

S_VERB_CONST

S_VIDANAM

S_WAIT

S_WAIT_INTERVAL

TBLCOLAFT

TBLCURDYN

TBLNOTCUR

TBL_CDD_NAME

THRESHIGNO

THRIGNSYS

THRNOTSYS

TOKINSBEF

TOKTOOBIG

TOOBIGBLR

TOOMANYNAMES

TOOMANYTBL

TRAACT

TRAACT_1

TRAACT_2

TRAACT_3

TRADBPNEWONL

TRAHDLINV

TRAMODSPC

TRANOTOWNER

TRANSFDISTREP

TRANSFGRPBY

TRANSFHAVING

TRANSFSUBQRY

TRANSFUNIONALL

TRATOEXEXTR

TRATOEXPRIV

TRATOEXRDB

TREE_OVRFLO

TRIGNOTDEF

TRIG_EXISTS

TRNNOTBLS

TRNNOVIEWS

TWOIMPTXN

TXNNOTLONG

TXN_HNDL_IGNORED

UKN_ALT_OPT

UNAOBTDSR

UNBDECFIL

UNBTMPFIL

UNDEFVAR

UNDPARAM

UNDVER

UNICONSNOTCB

UNIKEYEXI

UNIONEXTROLL

UNISELLIS

UNKTYPE

UNMATEND

UNSCOMPBY

UNSDATASS

UNSDATATYPE

UNSDATCVT

UNSDATXPR

UNSDB2PRIV

UNSDSCCLA

UNSDTPCVT

UNSIGNED_VAR

UNSNUMXPR

UNSPLIATT

UNSSTRXPR

UNSSUPDAT

UNSUPOP

UNSUPVER

UNTSTR

UPDCOLPRIV

UPDINSCUR

UPDREACUR

USERINVIEW

USERNOTSUP

USINGCTXNOTALL

USRDEFTYP

VECNOTIND

VEWNOTDEF

WAIMODSPC

WARDET

WARNINGCB

WHYTWICE

WILDALLWILD

WISH_LIST

WRICIRREF

YES_CHAR

ZABORT

ZEROSIZE

Examples

Format

INSERT_ONLY

READ_ONLY

TABLE

LIST

parameter1

parameter2

CAST function

Date and time functions

More Information

Examples

Examples

More Information

WITH_GRANT_OPTION

More Information

column privs

table privs

db privs

identifier ansi style

numeric

character string

date-time

More Information

Examples

INDICATOR_ARRAY

record type

More Information

Command line

More information

exact numeric type

no qualifiers

database options

procedure-list

More Information

Qualifiers

More Information

warning options

More Information

BIGINT

ANSI extended dynamic cursors

ANSI extension flagger

Authorization identifiers

Carry over locks

C Support for CDD

CAST function

Colons in module language parameters

Connections

Constraint keyword changed

Date and time data types

Date and time functions

Date arithmetic

Default lock wait

DROP TABLE restricted

Error literals

Execution mode

Journal fast commit

Global buffers

LIMIT TO and ORDER BY

Multischema databases

Obsolete features

Online database modifications

Optimizer interface

Query governor

Reserved word identifiers

Run time SQL

Terminology changes

Thresholds for logical areas

UNIQUE predicate

Warning mode

Write Once storage areas

USING_CONTEXT

Command line

Ada Host Variables

More Information

Qualifiers

SQLOPTIONS qualifiers

More information

database options

warning options

More Information

BETWEEN

CONTAINING

EXISTS

IN

LIKE

NULL

STARTING_WITH

UNIQUE

More Information

basic

complex

quantified

More Information

More Information

More Information

More Information

More Information

column privs ansi

table privs ansi

db privs ansi

identifier ansi style

More Information

Creating Sample Databases

FROM

WHERE

GROUP_BY

HAVING

UNION

More Information

select clause

select list

More Information

More Information

Restriction

ALL

INTO

More Information

char value expr

date-time function

More Information

More Information

RDB/VMS SQL — VMS RDB_4.1_M

Additional information available:

$@ALTERATTACHBEGIN_DECLARECLOSE
COMMENT_ONCOMMITCONNECTCREATEDBKEYDECLARE
DELETEDESCRIBEDISCONNECTDROPEDITEND_DECLARE
EXECUTEEXECUTE_IMMEDIATEEXITEXPORTFETCHFINISH
GRANTHELPIMPORTINCLUDEINSERTINTEGRATE
LSENULLOPENPREPAREPRINTQUITRELEASE
REVOKEROLLBACKRUN_TIME_ONLY_KITSELECTSETSET_ALIAS
SET_ALL_CONSTRAINTSET_ANSISET_CATALOGSET_CONNECT
SET_SCHEMASET_TRANSACTIONSHOWSQLCASQLDA
UPDATEUSERWHENEVER

aliasarith expressionauthorization idcol select expr
Command recallcorrelation namedatabase handleData Distributor
data typesDCL invokedefault databaseDynamic SQLDyn DECLARE CURSOR
Dyn FETCHDyn INSERTDyn OPENErrorExecute(@)Ext Dyn DEC CURSOR
FunctionsGRANT ANSI styleInteractive kitLinking programs
literalsModule languageNew featuresPrecompilerpredicateRelease Notes
REVOKE ANSI styleSample Databasesselect exprsingleton select
Value expression

alias

 An alias is a name that identifies a particular attachment to a
 database so that your program or interactive SQL statements can refer
 to more than one database.

 You can specify the alias in an ATTACH, CONNECT, CREATE DATABASE or
 DECLARE ALIAS statement.  (Specify an alias in addition to the file
 specification or a data dictionary path name that you supply in these
 statements.) An alias must be no longer than 25 characters.

 Once you specify an alias, you must use it when referring to the
 database in subsequent SQL statements (unless those statements are
 within a CREATE DATABASE statement).  You must use an alias when you
 declare more than one database.

 DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use
 the term database handle instead of alias.  The two terms mean the
 same thing.

Additional information available:

Examples

Examples

 Example 1:  Qualifying domain names

 This example attaches to a PERSONNEL database by the alias CORPORATE
 and creates a domain within PERSONNEL.  When you create a domain for
 a database that you have attached to using an alias, you must qualify
 the domain name with that alias.

 SQL> ATTACH 'ALIAS CORPORATE FILENAME DISK01:[DEPT3]PERSONNEL';
 SQL> CREATE DOMAIN ADDRESS_DATA2_DOM CHAR(20) DEFAULT NULL;
 %SQL-F-NODEFDB, There is no default database
 SQL> CREATE DOMAIN CORPORATE.ADDRESS_DATA2_DOM CHAR(20) DEFAULT NULL;
 SQL> SHOW DOMAINS;
 User domains in database with alias CORPORATE
 ADDRESS_DATA2_DOM               CHAR(20)
 SQL>
 Example 2:  Qualifying catalog names in a multischema database

 When you use the alias to qualify the name of a catalog, you must
 separate the alias from the catalog name with a period and use double
 quotation marks to delimit the name pair, as follows:

 SQL> SET ANSI QUOTING ON;
 SQL> SHOW DOMAIN "CORPORATE.MARKETING".DEPT1.LAST_NAME;

arith expression

 An arithmetic expression is a value expression formed by combining
 value expressions with arithmetic operators.  When you use an
 arithmetic expression in a statement, SQL calculates the value
 associated with the expression and uses that value when executing the
 statement.  Therefore, an arithmetic expression must be reducible to
 a value.

 If either operand of an arithmetic expression is a null value, the
 resulting value is also null.

 Select More_Information to continue.

Additional information available:

Date and time arithmeticMore Information

Date and time arithmetic

 The list of legal date arithmetic operations and their results
 follows:

 Operand1     Operator        Operand 2    Result Type

 date-time      - (subtract)  date-time     interval
 date-time      + or -        interval      date-time
 interval       +             date-time     date-time
 interval       + or -        interval      interval
 interval       * or /        numeric       interval
 interval       /             numeric       interval
                - (negate)    interval      interval

More Information

 The arithmetic operators and their functions are:

 +       Add
 -       Subtract
 *       Multiply
 /       Divide

 You can use parentheses to control the order in which SQL performs
 arithmetic operations.  SQL follows the normal rules of precedence.
 That is, it evaluates arithmetic expressions in the following order:

 1.  Value expressions in parentheses

 2.  Multiplication and division, from left to right

 3.  Addition and subtraction, from left to right

authorization id

 When you issue a CREATE SCHEMA statement (alone or as part of a
 CREATE DATABASE statement), you must specify either a schema name or
 an authorization identifier.  If you wish to comply with the ANSI/ISO
 standard, you must specify an authorization identifier.

 An authorization identifier is a user name that SQL uses for
 privilege checking when you specify ANSI_AUTHORIZATION in the
 precompiler or module language command line options.  Under ANSI
 privilege checking, SQL restricts access to the schema to that user
 whose user name matches the authorization identifier.

col select expr

 col-select-expr =

 -+-+-> col-select-clause -+-+--------------------+-+
  | +->( col-select-expr )-+ +-> order-by-clause -+ |
  | +---------<------------+                        |
  | +-> UNION -+-------+----+                       |
  |            +> ALL -+    |                       |
  +--------<----------------+                       |
  +-------------------------------------------------+
  +-+--------------------+--------------------------->
    +-> limit-to-clause -+

Additional information available:

UNION

col select clauseMore Information

col select clause

 col-select-clause =

 SELECT -+------>------+-+-> * -----------------------------+ FROM +
         +-> ALL ------+ +-> table-name -------+-> .* ------+      |
         +-> DISTINCT -+ +-> view-name --------+            |      |
         |               +-> correlation-name -+            |      |
         |               +-> value-expr --------------------+      |
         ++------+-+---> SUM ---++-> (DISTINCT column-name) +      |
          +-> + -+ +---> AVG ---++-> (ALL value-expr) ------+      |
          +-> - -+ +---> MAX ---+                           |      |
                   +---> MIN ---+                           |      |
                   +---> COUNT -+--> (*) -------------------+      |
                                +--> (DISTINCT column-name) +      |
   +--------------------------------<------------------------------+
   +++-> table-name ++--------------------++-+-------->-----------++
    |+-> view-name -++-> correlation-name +| +-> 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

ALL

 The ALL qualifier specifies that duplicate rows should not be
 eliminated from the result table.

More Information

 A column select expression is a select expression that specifies a
 one-column result table.  Column select expressions cannot specify a
 list of select items.

 SQL accepts a column select expression as a type of value expression.
 However, since a value expression must correspond to a single value,
 a column select expression used as a value expression should not
 return more than one value.  If it does, SQL generates an error.  A
 column select expression used as a value expression cannot include
 GROUP BY or HAVING clauses.

                                 NOTE

         IN predicates allow column select expressions used as
         value expressions to return more than one value.


 Column select expressions are also called subqueries.

Command recall

 Interactive SQL users can recall the 20 most recent command lines
 using the up and down arrow keys or the CTRL/B key sequence:

  o  The up arrow key recalls lines in sequence from most recent to
     least recent.

  o  The CTRL/B key sequence also recalls lines in sequence from most
     recent to least recent.

  o  After you have recalled prior lines, the down arrow key allows
     you to recall more recently entered lines.

correlation name

 A qualifier for column names.  Users can qualify a column name with
 its table or view name, or with an aribitrary correlation name they
 specify in the FROM clause of an SQL statement.  SQL requires
 correlation names as qualifiers instead of table or view names in
 statements that join a table with itself.

database handle

 DIGITAL proprietary database languages (such as RDO in Rdb/VMS) use
 the term database handle instead of alias.  The two terms mean the
 same thing.  For more information see the Help topic on alias.

Data Distributor

 VAX Data Distributor is a software product that enables you to make
 data available to users and applications at multiple sites in a
 network.  From a source relational database, you can define the
 following transfers:

  o  Transfer an entire source database or a subset of that database.
     Transfers can remain on the same processor or you can define
     transfers to remote processors.

  o  Transfer data from multiple source databases into a single target
     database.

  o  Transfer data from one or more source databases into an existing,
     user-created target database.

Additional information available:

CREATE_SCHEDULECREATE_TRANSFERDROP_SCHEDULEDROP_TRANSFER
REINITIALIZESHOW_TRANSFERSTART_TRANSFERSTOP_TRANSFER

More InformationRelease NotesError msg doc

More Information

 Data Distributor allows three types of transfer:  extraction,
 extraction rollup, and replication transfers.

 Extraction transfers copy the latest version of the tables specified
 in the transfer definition from a single source database to a target
 database.  Once the transfer completes, Data Distributor severs the
 connection between the source and target databases.

 Extraction rollup transfers copy the latest version of the tables
 specified in the transfer definition from multiple source databases
 to a target database.  Once the transfer completes, Data Distributor
 severs the connection between the source and target databases.

 Like extraction transfers, a replication transfer creates tables at a
 target site during initial execution.  Unlike extraction transfers, a
 replication transfer maintains a connection with the target database
 so that the source database can supply updates to the target.  After
 the initial transfer execution, subsequent executions of a
 replication transfer involve only those additions, modifications, and
 deletions that have been made to rows in the source database since
 the previous transfer.

 You can issue Data Distributor statements, options, and qualifiers
 from SQL when VAX Data Distributor is installed on your system.  See
 the VAX Data Distributor Handbook and the SQL Reference Manual for
 details of the Data Distributor statements.

Release Notes

 To see the current Release Notes for VAX Data Distributor, type or
 print the following file:

     SYS$HELP:DDALvvu.RELEASE_NOTES

         where    vv = version
                  u  = update

 For example:

     SYS$HELP:DDAL022.RELEASE_NOTES

Error msg doc

 Errors returned by Data Distributor are documented online in the file
 SYS$HELP:DDAL$MSG.DOC, which you can PRINT, TYPE, or SEARCH at DCL
 level.

CREATE_SCHEDULE

 CREATE SCHEDULE FOR ---> transfer-name -+
  +--------------------------------------+
  ++----------->---------------------+---+
   +-> START -----> start-date-time -+   |
  +--------------------------------------+
  ++----------->-----------------------+-+
   +-> EVERY -+> every-delta-time ----++ |
              +> every-absolute-time -+  |
  +--------------------------------------+
  ++--------------------------------------+->
   +> RETRY -> count -> TIMES ------+     |
       +----------------------------+     |
       +-+------------------------------+-+
         +-> RETRY EVERY -> delta-time -+

Additional information available:

More Informationtransfer-namestart-date-timeevery-delta-time
every-absolute-timeAT at-timecountdelta-timeExamples

More Information

 Creates a schedule definition and stores it in the transfer database.
 The schedule definition specifies when and how often a transfer
 should execute.  A transfer can have only one schedule definition
 associated with it.  Data Distributor returns an error if you attempt
 to create a schedule for a transfer that already has one.

transfer-name

 Names the transfer for which this schedule is being defined.  The
 transfer must already exist before a schedule definition can be
 created for it.

start-date-time

 Specifies the time to execute the initial transfer.  You can specify
 a delta time or an absolute time.  If you use a delta time, Data
 Distributor uses the current time and the delta-time value to
 calculate the actual transfer time.  If you supply an absolute time,
 the initial transfer will be executed at the time specified.  The
 START clause is optional.  If you do not include a START clause, the
 start time is set to the current time.  The transfer then will
 execute as soon as the transfer schedule definition is processed.

 The delta-time format is as follows:

 dddd hh:mm:ss.cc

 The absolute-time format is as follows:

 dd-mmm-yyyy hh:mm:ss.cc

 In the delta-time and absolute designations, the abbreviations have
 the following meanings:

  o  dddd - Number of days

  o  dd - Day of the month

  o  mmm - Month

  o  yyyy - Year

  o  hh - Hours

  o  ss - Seconds

  o  cc - Hundredths of a second

every-delta-time

 Used to calculate the time to execute the next transfer.  The EVERY
 clause is optional.  If you specify the EVERY clause, you must
 specify either every-delta-time or every-absolute-time.  If you omit
 the EVERY clause, the transfer occurs only once.The valid
 specification for every-delta-time is the delta-time format used by
 the $BINTIM VMS system service.

every-absolute-time

 every-absolute-time =

 --+--> DAY ----+-+------->----------+--+->
   +--> WEEK ---+ +-> AT -> at-time -+  |
   +--> MONTH --+                       |
   ++-> weekday --+------->----------+-++
    |             +-> AT -> at-time -+ |
    +------------ , <------------------+

 Used to calculate the time to execute the next transfer.  The EVERY
 clause is optional.  If you specify the EVERY clause, you must
 specify either every-absolute-time or every-delta-time.  If you omit
 the EVERY clause, the transfer occurs only once.

 Valid specifications for the every-absolute-time parameter are:

  o  DAY

     The transfer executes on a daily basis.

  o  WEEK

     The transfer occurs every week on the same day of the week as the
     initial transfer.

  o  MONTH

     The transfer occurs on a monthly cycle on the same day of the
     month as the initial transfer.

  o  WEEKDAY

     The transfer executes on the weekdays that you list.  If you list
     more than one weekday, separate the days with commas.  Valid
     weekdays are SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
     FRIDAY, and SATURDAY.

AT at-time

 Qualifies every-absolute-time by specifying the time of day the
 transfer should occur.  If you specify DAY, WEEK, or MONTH, but do
 not specify an at-time, Data Distributor uses the time of day of the
 initial transfer.  You can specify in a list of weekdays the at-time
 for each day.  If you omit the at-time for any weekday, Data
 Distributor selects as the default the time used for the previous
 entry in the list.  For the first entry in the list, the time of day
 of the initial transfer is used, if none is specified.

 The at-time argument has the following format:  hh:mm:ss.cc.  For an
 explanation of these abbreviations, see the Help topic on
 start-date-time.

count

 Specifies the maximum number of times Data Distributor retries a
 transfer if a transfer execution fails.  If you do not include a
 retry count or if the count value is set to zero, Data Distributor
 does not attempt to retry the transfer until the next scheduled
 transfer time as indicated by the EVERY clause.  If you include a
 retry count and the transfer fails, the retry will start at the
 beginning, not where the transfer left off.

delta-time

 Specifies the length of time Data Distributor waits between the time
 of the last failed attempt and the time of the next retry attempt.
 The RETRY EVERY delta-time clause is optional and can only be
 specified if the RETRY count TIMES clause is included.

Examples

 Example 1:  Creating a schedule to run a transfer once a week

 This example calls for the COLLEGE_INFO transfer to execute at 3:00
 pm.  every Wednesday.  The schedule definition calls for a maximum of
 three retries occurring at intervals of 30 minutes.

 SQL> CREATE SCHEDULE FOR COLLEGE_INFO
 cont>  START 14-NOV-1990 15:00:00.00
 cont>     ! Wednesdays at 3 p.m.
 cont>     EVERY WEDNESDAY AT 15:00:00
 cont>     RETRY 3 TIMES
 cont>     RETRY EVERY 0 00:30:00
 cont>  ;

 Example 2:  Creating a schedule to run a transfer on an as-needed
 basis

 In this example, a transfer starts at midnight on December 15.
 Because the transfer will be performed on an as-needed basis, the
 user does not include an EVERY clause.  The user can replace the
 schedule definition if the transfer has to be run on a firm schedule
 at some later date.

 SQL> CREATE SCHEDULE FOR NH_EVALUATION
 cont>   START 15-DEC-1990
 cont>  ;

CREATE_TRANSFER

 CREATE TRANSFER --> transfer-name --> 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:

TYPE_ISREPLICATIONEXTRACTIONEXTRACTION_ROLLUP

More Informationtransfer-namereplication-extrrollup-move-clause
to-clausetarget-db-paramtransfer-filecomment-clauseExamples

More Information

 Creates a transfer definition and stores it in the transfer database.
 A transfer definition contains all of the information necessary to
 select a set of records from the source database and to define a
 target database.  A transfer definition also can contain the views to
 be defined on the target database and the command procedures to be
 executed before and after the execution of the transfer.

 Additionally, you can specify the following in a transfer definition:

  o  Whether the target database already exists or whether Data
     Distributor must create a new target database

  o  New names for specified data definitions in the target database

transfer-name

 Identifies the transfer by name.  The transfer name must be unique
 among the set of all transfers defined in the transfer database.
 Because a single transfer database serves all nodes in a VAXcluster
 environment, the transfer name must be unique across all nodes at a
 given VAXcluster site.  The transfer name does not have to be unique
 within the entire communications network.  Two VAXcluster systems can
 define transfers using the same transfer name.  If each transfer
 specifies the same existing target database, the transfers are
 differentiated by their respective network location.

TYPE_IS

 Names the type of transfer for the transfer definition.  REPLICATION,
 EXTRACTION, and EXTRACTION ROLLUP are the three valid transfer types
 for Data Distributor.

REPLICATION

 Declares the transfer type to be a REPLICATION transfer.

 When a replication transfer executes, Data Distributor creates the
 tables at the target site during the initial execution and maintains
 a connection to that target database so the source can supply updates
 to the target database.  Subsequent transfers involve only those
 additions, modifications, and deletions that have been made to the
 selected rows in the source database.

 If the target and source databases become inconsistent with each
 other, you can use the REINITIALIZE TRANSFER statement and then the
 START TRANSFER statement to create new versions of the target tables
 that are consistent with the source tables.

EXTRACTION

 Declares the transfer type to be an EXTRACTION transfer.

 The tables copied to a target database by an extraction transfer
 maintain no relationship with the source database tables.  Unlike a
 replication transfer, Data Distributor severs the connection between
 the source database and the target database after the extraction
 transfer completes.  Each time an extraction transfer executes, Data
 Distributor copies the latest version of the selected tables to the
 target database.

 Although you can write to tables created by Data Distributor in a
 target database, any future execution of an extraction transfer that
 copies the same tables from the source database will not include data
 written only to the target tables.  For more information on read and
 write restrictions, see the description of the to-clause.

replication-extr

 replication-extr-move-clause =

 ----> MOVE TABLES --+-> move-tables-clause -+-+-----------------------+-->
                     +---------- , <---------+ +-> move-views-clause --+

 Selects the rows of a table that Data Distributor transfers to the
 target database during an extraction or a replication transfer.  The
 rows selected for replications are specified with a restricted form
 of a select clause.  You must specify a move-tables-clause for each
 user table moved to the target database.

Additional information available:

MOVE_TABLES

move-tables-clausemove-select-clauseselect-listpredicatemove-views-clause

MOVE_TABLES

 For extraction transfers, specifies the table name or view name that
 you want copied from the source database.  For replication transfers,
 specifies the table name (not view name) that you want copied from
 the source database.  If you do not specify a table name or view
 name, you can specify a select clause.

move-tables-clause

 move-tables-clause =

 ---+--+---------------------+--+--- * ------------+--+--+
    |  +--> alias ----> . ---+  +--> table-name ---+  |  |
    |  |                        +--> view-name ----+  |  |
    |  +---------->----------------> "*.*".*.* ----+  |  |
    +--> move-select-clause --------------------------+  |
    +----------------------------------------------------+
    +----------------+--------------------+------------>
                     |                    |
                     +-> INTO table-name -+

move-select-clause

 move-select-clause =

 --> SELECT -+-------------+--> select-list --> FROM -+-------------------+--+
             +-> ALL ------+                          +-> alias ----> . --+  |
             +-> DISTINCT -+                                                 |
                                                                             |
 +---------------------------------------------------------------------------+
 |
 +--+--> table-name ---+--+--------->-----------+-+------->---------------+->
    +--> view-name ----+  +-> correlation-name -+ +-> WHERE predicate  ---+

select-list

 select-list  =

 ---+------> * -----------------------------------------+->
    +-+-+--> column-name --+---------------------------++
      | +------- , <-------+                           |
      +-+-> select-element-list -+--> .* -------------++
        |                        +--> .column-name -+-+
        +------------------- , <--------------------+

 select-element-list =

 ---+--> table-name -------+->
    +--> view-name --------+
    +--> correlation-name -+

predicate

 predicate  =

 ---+--+----------+--+---> basic-predicate ------------+---+--->
    |  +--> NOT --+  +---> between-predicate ----------+   |
    |                +---> containing-predicate -------+   |
    |                +---> in-predicate ---------------+   |
    |                +---> like-predicate -------------+   |
    |                +---> null-predicate -------------+   |
    |                +---> starting-with-predicate ----+   |
    |                +---> (predicate) ----------------+   |
    |                                                      |
    +--------------------+-- AND <--+----------------------+
                         +--- OR <--+

move-views-clause

 move-views-clause =

 MOVE VIEWS ---+
     +---------+
     ++-+------>--------+> * -----------+--------->----------+->
      | +-> alias --> . +               |                    |
      | +------>----------> "*.*".*.* --+                    |
      +-+-+---->---------+> view-name -+------->---------+-+-+
        | +-> alias -> . +             +> INTO view-name + |
        +------------------- , <---------------------------+

EXTRACTION_ROLLUP

 Specifies that Data Distributor create an extraction rollup database
 at the target site by transferring selected tables and columns from
 one or more source databases into a single target database.  An
 extraction rollup database is created at the target site, and Data
 Distributor reads data from the source databases and stores the data
 in a target database.

 Each time an extraction rollup transfer is executed, Data Distributor
 creates a new version of the target database and transfers a complete
 copy of the selected rows to the target database.  Upon completion of
 an extraction rollup transfer, Data Distributor severs the connection
 between the source database or databases and the target database.

rollup-move-clause

 rollup-move-clause =

 ----> MOVE TABLES --+--> rollup-source-table-spec ---+--->
                     +------------- , <---------------+

Additional information available:

More Informationrollup-sourcemove-select-expr

More Information

 Selects the tables or views that Data Distributor transfers to the
 target database from a number of source databases during an
 extraction rollup transfer.  You can roll up multiple tables into a
 single target table only by using a move select expression with the
 UNION ALL keywords.

 Rollup-move-clause has the following restrictions:

  o  Data Distributor requires you to declare each source database
     with a different alias.  You must then use these aliases in the
     rollup-move-clause clause.

  o  The rollup-move-clause clause must be used with the EXTRACTION
     ROLLUP parameter.

  o  The rollup-source-table-spec clause that specifies *.* expands to
     a comma-separated list of alias.* for each declared database.
     The order of the list is undefined.

  o  All move-select-clause clauses that include the UNION keyword
     must also include the ALL keyword, must be of the same degree,
     and must match data types exactly for all columns being merged.

rollup-source

 rollup-source-table-spec =

 --+--> *.* --------------------------------------+->
   +--> alias ------> . --+-> * -----------------++
   |                      +-> table-name --+-+   |
   |                      +-> view-name ---+ |   |
   +--> move-select-expr --------------------+-+ |
   +-------------------------------------------+ |
   +--> INTO table-name -------------------------+

move-select-expr

 move-select-expr =

 ---+--> move-select-clause --+-->
    +------- UNION ALL <------+

to-clause

 to-clause =

 -> TO -+-> NEW FILENAME -> target-file-spec ------------+>
        +-> EXISTING -+-> ALIAS alias ---------------++  |
                      +-> FILENAME target-file-spec -+|  |
                   +----------------------------------+  |
                   +-+----------------------+------------+
                     +-> WITH CHECKING -----+
                     +-> WITH NO CHECKING --+

Additional information available:

More Information

More Information

 Specifies the name of an existing target database or the name of a
 new target database to be created by Data Distributor.

target-db-param

 target-db-param-clause =

 ---+-+->----------------------------------------------------+-+-->
    | +-> ALLOCATION IS --------> number-pages --> PAGES ----+ |
    | +-> PAGE SIZE IS ---> page-blocks ------> BLOCKS ------+ |
    | +-> NUMBER OF BUFFERS IS --> number-buffers -----------+ |
    | +-> NUMBER OF USERS IS ----> number-users -------------+ |
    | +-> BUFFER SIZE IS --> buffer-blocks ---> BLOCKS ------+ |
    | +-> EXTENT IS -------+-> extent-pages ---> PAGES ---+--+ |
    | |                    +-> (extension-options) -------+  | |
    | +-> SNAPSHOT IS ----+-> ENABLED -+->-------------+-+---+ |
    | |                   |            +-> IMMEDIATE --+ |   | |
    | |                   |            +-> DEFERRED  --+ |   | |
    | |                   +-> DISABLED ------>-----------+   | |
    | +-> SNAPSHOT ALLOCATION IS --> snp-pages --> PAGES ----+ |
    | +-> SNAPSHOT EXTENT IS -+-> extent-pages --> PAGES --+-+ |
    |                         +-> (extension-options) -----+   |
    +------------------<--------------------------<------------+

Additional information available:

More Informationextension-options

More Information

 Specifies values for parameters that Data Distributor uses to create
 the target database.  This clause uses syntax similar to the SQL
 CREATE DATABASE statement.  However, Data Distributor does not
 support all the parameters that the SQL CREATE DATABASE statement
 does.

extension-options

 extension-options =

   -----> MINIMUM OF --> min-pages ---> PAGES ---> , -+
     +------------------------------------------------+
     +--> MAXIMUM OF --> max-pages ---> PAGES ---> , -+
     +------------------------------------------------+
     +--> PERCENT GROWTH IS ---> growth ---->

transfer-file

 transfer-file-options-clause

   -+-+------------------------->---------------------------+------->
    | +--> PROLOGUE FILE IS ----> prologue-file-spec -------+
    | +--> NO PROLOGUE --------->---------------------------+
    | +--> EPILOGUE FILE IS ----> epilogue-file-spec -------+
    | +--> NO EPILOGUE --------->---------------------------+
    | +--> LOG FILE IS ---------> log-file-spec ------------+
    | +--> NO LOG -------------->---------------------------+
    +---------------------------<---------------------------+

Additional information available:

More Information

More Information

 Specifies the DCL command procedures to be executed before or after a
 transfer runs, and the VMS file where logging information related to
 the transfer execution is located.  For each transfer definition, you
 can specify one prologue file, one epilogue file, and one log file,
 or any combination of the three.

comment-clause

 comment-clause =

 ----> COMMENT IS --+--> string-literal ---+--->
                    +--------- , <---------+

Additional information available:

More Information

More Information

 Documents your transfer definition with one or more character string
 literals.

Examples

 Example 1:  Creating a local extraction database from a remote node

 This example shows an extraction from a remote source database to a
 local target database.  The CREATE TRANSFER statement specifies the
 transfer of all personnel rows to the target node.

 SQL> ATTACH 'FILENAME NODE1::DISK1:[DIR1]PERSONNEL';
 SQL> CREATE TRANSFER PERS_EXAMP TYPE IS EXTRACTION
 cont>  MOVE TABLES *
 cont>  TO NEW FILENAME [LEARNER.PERS]PERS_COPY
 cont>  LOG IS [LEARNER.PERS]PERS_EXAMP.LOG
 cont>  COMMENT IS 'Extraction of personnel information'
 cont>  ;

 Example 2:  Creating an extraction database on a remote node from a
 source remote node

 This example shows an extraction transfer from a remote source to a
 remote target database.  The log file, PERS_REC.LOG, is located on
 the source node where the transfer definition was defined.
 SQL> ATTACH 'FILENAME NODE1::DISK1:[DIR1]PERSONNEL';
 SQL> CREATE TRANSFER PERS_REC TYPE IS EXTRACTION
 cont>  MOVE TABLES *
 cont>  TO NEW FILENAME NODE2::DISK2:[PROTO]PERS_REC_TARGET
 cont>  LOG IS USER3:[DBS.PERSLOG]PERS_REC.LOG
 cont>  COMMENT IS 'Extraction of personnel information'
 cont>  ;

DROP_SCHEDULE

 DROP SCHEDULE FOR ---> transfer-name ----> ;

Additional information available:

More Informationtransfer-nameExample

More Information

 Deletes the schedule definition associated with a transfer
 definition.  You can delete a schedule definition only when the
 associated transfer is in the suspended state.  (Refer to the STOP
 TRANSFER statement for information about how to suspend a transfer.)
 If you issue a START TRANSFER statement after deleting the schedule,
 the transfer will be placed in the unscheduled state.

transfer-name

 Identifies the transfer whose schedule is to be deleted.

Example

 This example suspends the NH_EMPLOYEES transfer and then deletes its
 associated schedule.  The error message notifies you that a schedule
 definition cannot be deleted unless the transfer that the definition
 schedules is suspended with the STOP TRANSFER statement.

 SQL> DROP SCHEDULE FOR NH_EMPLOYEES;
 %SQL-F-DDALERR, VAX Data Distributor fatal error
 -DDAL-E-TNSF_NOT_SUSPEN, transfer is not suspended
 SQL> STOP TRANSFER NH_EMPLOYEES;
 SQL> DROP SCHEDULE FOR NH_EMPLOYEES;

DROP_TRANSFER

 DROP TRANSFER ---> transfer-name ----> ;

Additional information available:

More Informationtransfer-nameExample

More Information

 Deletes a transfer definition.  If a transfer has a schedule
 definition, DROP TRANSFER also deletes the corresponding schedule
 definition.

transfer-name

 Specifies the transfer definition to be deleted.

Example

 The following example suspends the NH_EMPLOYEES transfer and then
 deletes its definition.  If a transfer has an associated schedule
 definition, that definition is deleted as well.

 SQL> STOP TRANSFER NH_EMPLOYEES;
 SQL> DROP TRANSFER NH_EMPLOYEES;

REINITIALIZE

 REINITIALIZE TRANSFER -----> transfer-name -----> ;

 Reinitializes a replication transfer to make the source and
 replication databases consistent with each other.  You must
 reinitialize a transfer when someone restores a previous version of
 the source database.

Additional information available:

More Informationtransfer-nameExample

More Information

 If you want to reinitialize a particular transfer, the transfer
 definition must be associated with your UIC.

 You can reinitialize a transfer only when the transfer is in the
 suspended state.  To suspend a transfer, first issue a STOP TRANSFER
 statement.  You must execute the REINITIALIZE TRANSFER statement
 outside the scope of a transaction.  If you issue this statement when
 a transaction is outstanding, Data Distributor returns an error
 message.

 After you enter the REINITIALIZE statement, the transfer remains in
 the suspended state.  You must then issue a START TRANSFER statement
 to restart the transfer.

 The REINITIALIZE statement forces the next execution of a replication
 transfer to create a new replication database in the target
 directory.  You must reinitialize a transfer when someone restores a
 previous version of the source database.

transfer-name

 Specifies the replication transfer that you want to reinitialize.

Example

 This example places the LLAMA_REGISTRY transfer in a suspended state
 and then reinitializes it.  The schedule and definition for this
 replication transfer remain in place.  Once the transfer has been
 reinitialized, you can restart it.

 SQL> STOP TRANSFER LLAMA_REGISTRY
 SQL> REINITIALIZE TRANSFER LLAMA_REGISTRY
 SQL> START TRANSFER LLAMA_REGISTRY

SHOW_TRANSFER

 SHOW TRANSFER -+----------------------------+-> ;
                +-+----------------------+-+ |
                  +-> transfer-attribute + | |
    +-------------------<------------------+ |
    +-+--> * --------------+-+---------------+
      ++-> transfer-name --+ |
       +------- , <----------+

 transfer-attribute =

 --> ( -+-+----------------+-+--> ) --->
        | +-> DEFINITION --+ |
        | +-> SCHEDULE ----+ |
        | +-> STATUS ------+ |
        +-------- , ---------+

Additional information available:

More Informationtransfer-attributewildcardtransfer-name
Examples

More Information

 Displays information about the transfer definition, schedule
 definition, the transfer status, or all of these transfer attributes.
 When you enter the SHOW TRANSFER statement, you can display
 information about one transfer or all of them, but not about a
 selected number of transfers.

 You must have the Rdb/VMS READ privilege for a database to use the
 SHOW TRANSFER statement.

transfer-attribute

 The type of information you want displayed about the selected
 transfer or all transfers.  Separate transfer attributes with a comma
 and enclose them in parentheses.

Additional information available:

DEFINITIONSCHEDULESTATUS

DEFINITION

 Displays transfer definition information for one transfer, all
 transfers, or a set of transfers you select.

SCHEDULE

 Displays schedule definition information for one transfer, all
 transfers, or a set of transfers you select.

STATUS

 Displays the following status information for one transfer, all
 transfers, or a set of transfers you select:

  o  Time the transfer entered its current transfer state

  o  Last transfer status

  o  Time the last successful transfer completed

  o  Next scheduled transfer time (for transfers in the scheduled or
     waiting-to-retry state)

  o  Number of the currently executing retry (for transfers in the
     retrying state)

  o  Number of the next retry (for transfers in the waiting-to-retry
     state)

wildcard

 The wildcard character (*) displays information about all transfers
 associated with your UIC.  For transfers belonging to other UICs,
 Data Distributor displays the transfer name and the name of the
 transfer definer.  To display information about transfers belonging
 to other UICs, you must have VMS BYPASS or READALL privilege.  If you
 omit the transfer attribute and type SHOW TRANSFER *, Data
 Distributor displays definition, schedule, and status information for
 all transfers.

transfer-name

 Specifies one or more transfers about which you want Data Distributor
 to display information.

Examples

 Example 1:  Displaying a schedule definition

 This example displays information about the schedule for the
 NH_EMPLOYEES transfer.  The transfer is scheduled to begin at 1:15
 pm.  to repeat every day.  If the transfer fails, the transfer will
 retry three times with an hour between retry attempts.

 Schedule for transfer NH_EMPLOYEES:
 Start                   22-FEB-1989 13:15:00.00
 Frequency               Every day at 14:30:00.00
 Number of retries       3 times
 Retry frequency         0 01:00:00.00

 Example 2:  Checking on the status of the NH_EMPLOYEES transfer

 This example displays information about the status of the
 NH_EMPLOYEES transfer.  The transfer is scheduled to be performed at
 2:30 pm.  on February 23, 1989.  The transfer ran successfully the
 day before.

 Schedule for transfer NH_EMPLOYEES:
 Start                   22-FEB-1989 13:15:00.00
 Frequency               Every day at 14:30:00.00
 Number of retries       3 times
 Retry frequency         0 01:00:00.00

START_TRANSFER

 START TRANSFER ----> transfer-name ---+
   +-----------------------------------+
   +-+--------------------------+---> ;
     +--> NOW --+->-----------+-+
                +-> WAIT -----+
                +-> NO WAIT --+

 Executes a transfer on demand, or changes the state of a transfer
 from suspended to scheduled, unscheduled, or active.

Additional information available:

More InformationExamples

More Information

 You can use the START TRANSFER statement without any qualifiers to
 change the state of a suspended transfer.  Issuing the START TRANSFER
 statement places the transfer in the scheduled state if a schedule
 definition exists for the transfer.  Execution then occurs at the
 next scheduled time.  If a schedule definition does not exist, the
 transfer is placed in the unscheduled state and will execute only
 when you issue a START TRANSFER statement using the NOW qualifier or
 you define a schedule for the transfer.

 You cannot enter the START TRANSFER statement when a transaction is
 outstanding.  You must terminate any outstanding transactions before
 issuing the START TRANSFER statement.

 You can use the START TRANSFER statement to initiate a transfer on
 demand by including the NOW option.  The NOW option immediately
 places the transfer in the active state.  This execute-on-demand
 feature is useful in batch processing environments when you want to
 initiate the transfer after another job has completed successfully,
 regardless of the transfer's schedule.

 If you want to start a transfer, the transfer definition must be
 associated with your UIC.

Examples

 Example 1

 This example starts a transfer called ENROLL_SPANISH1.  If this
 transfer has a schedule defined for execution one hour from now but
 the transfer is suspended, issuing the START TRANSFER statement only
 changes the transfer's state to scheduled.  Execution of the transfer
 will not occur for another hour.

 SQL> START TRANSFER ENROLL_SPANISH1

 Example 2

 In this example, transfer ENROLL_SPANISH1 has been defined but has no
 schedule.  You issue this START TRANSFER NOW statement because you
 want to execute the transfer immediately.  Control returns to RDO as
 soon as the transfer begins.

 SQL> START TRANSFER ENROLL_SPANISH1 NOW

STOP_TRANSFER

 STOP TRANSFER -----> transfer-name -----> ;

 Places a transfer in the suspended state.  Data Distributor does not
 attempt to execute the transfer until you remove it from the
 suspended state using the START TRANSFER statement.  If the transfer
 is in the active state, the STOP TRANSFER statement also stops the
 copy process associated with that transfer.

Additional information available:

transfer-nameExample

transfer-name

 Specifies the transfer to be suspended.
3$More_Information

 You must terminate any outstanding transactions before you issue a
 STOP TRANSFER statement.

 If you want to stop a particular transfer, the transfer definition
 must be associated with your UIC.

Example

 The following example places the EUROPE_PERS transfer in the
 suspended state.

 SQL> STOP TRANSFER EUROPE_PERS

data types

 data-type =
  -+-> CHAR -+--------+---------------------------+-->
   |         +-> (n) -+                           |
   +-> VARCHAR (n) -------------------------------+
   +-> LONG VARCHAR ------------------------------+
   +-> TINYINT --------------+-----+--------+-----+
   +-> SMALLINT -------------+     +-> (n) -+     |
   +-> INTEGER --------------+                    |
   +-> BIGINT ---------------+                    |
   +-> QUADWORD -------------+                    |
   +-> LIST OF BYTE VARYING -+                    |
   +-> DECIMAL -+-+-----------------------------+-+
   +-> NUMERIC -+ +-> ( --> n -+--------+-> ) --+ |
   |                           +-> , n -+         |
   +-> FLOAT -+--------+--------------------------+
   |          +-> (n) -+                          |
   +-> REAL --------------------------------------+
   +-> DOUBLE PRECISION --------------------------+
   +-> date-time-data-types ----------------------+

Additional information available:

More Informationdate time data typesdomains

More Information

 Data types control how SQL interprets and stores values in columns.
 Literals, arithmetic expressions, parameters, and SQL functions are
 examples of expressions other than column names that supply values
 and also have associated data types.

date time data types

 date-time-data-types =
 --+-> DATE -+----------+-----------------+-->
   |         +-> ANSI  -+                 |
   |         +-> VMS ---+                 |
   +-> TIME ---> frac --------------------+
   +-> TIMESTAMP --> frac ----------------+
   +-> INTERVAL ---> interval-qualifier --+

Additional information available:

fracinterval qualifier

frac

 frac =
 --+-----------------------------------+->
   +--> ( ---> numeric-literal --> ) --+
 Specifies the time or timestamp precision to a fraction of a second

interval qualifier

 interval-qualifier=

 --+-> YEAR ---> prec --+-------------+-----------------+->
   |                    +-> TO MONTH -+                 |
   +-> MONTH --> prec ----------------------------------+
   |                                                    |
   +-> DAY ----> prec --+-------------------------------+
   |                    +-> TO -+-> HOUR ---------------+
   |                            +-> MINUTE -------------+
   |                            +-> SECOND -> frac -----+
   +-> HOUR ---> prec --+-------------------------------+
   |                    +-> TO -+-> MINUTE -------------+
   |                            +-> SECOND -> frac -----+
   |                                                    |
   +-> MINUTE -> prec --+-------------------------------+
   |                    +-> TO SECOND ------> frac -----+
   |                                                    |
   +-> SECOND -> seconds-prec --------------------------+

Additional information available:

precseconds prec

prec

 prec =
 --+-----------------------------------+->
   +--> ( ---> numeric-literal --> ) --+
 Specifies the interval leading field precision, which restricts the
 number of decimal digits that the leading segment occupies.

seconds prec

 seconds-prec =
 --+--------------------------------------+-->
   +-> ( -> numeric-literal-1 --+         |
      +-------------------------+         |
      ++--------------------------+-> ) --+
       +> . -> numeric-literal-2 -+
 The first numeric literal specifies the interval leading field
 precision for the interval, and the second specifies its fractional
 seconds precision.

domains

 A domain is the set of values that a column in a table can have.  The
 CREATE DOMAIN statement specifies the set of values by associating a
 data type with a domain name.

 You can refer to a domain instead of an SQL data type in the CREATE
 and ALTER TABLE statements, and in formal parameter declarations in
 SQL module procedures.  You can specify the same domain in many table
 definitions.  If the domain has to change, you need only change that
 one domain definition to change all the tables and SQL modules that
 refer to it.  This ability makes it easier to keep applications
 consistent.

DCL invoke

 Gives access to DCL from inside interactive SQL.

 The dollar sign ($) instructs interactive SQL to spawn a subprocess
 and pass the rest of the command line to DCL for processing.  You
 must follow the dollar sign with a DCL command.  After DCL processes
 the command, it logs out of the subprocess and returns control to
 interactive SQL.  For example:

 SQL> $ MAIL

 MAIL>

Additional information available:

Example

Example

 Seeing your current default VMS directory:

 SQL> $ DIRECTORY

 Directory DISK2:[DEPT3.ACCT]

 DEFPRO.SQL;6    NOTEQUAL.SQL;1   QUERY.SQL;1    REFEXAM.SQL;12
 STORE.SQL;1     UPDATE.SQL;2

 Total of 6 files.

 SQL>

default database

 SQL allows you to specify an alias that declares the database as the
 default database.  Specifying a default database means that
 subsequent statements during the database attachment that refer to
 the default database need not use an alias.

 In the SQL module language, the alias specified in the module header
 is the one that designates the default database.  In precompiled SQL
 programs and in interactive SQL, the special alias RDB$DBHANDLE
 designates the default database.  In all environments, omitting an
 explicit alias is the same as specifying the alias that designates
 the default database.

 Select More_Information to continue.

Additional information available:

More Information

More Information

 If you do not declare any alias or attach to any database, SQL
 declares the database specified in the logical name SQL$DATABASE as
 the default database, using the FOR FILENAME clause.

 If you declare a database specifying an alias other than the one that
 declares the default database, you must use that alias to qualify
 names of any database elements to which you refer in SQL statements.
 If you omit the alias, SQL assumes the table or view must be part of
 the default database.  If there is no default database and you omit
 the alias, SQL generates an error.

Dynamic SQL

 Dynamic SQL lets programs accept or generate SQL statements at run
 time, in contrast to SQL statements that are part of the source code
 for precompiled programs or SQL module language procedures.  Unlike
 precompiled SQL or SQL module language statements, such dynamically
 executed SQL statements are not necessarily part of a program's
 source code, but can be created while the program is running.
 Dynamic SQL is useful when you cannot predict the type of SQL
 statement your program will need to process.

 You cannot use dynamic SQL statements in interactive SQL, but
 interactive help includes quick reference information on these
 dynamic SQL statements:

 Dynamic DECLARE CURSOR (listed as Dyn_DECLARE_CURSOR)
 DESCRIBE
 EXECUTE
 EXECUTE IMMEDIATE (listed as EXECUTE_IMMEDIATE)
 Extended Dynamic DECLARE CURSOR (listed as Ext_Dyn_DEC_CURSOR)
 Dynamic FETCH (listed as Dyn_FETCH)
 INCLUDE
 Dynamic INSERT (listed as Dyn_INSERT)
 Dynamic OPEN (listed as Dyn_OPEN)
 PREPARE

Dyn DECLARE CURSOR

 Declares a cursor where the select statement is supplied at run time
 in a parameter.

Additional information available:

Format

Format

 DECLARE cursor-name ----------------------+
 +-----------------------------------------+
 +-+----------------+----> TABLE CURSOR ---+
 | +-> INSERT ONLY -+                      |
 | +-> READ ONLY ---+                      |
 | +-> UPDATE ONLY -+                      |
 | +---------------------------------------+
 | +-> FOR -> statement-name --------------+
 | +---------------------------------------+
 | ++------------------------------------+-+
 |  +> OPTIMIZE FOR -+-> FAST FIRST --+--+ |
 |                   +-> TOTAL TIME --+    |
 | +---------------------------------------+
 | +-> FOR -> statement-name --------------+> ;
 |                                         |
 ++----------------+> LIST CURSOR ------+  |
  +-> INSERT ONLY -+                    |  |
  +-> READ ONLY ---+                    |  |
  +-------------------------------------+  |
  +-> FOR -> statement-name ---------------+

Additional information available:

INSERT_ONLYREAD_ONLYTABLELIST

statement name

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

Format

 FETCH ---> dynamic-list-cursor-name --------------+
                                                   |
         +-----------------------------------------+
         |
         +--> USING DESCRIPTOR descriptor-name ---->;

Dyn INSERT

 Inserts new data into a dynamic cursor (positioned insert) or a list,
 depending on which syntax you use.  For more information, see the
 Positioned and LIST subtopics.

Additional information available:

LIST

Positioned

Positioned

 Use the following syntax when you want to insert data into a dynamic
 table cursor to set up the proper row context for any list cursors.
 This type of INSERT statement is known as a dynamic positioned insert
 statement.
 INSERT INTO CURSOR ---> dynamic-cursor-name --------+
                                                     |
   +-------------------------------------------------+
   |
   +-+----------------------------+------------------+
     +-> ( -+ column-name -+-> ) -+                  |
            +------ , <----+                         |
   +-------------------------------------------------+
   +-> VALUES --> ( -++-> literal ---++--> ) ------------>;
                     |+-> parameter -+|
                     |+-> NULL ------+|
                     |+-> USER ------+|
                     +---- , <--------+

LIST

 Inserts new data into a list.

 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

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
ADADISUNSADAVARUNSAGGTBLCURALIASEMBFIRST
ALIASONLYONCEALLSCHROLLALLSCHTABALTNOTOCB
ALTSCHATTAMBHV_DECAMBTYP_DECAMB_KEYWORD
ANODBHANDANSIPROTONLANSI_UPDATE_VIEWARGCOUNT
ARIEXPEXPASSSTRLITATTMISSINGBACKUPBYBADADJLOCKGRAN
BADARGAVGBADARGSUMBADBLOBBADBUFFERPOOL
BADCATALOGBADCATINCREBADCBDATEBADCLUMP
BADCOLIGNCASBADCOLLATIONBADCORATTBADCTXLEN
BADCTXTYPEBADCTXVERBADDBHANDBADDBKEY
BADDICTIONARYBADDTFMTBADEPILOGUEBADEPINAM
BADEXTENDIBLEBADFILEVERBADFLDTYPBADIDXMAP
BADINTERVALBADLANGUAGEBADLOGFILEBADLOGNAM
BADMAINTBADMETNAMBADMVIEWFLDBADMVIEWREL
BADMVIEWVEWBADMVRELSBADMVVIEWSBADNONEXTEND
BADORIENTBADPAGEFORMATBADPREPAREBADPROLOGUE
BADPRONAMBADPROTECTIONBADRECBUFBADROLMVFLD
BADSCHEMABADSCHINCREBADSEGSTRINGBADSNAPFILENAME
BADSTOGROUPBADSUPLVLBADTHRESHOLDBADVAXCLUSNODES
BADVERNUMBAD_ARRAYBAD_CDD_DEFBAD_DB
BAD_LENGTHBAD_LEVELBAD_NAMEBAD_PRECISION
BAD_SCALEBAD_TOKENBAD_TXN_STATEBAD_VERSION
BASROWDELBINSCAFACBIT_FIELDBOG_DYN_NAMEBOOEXPEXP
BUGCHKCABORTCANTDOVALXPRCANT_MOVECATNOTDEF
CAT_EXISTSCDDERRCDDUNKPROTCDDVERERR
CHAR_SET_USEDCHECKOPTROCHGINDMAPCHGINDMAPSTP
CHRUNIBADCHR_TOO_SHOCHR_TOO_SMACIRCTYPE
CLOSERRCMDINTRCMPBYINVWCMPBYMVMETOOCMPBYWNRL
CMPBYWNVWCNTSPNSUBCOLEXISTSCOLLSTINVCOLL_EXISTS
COLNOTFUNCOLNOTNULCOLNOTSSCOLNOTUPD
COLNOTVALCOLONDISILLCOLONENAREQCOLSEQNOTDEF
COMPNOTRANSCOMPONENTCOMTOOLONCONALREXI
CONCHAILLCONDICREQCONLYOPTCONNAMEXI
CONNOTDEFCONNOTSUPCONREAATTCONSNAATT
CONTPREQCONTPROMPTCONTRIACTCONVARDEF
CONVARILLUPDCONVARUNDCORREFFUNCREATEDATE
CRE_STO_ERR_SCHCSETNOASCIICSETSYNCS_ERRCTXIGNORED
CTXPARMNOTALLCURALRDCLCURALROPECURNAMEXI
CURNOTOPECUROFNOTCUROFREQCUROFSTACURSTMTTXN
CURTWOOPENCURUSEINVCURVERDATCONERR
DATEADDILLDATEDIGNEQDATEDIVILLDATEEQLILL
DATEFORTIMESDATEMULILLDATEOPRDATESCANEQ
DATESUBILLDATETIMESDATETIME_PRECDATETIM_PREC
DATETIM_SCALEDATETYPESDATIM_SCALEDATNOTSUP
DATTYPUNKDBALLOCISDBALLOCWASDBBUFLENIS
DBBUFLENWASDBCLWASOFFDBCLWASONDBENVSYNERR
DBFCINTVLISDBFCINTVLWASDBFCISOFFDBFCISONDBFCWASON
DBHANDOVEDBHANDOVE_QDBHANDUNKDBHDLREQ
DBINUSEDBJNLALLISDBJNLALLWASDBJNLEXTIS
DBJNLEXTWASDBJRNCMTISNDBJRNCMTISYDBJRNCMTWASN
DBJRNCMTWASYDBKAMBIGDBKTOOBIGDBLCKTMOUTIS
DBLCKTMOUTWASDBMUNGEDDBMUNGED_QDBNAMCONF
DBNOTINCONNDBNUMBUFISDBNUMBUFWASDBNUMDBRIS
DBNUMDBRWASDBNUMNODISDBNUMNODWASDBNUMUSERIS
DBNUMUSERWASDBPGSIZISDBPGSIZWASDBSNPDEFISN
DBSNPDEFISYDBSNPDEFWASNDBSNPDEFWASYDBSNPENAISN
DBSNPENAISYDBSNPENAWASNDBSNPENAWASYDBSPECSYNERR
DB_EXISTSDB_HANDECDB_HANDEC2DB_HANLON
DB_IN_TXNDCLBEFEXEDCLDATBEFDDALERR
DDALFMTUNKDDALNOTINSDDLPARAMDDNOTSUPP
DECCURINTODECEMBERDEFCONMODDEFDBDECDEFVALINC
DEFVALNOTCBDEFVALUNSDEGMODSPCDELBACKUP
DELLSTDYNCURDEPIMPCASDEPR_DQUOTESDEPR_FEATURE
DEP_FEATUREDIC_DB_CHG1DIC_DB_CHG2DIFFDEFINV
DIFFSCHVIEWDIGNUMPICDOMNOTBCKDOM_CDD_NAME
DOM_INVALIDDPBFMTUNKDROP_COLDOMDROP_COLL
DROP_CONSDROP_DOMDROP_IDXDROP_STOMAP
DROP_STORMAPDROP_TABLEDROP_TRIGDROP_VIEW
DTFMTTOOBIGDTONCEEACHDUPFLDDEFDUPPROCNAM
DUPREFACTDUPVARDYNSIZARREMPMSGVEC
ENDENUM_VARERRATTDECERRATTDEF
ERRCRESCHERRDETERRINCPATHERRSYMDEL
ERRSYMREPES_ILL_RPTEVACLAUNSEXESELSTA
EXPNUMLITEXPQUEXPREXP_CDD_NODATAEXP_CDD_NOEXT
EXP_CONVERTEXTNAMEXISTSEXTRADATAEXTREPONESCH
FETNOTDONFIELD_EXISTSFINNOSESFKCONSNOTCB
FLDAMBIGFLDNOTBCKFLDNOTCRSFLDNOTDEF
FLDNOTINRELFLUINPBUFFORCOLNMASSFORCOLNMDECL
FORCOLNODECLFORPASLENFORTABNODECLFUN_VAR
GARBLEDGETCRESEGGFLOATHEXSTREVEHI_ORD_LOS
HVNOTDECLHV_NOT_INIDMISSINGIGNCASE_BAD
ILLBEGINILLCHARILLCOMPRECILLDATLENILLEXEIMMILLFLOLEN
ILLFRASECPREILLFROMILLHEXNUMILLINTLENILLPICSTR
ILLSTRCONTIMPL_DIMIMP_CDD_NODATAIMP_IDXNOTCRE
IMP_IDXNOTDROIMP_IDX_CONFLICTIMP_IDX_DELIMP_IDX_NODEL
IMP_IDX_OVRIMP_IDX_TWICEIMP_MAP_DELIMP_MAP_OVR
IMP_STANOTDROIMP_STAREADONLYIMP_STMNOTCREIMP_STMNOTDRO
IMP_STO_AREAIMP_STO_CONFLICTIMP_STO_DELIMP_STO_MAP_CONFLICT
IMP_STO_MAP_TWICEIMP_STO_OVRIMP_STO_TWICE
IMP_TRA_BEGIMP_TRA_ENDINCCSASSINCCSCMPINCCSCON
INCNOTRECINC_DAT_TYPINDEXTSINDFIXINTINDNOTDEF
INDSHOINTIND_EXISTSINFODETINPUTERRORINSCOLALR
INSCURDYNINSVALSPECINS_INTO_ROINS_MUST_INS
INTERVAL_USEDINTIGNSYSINTNOTQUALINTNOTSYSINTONOTALW
INTONOTQUALINTQUALINVINTVALLOWINTVALOVR
INT_DEL_FLD_PATHINT_DEL_REL_PATHINVACLINVARRSUB
INVATTVALINVCHAINPINVCHANUMSTRINVCOLLSTINVCOLSPCINVCOMLIN
INVCONSINVCORRSLINVCSETINVDATCONINVDBKREF
INVDISXPRINVESCVALINVFLDINVFUNREFINVHVDECL
INVINDEXINVINTQUALINVLENHVINVNODESIZEINVNUMLIT
INVNUMSTRPREINVOBJFILINVORDNUMINVPERCENTFILL
INVPICNINVPRIVINVPRIVNAMESINVQUALINVREFCLA
INVRELVIEWINVRNGINVRTOSTMINVSEGVALINVSELLIS
INVSELSTARINVSQLCODEINVSSCONVINVSSHAN
INVSTRLENINVTRGINVTRISTMTINVTYPEINVVALLISIOERROR
ISQLINTOJOITOOBIGJUNONLINKEYTOIDENTLANFILEXTLANSWIVAL
LANUNSDSCDTPLANUNSDTPLCKTMOUTISLENMISMAT
LIMFIXINTLINETOOLONGLISTNOTVALLIT_EXCEPT
LOGBACDATLOOK_FORLOOK_FOR_CONLOOK_FOR_FIN
LOOK_FOR_STMTLOOK_FOR_STTLOOK_FOR_UNTERMLOWCASNOTALL
LOW_ORD_LOSLSTCURSTALSTNOTNULLSTREFAMB
L_PAGE_HEAD_2MAJORVERMAXFLDPRTSTRMAXNESEXC
MAXORDEXCMAXRELEXCMINGTRMAXMINORVER
MINUSDATINTMISREQVALMISSINGNAMEMIXTABLIS
MLTDFNRTNMODTOOOLDMOVENOCOLSMULDIMARR
MULSPECATRMULTSPECATRMULT_STRUCTMUL_UIC
MVMULTITARGMVRELABSNTNAMCONFNAMTOOBIG
NEG_DIMNESFUNINVNESINCFILNESQRYEXPNO1ST
NOAGGALLNOALTERNOANYALLNOBATCHUPDATENOBATUPDNOBCKFIL
NOBCKTRNSNOBUCTXPARMNOBUUSINGCTXNOCATRES
NOCDDNOCDDALTNOCDDRESNOCDDUPDATNOCMPBYRES
NOCMPINTDYNOCOLALLNOCOLLSTNOCOLNAMNOCOLRES
NOCONNAMNOCONRESNOCORRCOLNOCPRIRES
NOCSETNOCUROFNODATDIVNODATRESNODBHALWNODBKALL
NODBKGRONODBNAMENODBSINTXNNODECLMOD
NODEFDBNODISTINCTNODROPSYSCATNODROPSYSSCH
NODUPLIVIEWNOENTRYPTNOFILLISTNOFLDRESNOFSTINREPT
NOGROUPNOIDXRESNOIMPTXNNOINCDICNOITEMDEFNOLANGFIL
NOMAPIMPONOMAPRESNOMATCHKEYNOMLTIMVNOMLTIMVIEW
NOMODFILNOMOVESYSNOMVRALLNOMVVROLNONCONARR
NONOVALNONSINGLE_INTONONSTAAMBNONSTAANSPARM
NONSTACASNONSTACOBNONSTACOLNONSTACOLQUAL
NONSTACONNONSTACUCNONSTACURNONSTADIS
NONSTADTPNONSTADYNNONSTAHVNONSTAINVOKER
NONSTANAMNONSTAOKWNONSTAPHYNONSTAQUO
NONSTARSWNONSTASCLNONSTASMNONSTASYN
NONSTATXNNONSTAUNINONSTAVIANOOPENCUR
NOORDERNOPASQLDANOPHYSMULSCHNOPRECOMPSEL
NOPRIMKEYNOPROCNOPRVMVIEWNOPRVMVREL
NOPRVREPLINOPRVROLMVRNORDBPRIVNOREDINREPT
NORELFOUNORELRESNOREMVERNOREPSQLDANORETURN
NOROCOLNORTPARMNOSCHALTNOSCHRESNOSEGSTRAREANOSELALL
NOSELXPRNOSORTINREPTNOSPRIRESNOSQLCANOSQLCODE
NOSTRDEFNOSTRNAMNOSUCHCONNOSUCHCURNOSUCHDATEFMT
NOSUCHLANGNOSUCHPROCNOSUCHSTMTNOSUCHTIMEFMT
NOSUPREPLINOTAVIEWNOTDB2NOTDB2DURNOTDB2FN
NOTFOUNDNOTGROFLDNOTHVDECLNOTIMPSES
NOTINSCURNOTINTBLCURNOTLISTCOLNOTLSTCUR
NOTPRIRESNOTRGRESNOTSAMESCOPENOTSAMETBL
NOTTBLCURNOTUSEINDNOTYPESNOT_A_DB
NOT_CDD_DBNOT_SAME_CONTEXTNOT_SCH_IDNOUNION
NOVIERESNOVIEWINREPTNOWHERENO_CDDACCNO_COMMAND
NO_DCLTXNNO_DECIMALNO_DESCENDINGNO_DMLPLAN
NO_ENDCOMNO_ENDEXECNO_FILFNDNO_HDRPLAN
NO_INCFNDNO_NUMERICNO_PLNFNDNO_SQLDA
NO_STMTB4HDRNO_SUCH_FIELDNO_TRIGGER_VALSNO_TXNOUT
NO_UNSNUMERICNSEGBLRNULLNOINDNUMCMPTXT
NUMHVSNOTNUMITESELNUMXPREXPNUM_TO_DATE
OLDNAMWASONEEPERMONETXNMODONLFIRPRE
ONLFIRVARONLONEDBONLONETRNONLVALLSTONLY1LISTONLY1TBL
ONLYONEPSECTOPENERROPRSTK_OVRFLOPARAMNOTSTR
PARAMQUALPARBADCLAPARBADDATPARBADLEN
PARBADSCAPARBINSCAPARMLISTREQPARSE_STACK_OVERFLOW
PASPRGNOTFNDPASRECUNSPASVARUNSPATH_NAM_REQ
PHYBACDATPKCONSNOTCBPKGNAMCHGPKNOTNULL
PREFORSTRPREMATURE_EOFPREPCDDVER1PREPCDDVER2
PREPCDDVER3PREPDBVERPREPNOCTXSTRPREPPROMPT
PRESTAOPEPRIKEYEXIPRINT_SSIDPROCNOCAPROCSTATWO
PROMPTPRPSELINTOPRVERRSDTPUNKPTR_VARPUTOPESEG
QUAINVVALQUALNOTALLOWQUANOVALQUERYCANQUERYLIMPOS
RDBVMSONLREANOWRTREAONLATTRECEXCMAX
REFKEYCOLREFKEYNUMRELNOTDEFREL_EXISTS
REMNOTALWREORGONLALTSMRESABORTRESERVED_WORD
RESRELMSGRESVIEMSGRESWORDCHKOFFRESWORDCHKON
RES_KEYWORDRES_WORD_AS_IDENTRETRYPOSREVENTANS
RTCSASS_C2CRTCSASS_C2NRTCSASS_D2CRTCSASS_N2C
SATURDAYSCHCATMULTISCHEMA_CDDFILESCHNOABSTIM
SCHNOTDEFSCH_EXISTSSEGAREERRSEGSTRAWAS
SEGSTREXPSELMORVALSESNOTENASEVERRDET
SHCONSHCONNONESHCONRELSHDBCDDSHDBFILSHDBINFIL
SHDBPTHSHDESCENDSHEXECOFFSHEXECONSHFLDGBL
SHFLDNONESHFLDRELSHFLDVIEWSHINDDRSHINDDUP
SHINDFSHINDFLDSIZESHINDIFSHINDMAPVALSHINDMAPVAL2
SHINDNDUPSHINDNONESHINDRSHODEPROFF
SHODEPRONSHOFLAGOFFSHOFLAGONSHOTABMAPDR
SHRELNONESHTYPNONESHVIEWSHVIEWNONE
SMA_DAT_TYPSPACREQSPANOTVALSQL41UNAS1
SQL41UNAS2SQL41UNAS3SQL41UNAS4SQL41UNAS5
SQLCHSCALESQLDANOTSQLDATASQLLENSQLTYPESSTOOBIG
STANOTDEFSTANOTSELSTAREQCOLSTARNOTALL
STAROCURSTATWOCURSTMTALREXISTOCOLERR
STOCOLUKNSTOMAPNOTDEFSTOMAP_EXISTSSTOTABUKN
STRARRAYSTRCVTNUMSTRINXPRSTRLITEXPSTRLITMISQUO
STRMORELESTRTOOBIGSTRTOOLONSTRXPREXP
SUBNOGBSUBTOOVALSYMDEFSYM_EXPSYNTAX_ERR
SYSPAGFORSYSPAGUNIS_ALGDISS_ALGENABLEDS_ALLINDDBF
S_ALLINDDBHS_ALLINDDBPS_ALLTBLDBFS_ALLTBLDBH
S_ALLTBLDBPS_ALLTYPDBFS_ALLTYPDBHS_ALLTYPDBP
S_BATCH_UPDATES_BLANKSS_COLHDR1S_COLHDR2
S_COMMENTS_COMMIT_CONSTS_COMPUTEDS_COMTBL
S_CONCOMMITS_CONCURRENCYS_CONNODEFERS_CONSISTENCY
S_CONSSGLLEVS_CONVERBS_DBCDDPATHS_DBHAN
S_DB_LCKTIM_INTVLS_DEFDBS_DESCRIPTIONS_DICTS_FC_COM
S_FC_INTS_FC_NOCOMS_FC_TIMS_FC_TSNS_FLDADTS_FLDB_NS
S_FLDB_SS_FLDFS_FLDGS_FLDL_NSS_FLDL_SS_FLDNL
S_FLDNUS_FLDPS_FLDQ_NSS_FLDQ_SS_FLDSSS_FLDSS_BLR
S_FLDSS_SEGLENS_FLDSS_TXTS_FLDSS_TYPS_FLDT
S_FLDUNKS_FLDVTS_FLDW_NSS_FLDW_SS_GB_DISABLE
S_GB_ENABLEDS_INSERT_COUNTS_INTEGNPRESS_INTEGPRES
S_LINES_LIST_STOMAP_NAMES_LOCK_ERS_LOCK_EW
S_LOCK_PRS_LOCK_PWS_LOCK_SRS_LOCK_SW
S_LONG_BLANKSS_LONG_DESCRIPTIONS_MULTLEV
S_NOWAITS_PRIV_DBS_PRIV_TBLS_PROT_DB
S_PROT_TBLS_QUERY_HEADERS_RDBVMSFILS_READONLY
S_READ_WRITES_SERDBSEVMSFILS_SNGLEVS_SOURCES_STOAREA_READONLY
S_STOAREA_READWRITES_STOAREA_UNIFORMS_STOAREA_WRITEONCE
S_STOMAP_NAMES_SYSINDDBFS_SYSINDDBHS_SYSINDDBP
S_SYSTBLDBFS_SYSTBLDBHS_SYSTBLDBPS_SYSTYPDBF
S_SYSTYPDBHS_SYSTYPDBPS_TBLINFO1S_TBLINFO2
S_TRANSBRIEFS_TRANSFCOMMENTS_TRANSFDEFS_TRANSFDEFINER
S_TRANSFDEFNONES_TRANSFDELTAS_TRANSFDESTDBS_TRANSFEPILOG
S_TRANSFERSS_TRANSFINF1S_TRANSFINF2S_TRANSFLAST
S_TRANSFLINES_TRANSFLOGFILES_TRANSFMODEES_TRANSFMODEER
S_TRANSFMODERS_TRANSFNEXTS_TRANSFNOEPIS_TRANSFNOLOG
S_TRANSFNONES_TRANSFNOPRIVS_TRANSFNOPROS_TRANSFNOSTS
S_TRANSFPROLOGS_TRANSFRETRIEDS_TRANSFRETRYS_TRANSFSCH
S_TRANSFSCHDAYS_TRANSFSCHDLTS_TRANSFSCHDPWS_TRANSFSCHDPW2
S_TRANSFSCHMONS_TRANSFSCHNONES_TRANSFSCHONCS_TRANSFSCHWEK
S_TRANSFSOURCES_TRANSFSRCDBS_TRANSFSRCNOHS_TRANSFSTART
S_TRANSFSTATUSS_TRANSFSTSS_TRANSFSTSACTS_TRANSFSTSNONE
S_TRANSFSTSRETS_TRANSFSTSSCHS_TRANSFSTSSSPS_TRANSFSTSUNS
S_TRANSFSTSWTRS_TRAN_BASESYSS_TRAN_DBHANDLES_TRAN_DECLARE
S_TRAN_DEFDBS_TRAN_HEADERS_TRAN_NOBASSYSS_TRDPB2AIJ
S_TRDPB2AIJALLS_TRDPB2AIJCONTS_TRDPB2AIJEXTS_TRDPB2AIJONCE
S_TRDPB2AIJSPLS_TRDPB2ALGS_TRDPB2ALGDISS_TRDPB2ALGENA
S_TRDPB2ALLOCS_TRDPB2AUTOS_TRDPB2BADCODES_TRDPB2BFLEN
S_TRDPB2CDDMNTS_TRDPB2CDDPATHS_TRDPB2CDDREQS_TRDPB2CHGSTO
S_TRDPB2CONVERTS_TRDPB2DBRBUFFS_TRDPB2DEFSTOS_TRDPB2DELSTO
S_TRDPB2DESCRS_TRDPB2ENDSTOS_TRDPB2EXSGRWS_TRDPB2EXSMAX
S_TRDPB2EXSMINS_TRDPB2EXSPGSS_TRDPB2EXTBLES_TRDPB2EXTGRO
S_TRDPB2EXTMAXS_TRDPB2EXTMINS_TRDPB2EXTPGSS_TRDPB2FILESPC
S_TRDPB2FILETYPS_TRDPB2HEADERS_TRDPB2LAYRACCS_TRDPB2MANUAL
S_TRDPB2NUMBFS_TRDPB2NUMNODES_TRDPB2NUMUSRS_TRDPB2PGSIZE
S_TRDPB2PROTS_TRDPB2READONLS_TRDPB2REQSCOS_TRDPB2SEGAREA
S_TRDPB2SNAPS_TRDPB2SNPALLS_TRDPB2SNPDISS_TRDPB2SNPENA
S_TRDPB2SNPENDS_TRDPB2SNPENIS_TRDPB2SNPFLGS_TRDPB2SPAMINT
S_TRDPB2SPAMSS_TRDPB2SPMTHR1S_TRDPB2SPMTHR2S_TRDPB2SPMTHR3
S_TRDPB2STONAMES_USRINDDBFS_USRINDDBHS_USRINDDBP
S_USRTBLDBFS_USRTBLDBHS_USRTBLDBPS_USRTYPDBF
S_USRTYPDBHS_USRTYPDBPS_VALIDS_VERB_CONST
S_VIDANAMS_WAITS_WAIT_INTERVALTBLCOLAFT
TBLCURDYNTBLNOTCURTBL_CDD_NAMETHRESHIGNO
THRIGNSYSTHRNOTSYSTOKINSBEFTOKTOOBIG
TOOBIGBLRTOOMANYNAMESTOOMANYTBLTRAACT
TRAACT_1TRAACT_2TRAACT_3TRADBPNEWONLTRAHDLINV
TRAMODSPCTRANOTOWNERTRANSFDISTREPTRANSFGRPBY
TRANSFHAVINGTRANSFSUBQRYTRANSFUNIONALLTRATOEXEXTR
TRATOEXPRIVTRATOEXRDBTREE_OVRFLOTRIGNOTDEF
TRIG_EXISTSTRNNOTBLSTRNNOVIEWSTWOIMPTXN
TXNNOTLONGTXN_HNDL_IGNOREDUKN_ALT_OPTUNAOBTDSR
UNBDECFILUNBTMPFILUNDEFVARUNDPARAM
UNDVERUNICONSNOTCBUNIKEYEXIUNIONEXTROLLUNISELLIS
UNKTYPEUNMATENDUNSCOMPBYUNSDATASSUNSDATATYPE
UNSDATCVTUNSDATXPRUNSDB2PRIVUNSDSCCLA
UNSDTPCVTUNSIGNED_VARUNSNUMXPRUNSPLIATT
UNSSTRXPRUNSSUPDATUNSUPOPUNSUPVERUNTSTR
UPDCOLPRIVUPDINSCURUPDREACURUSERINVIEW
USERNOTSUPUSINGCTXNOTALLUSRDEFTYPVECNOTIND
VEWNOTDEFWAIMODSPCWARDETWARNINGCB
WHYTWICEWILDALLWILDWISH_LISTWRICIRREF
YES_CHARZABORTZEROSIZE

2DBTRISTMT

 Triggered statement is not in the same database as the trigger

 Explanation:  You specified a triggered statement which uses a
 different      database than the database the trigger is a part
 of.    This is not legal.

 User Action:  Specify only triggered actions which execute in
 the database in        which the trigger is defined.

ACENOTFND

 No matching access control entry found

 Explanation:  In a protection command that refers to an existing
 access control entry, you specified identifiers that did not
 match any existing entry.

 User Action:  Use SHOW PROTECTION to see what the access control
 list currently looks like, and correct your command.

ACE_ID_OVFL

 ACE identifier stack overflow during ACE parsing

 Explanation:  You included too many identifiers in an
 expression.  The identifier stack for the access control entry
 (ACE) overflowed during parsing.

 User Action:  Simplify the access control entry that caused the
 error.

ACE_ID_UNFL

 ACE identifier stack underflow during ACE parsing

 Explanation:  The access control entry (ACE) identifier stack
 underflowed during ACE parsing.  This happens when identifiers
 are not stored in the stack appropriately.

 User Action:  Submit a software performance report (SPR) with
 the Rdb/VMS interchange file (.RBR).

ADADISUNS

 Host variable <text> is based on a type that uses discriminamts

 Explanation:  The host variable you referred to is based on a
 type which uses Ada discriminants.  SQL does not support types
 which include discriminants

 User Action:  Use a different type defintion.

ADAVARUNS

 Host variable <text> is based on a record type that uses
 variants

 Explanation:  The host variable you referred to is based on a
 record type which uses Ada variants.  SQL does not support types
 which include variants.

 User Action:  Use a different type defintion.

AGGTBLCUR

 Table cursor, <text>, cannot have list cursors because it
 contains an aggregate or UNION

 Explanation:  The table cursor referenced in the WHERE CURRENT
 OF clause of a list list cursor was defined using an aggregate
 or union expression.

 User Action:  Change the table cursor to no specify an aggregate
 or union expression.

ALIASEMBFIRST

 Alias may only be specified in first level name

 Explanation:  An alias was embedded in a quoted identifier after
 the first level.

 User Action:  Change the name to embed the alias at the first
 level of the name.

ALIASONLYONCE

 Alias may be specified only once

 Explanation:  An alias was embedded in a quoted identifier at
 more than one level in a multilevel name.

 User Action:  Change the name to embed the alias at the first
 level of the name.

ALLSCHROLL

 All databases may be moved only by EXTRACTION ROLLUP transfers

 Explanation:  You have specified *.* in the move tables clause
 of a transfer which was an extraction or replication transfer.

 User Action:  Reenter the CREATE TRANSFER statement with a
 differene MOVE clause.

ALLSCHTAB

 All tables must be moved if all databases are moved

 Explanation:  The move clause must be *.* or xxx.*, not *.xxx.

 User Action:  Reenter the CREATE TRANSFER statement with a
 different MOVE clause.

ALTNOTOCB

 ALTER TABLE may not be used to change a column to computed

 Explanation:  The ALTER clause of the ALTER TABLE statement was
 used to change an existing column with a data type to a computed
 column.

 User Action:  Use the DROP clause of the ALTER TABLE statement
 to drop the existing column and the ADD clause to add a computed
 column.

ALTSCHATT

 You cannot use the ALTER DATABASE statement on an attached
 database

 Explanation:  You attempted to alter a database that was already
 attached.

 User Action:  Either remove the ALTER DATABASE statement or make
 sure the       database being altered is not attached.

AMBHV_DEC

 Host variable <text> was ambiguously defined

 Explanation:  You declared a host variable ambiguously by using
 the same name in two host variable declarations.

 User Action:  Change the name or level of one of the
 definitions.

AMBTYP_DEC

 Host variable <text> was based on an ambiguously defined type

 Explanation:  You declared a host variable which was based on a
 type.  The type is ambiguous because two or more type
 declarations use the same name.

 User Action:  Change the name or scope of one of the
 definitions.

AMB_KEYWORD

 Ambiguous keyword abbreviation

 Explanation:  You used an ambiguous abbreviation.

 User Action:  Specify the entire keyword.

ANODBHAND

 Another database already declared with alias <text>

 Explanation:  You specified in the DECLARE ALIAS or ATTACH
 statement the same alias as in a previous DECLARE DECLARE ALIAS
 or ATTACH statement.

 User Action:  Either issue a DISCONNECT statement and try the
 same ATTACH statement, or enter the DECLARE ALIAS statement
 again with a different alias .

ANSIPROTONL

 This statement may only refer to database with ANSI protection

 Explanation:  You tried to execute a SHOW statement which is
 only for ANSI style protections on a database which uses ACL
 style protections.

 User Action:  Only use this statement with ansi style
 protections.

ANSI_UPDATE_VIEW

 This view is non-updatable by ANSI standards

 Explanation:  The way that the view was created violates the
 ANSI requirements for updatableness.  The view is marked
 non-updatable though at this time (version 4.1), the view can
 still be updated.  The violations of the ANSI standard are:  a
 column name used more than once in a select expression and a
 computed-by field

 User Action:  None.  For future compatibility, user may want to
 note if a view is updatable or not

ARGCOUNT

 Procedure <text> expected <value> parameters, was passed <value>

 Explanation:  The module language procedure was not passed as
 many parameters as it expected.  This may be because the
 /CONTEXT qualifier was or was not specified when the module was
 compiled, or because the procedure call and procedure
 declaration do not have the same number of parameters.

 User Action:  If a context parameter is being passed, make sure
 that the /CONTEXT qualifier is specified on module compilation.
 Otherwise, make sure that the procedure call and declaration
 specify the same number of parameters.

ARIEXPEXP

 Expected arithmetic value expression

 Explanation:  You supplied a predicate where SQL expected to
 find an arithmetic value expression.

 User Action:  You must use an arithmetic value expression in
 this context.

ASSSTRLIT

 Numeric literal is assumed to be text

 Explanation:  You tried to store a numeric literal into a text
 column or compare a numeric literal to a text column.  SQL
 assumes the string is a text literal and converts it for the
 storage or comparison.  Note that each digit in the numeric
 literal, including leading zeroes, is converted to text.  For
 instance, 001 and 1 represent the same number, but are converted
 to different literals ("001" and "1").

 User Action:  None.  However, it is good programming practice to
 convert the numeric literal to a string literal by enclosing it
 in quotes.

ATTMISSING

 invalid or missing attributes

 Explanation:  Internal error -- a required attribute (such as
 the data type in a GLOBAL FIELD clump) is missing.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

BACKUPBY

 exported by <text>

 Explanation:  Information about who created the Rdb/VMS export
 file (.RBR).

 User Action:  None.

BADADJLOCKGRAN

 ADJUSTABLE LOCK GRANULARITY clause is not allowed in the CREATE
 TRANSFER statement.

 Explanation:  You have specified an ADJUSTABLE LOCK GRANULARITY
 clause as an attribute for the target database in a CREATE
 TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 ADJUSTABLE LOCK GRANULARITY clause.

BADARGAVG

 Argument of AVG must be numeric or interval

 Explanation:  The expression for an AVG function must be numeric
 or interval.

 User Action:  Change the value expression to contain only
 numeric or interval fields, or remove the function.

BADARGSUM

 Argument of SUM must be numeric or interval

 Explanation:  The expression for an SUM function must be numeric
 or interval.

 User Action:  Change the value expression to contain only
 numeric or interval fields, or remove the function.

BADBLOB

 unable to import a list

 Explanation:  Error from Rdb$CREATE_SEGMENTED_STRING.  See the
 following message for more information.

 User Action:  If the nature of the problem is not obvious,
 submit an SPR with a copy of the Rdb/VMS interchange file (.RBR)
 that caused the error.

BADBUFFERPOOL

 BUFFERPOOL clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the BUFFERPOOL clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 BUFFERPOOL clause.

BADCATALOG

 Catalog <text> not used by this query

 Explanation:  You used a catalog name to qualify a reference to
 a column and that catalog was not specified in the FROM clause
 of the query.

 User Action:  Either remove the catalog name from the
 select-list or specify the same catalog as specified in the FROM
 clause of the query.

BADCATINCRE

 Reference to catalog <text> not permitted within definition of
 catalog <text>

 Explanation:  You specified the name of a catalog other than the
 one being defined.

 User Action:  Remove the catalog name or use the name of the
 catalog being defined.

BADCBDATE

 Bad computed by date data type

 Explanation:  Datetime data type in COMPUTED BY clause was
 invalid

 User Action:  Fix data type and try again

BADCLUMP

 invalid clump type encountered

 Explanation:  Internal error - bad data in the Rdb/VMS
 interchange file (.RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

BADCOLIGNCAS

 The LIKE pattern is incompatible with IGNORE CASE

 Explanation:  The use of column names as the pattern string
 cannot be supported if IGNORE CASE is also choosen.

 User Action:  Use UPPER or LOWER functions to translate the
 source string into a consistent case before rather than having
 LIKE ignore case.

BADCOLLATION

 COLLATION SEQUENCE clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the COLLATION SEQUENCE clause
 as an attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 COLLATION SEQUENCE clause.

BADCORATT

 invalid core attribute <hex-value>, <hex-value> in .RBR file

 Explanation:  Internal error - bad data in the Rdb/VMS
 interchange file (.RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

BADCTXLEN

 Illegal length value found in context structure

 Explanation:  The LENGTH field of the context structure passed
 to the SQL procedure was illegal.  VAX SQL supports only the
 global tid, which has a length of 16 (symbolically DDTM$S_TID).

 User Action:  Change the HLL code to pass a context structure
 whose only length is 16 (DDTM$S_TID).

BADCTXTYPE

 Illegal type value found in context structure

 Explanation:  The TYPE field of the context structure passed to
 the SQL procedure was illegal.  VAX SQL supports only the
 SQLCONTEXT$K_GLOBAL_TID type.

 User Action:  Change the HLL code to pass a context structure
 whose only type is SQLCONTEXT$K_GLOBAL_TID.

BADCTXVER

 Unsupported version of context structure

 Explanation:  The VERSION field of the context structure passed
 to the SQL procedure was unsupported.  VAX SQL supports only the
 SQLCONTEXT$K_VERSION1 version.

 User Action:  Change the HLL code to pass a context structure
 whose only version is SQLCONTEXT$K_VERSION1.

BADDBHAND

 Alias <text> not used by this query

 Explanation:  You used an authorization identifier to qualify a
 reference to a column and that authorization identifier was not
 specified in the FROM clause of the query.

 User Action:  Either remove the authorization identifier that
 qualifies the select-list item or specify the same authorization
 identifier as specified in the FROM clause of the query.

BADDBKEY

 DBKEY SCOPE clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the DBKEY SCOPE clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 DBKEY SCOPE clause.

BADDICTIONARY

 DICTIONARY clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the DICTIONARY clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 DICTIONARY clause.

BADDTFMT

 Date or time format is not set up properly.

 Explanation:  You entered a SHOW DATE FORMAT statement, but
    LIB$DT_FORMAT is not properly defined.

 User Action:  Check the definition of LIB$DT_FORMAT.  If it is a
 process logical, it should be changed.  If it is a group
       or system logical, contact your system manager to change
 it.

BADEPILOGUE

 only one epilogue file clause can be specified per transfer

 Explanation:  You specified more than one epilogue file clause
 in the CREATE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the CREATE TRANSFER statement, specifying
 only one EPILOGUE IS or NOEPILOGUE clause.

BADEPINAM

 invalid epilogue file name

 Explanation:  You entered an invalid epilogue file name.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

BADEXTENDIBLE

 EXTENDIBLE clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the EXTENDIBLE clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 EXTENDIBLE clause.

BADFILEVER

 incompatible .RBR file type

 Explanation:  This version of SQL cannot import a database from
 this Rdb/VMS interchange file (.RBR).

 User Action:  Use a version of RDO that corresponds to the
 version of RDO that created this file.

BADFLDTYP

 source fields of target relation <text> field number <value>
 have different types

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have entered MOVE RELATION clauses with the
 same target relation name and specified fields with the same
 names but of different data types in the source databases.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying fields of the same data type in all the MOVE RELATION
 clauses with the same target relation.

BADIDXMAP

 Fields specified for partitioning btree do not agree with fields
 for index

 Explanation:  You named fields to partition a btree index but in
 an incorrect order.

 User Action:  Review the statement and specify it again.

BADINTERVAL

 INTERVAL clause is not allowed in the CREATE TRANSFER statement.

 Explanation:  You have specified an INTERVAL clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 INTERVAL clause.

BADLANGUAGE

 Language <text> not properly set up.

 Explanation:  SQL attempted to retrieve month or weekdays from
 the    logical name table LNM$LANGUAGE_xxx for language xxx,
   but could not retrieve a value.

 User Action:  Contact the sytem manager to make sure everything
 has been properly set up.

BADLOGFILE

 only one log file clause can be specified per transfer

 Explanation:  You specified more than one log file clause in the
 CREATE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the CREATE TRANSFER statement, specifying
 only one LOG FILE IS or NOLOG clause.

BADLOGNAM

 invalid log file name

 Explanation:  You entered an invalid log file name.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

BADMAINT

 Database is an unsupported maintenance release for the current
 version

 Explanation:  The maintainance release number and the version
 number of the database that you just attached to forms an
 unknown combination.

 User Action:  Check to make sure that you are running with the
 correct versions of Digital-supported database products for the
 SQL interface to Rdb/VMS.  Correct versions are listed in the
 Rdb/VMS Installation Guide.

BADMETNAM

 Metadata names must end in A - Z or 0 - 9

 Explanation:  The name given in a data manipulation or
 definition statement ended with a dollar sign ($) or underscore
 (_).  These symbols are not allowed.

 User Action:  Specify a valid name.

BADMVIEWFLD

 field <text> of relation <text> must be moved for view <text>

 Explanation:  You attempted to transfer a view without
 transferring a field to which the view refers.  You must also
 explicitly transfer in the CREATE TRANSFER statement all
 relevant fields of relations to which the view refers.

 User Action:  Reenter the CREATE TRANSFER statement, adding the
 required field to the appropriate MOVE RELATION clause.

BADMVIEWREL

 underlying relation <text> of view <text> must also be moved

 Explanation:  You attempted to transfer a view without
 transferring the relations to which the view refers.  You must
 explicitly transfer the relations to which the view refers in
 the CREATE TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement adding the
 required MOVE RELATION clause.

BADMVIEWVEW

 underlying view <text> of view <text> must also be moved

 Explanation:  You attempted to transfer a view without
 transferring other views that underlie the view you want to
 transfer.  You must explicitly transfer the views to which the
 view refers in the CREATE TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement adding the
 required views to the MOVE VIEW clause.

BADMVRELS

 move-relations-clause is allowed only once in CREATE TRANSFER

 Explanation:  You specified more than one move-relations-clause
 in a CREATE TRANSFER statement.  Possibly you did not separate
 the MOVE RELATION clauses with semicolons.

 User Action:  When you use a CREATE TRANSFER statement, group
 all the MOVE RELATION clauses together and separate them with
 semicolons.

BADMVVIEWS

 move-views-clause is allowed only once in CREATE TRANSFER

 Explanation:  You entered more than one move-views-clause in a
 CREATE TRANSFER statement.  Only one move-views-clause is
 allowed in a CREATE TRANSFER statement.

 User Action:  Combine all MOVE VIEWS clauses into one list and
 separate the view names with commas.

BADNONEXTEND

 NONEXTENDIBLE clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the NONEXTENDIBLE clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 NONEXTENDIBLE clause.

BADORIENT

 fetch orientation allowed only for scroll cursors

 Explanation:  You specified a fetch orientation for a fetch
 statement, but the cursor for the fetch statement wasn't
 scrollable.

 User Action:  Either ignore the clause or choose a cursor that
 can be scrolled.

BADPAGEFORMAT

 PAGE FORMAT clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified a PAGE FORMAT clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 PAGE FORMAT clause.

BADPREPARE

 Cannot use DESCRIBE or EXECUTE on a statement that is not
 prepared

 Explanation:  You attempted to use a DESCRIBE or EXECUTE
 statement that named a statement which was not successfully
 prepared.

 User Action:  Prepare the statement before calling DESCRIBE or
 EXECUTE.

BADPROLOGUE

 only one prologue file clause can be specified per transfer

 Explanation:  You specified more than one prologue file clause
 in the CREATE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the CREATE TRANSFER statement, specifying
 only one PROLOGUE IS or NOPROLOGUE clause.

BADPRONAM

 invalid prologue file name

 Explanation:  You entered an invalid prologue file name.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

BADPROTECTION

 PROTECTION clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the PROTECTION clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 PROTECTION clause.

BADRECBUF

 NUMBER OF RECOVERY BUFFERS clause is not allowed in the CREATE
 TRANSFER statement.

 Explanation:  You have specified the NUMBER OF RECOVERY BUFFERS
 clause as an attribute for the target database in a CREATE
 TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 NUMBER OF RECOVERY BUFFERS clause.

BADROLMVFLD

 MOVE RELATION clauses of target relation <text> have different
 fields

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have entered a MOVE RELATION clauses with
 the same target relation name but specified a different set of
 fields in each clause.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying the same set of fields in all the MOVE RELATION
 clauses with the same target relation.

BADSCHEMA

 Schema <text> not used by this query

 Explanation:  You used a schema name to qualify a reference to a
 column and that schema was not specified in the FROM clause of
 the query.

 User Action:  Either remove the schema name from the select-list
 or specify the same schema as specified in the FROM clause of
 the query.

BADSCHINCRE

 Reference to schema <text> not permitted within definition of
 schema <text>

 Explanation:  You specified the name of a schema other than the
 one being defined.

 User Action:  Remove the schema name or use the name of the
 schema being defined.

BADSEGSTRING

 SEGMENTED STRING clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified the SEGMENTED STRING clause as
 an attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 SEGMENTED STRING clause.

BADSNAPFILENAME

 SNAPSHOT_FILENAME clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified a SNAPSHOT_FILENAME clause as
 an attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 SNAPSHOT_FILENAME clause.

BADSTOGROUP

 STOGROUP clause is not allowed in the CREATE TRANSFER statement.

 Explanation:  You have specified the STOGROUP clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 STOGROUP clause.

BADSUPLVL

 Attached database has unknown support level.

 Explanation:  The database you just attached to has an unknown
 support level.

 User Action:  Check to make sure that you are using
 Digital-supported database products for the SQL interface to
 Rdb/VMS.

BADTHRESHOLD

 THRESHOLDS clause is not allowed in the CREATE TRANSFER
 statement.

 Explanation:  You have specified a THRESHOLDS clause as an
 attribute for the target database in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 THRESHOLDS clause.

BADVAXCLUSNODES

 NUMBER OF VAXCLUSTER NODES clause is not allowed in the CREATE
 TRANSFER statement.

 Explanation:  You have specified a NUMBER OF VAXCLUSTER NODES
 clause as an attribute for the target database in a CREATE
 TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement without the
 NUMBER OF VAXCLUSTER NODES clause.

BADVERNUM

 Attached database has unsupported version number.

 Explanation:  The database you just attached to has a version
 number that is not supported by this version of SQL.

 User Action:  Check to make sure that you are running with the
 correct versions of Digital-supported database products for the
 SQL interface to Rdb/VMS.  Correct versions are listed in the
 Rdb/VMS Installation Guide.

BAD_ARRAY

 Host variable <text> contains an array syntax error in its
 declaration.

 Explanation:  The named variable is defined as a C array, but is
 either missing the closing "]" or contains a non-numeric
 dimension.

 User Action:  Correct the syntax of the declaration and
 recompile the program.

BAD_CDD_DEF

 CDD$DEFAULT is not valid, data dictionary default is now
 CDD$TOP.

 Explanation:  Your logical name CDD$DEFAULT is not acceptable to
 the data dictionary.  The data dictionary will be used, but your
 default is set to CDD$TOP.

 User Action:  Define a valid CDD$DEFAULT.

BAD_DB

 Data dictionary description of current database is corrupt

 Explanation:  The data dictionary description of the schema is
 missing the RDB$INSTANCE node.

 User Action:  Verify that the database itself has not been
 corrupted.  If it has, recreate the database.

BAD_LENGTH

 Negative length specified for column <text>

 Explanation:  You specified a length for a character or varchar
 column that was less than zero.

 User Action:  Change the length to a positive number.

BAD_LEVEL

 CONSISTENCY LEVEL <value> is illegal

 Explanation:  Only values 2 and 3 are allowed for consistency
 level.

 User Action:  Enter 2 for concurrency; enter 3 for consistency

BAD_NAME

 Identifiers and names may not exceed 31 characters in length

 Explanation:  The name given in a data manipulation or data
 definition statement was longer than the permitted limit.

 User Action:  For data definition statements, specify a shorter
 name.  For data manipulation statements, consult your database
 design specifications to find the correct name.

BAD_PRECISION

 Invalid precision specified for column <text>

 Explanation:  The precision specified for a DECIMAL or NUMERIC
 column is less than or equal to zero.  Or, the precision
 specified for a FLOAT column was less than zero or greater than
 15.  Or the precision contained a decimal point.

 User Action:  Change the precision to a valid value.

BAD_SCALE

 Negative scale specified for column <text>

 Explanation:  The scale specified for a column is less than
 zero.

 User Action:  Change the scale to a positive number.

BAD_TOKEN

 <text> is not a valid SQL language element

 Explanation:  The indicator string is neither a predefined
 language element (i.e.  a keyword, delimiter or operator) not a
 valid SQL name.

 User Action:  Use a valid SQL language element.

BAD_TXN_STATE

 Invalid transaction state.  Transaction already started.

 Explanation:  A SET TRANSACTION statement was executed, but it
 was not the first statement executed in the transaction.

 User Action:  Make the SET TRANSACTION statement the first
 statement to be executed.

BAD_VERSION

 This database system does not support this statement

 Explanation:  This statement uses a DSRI feature which is not
 supported by   all versions of all DSRI database systems.  You
 tried to       execute this statement  using a version of a
 database system        which does not support this feature.

 User Action:  Use a simpler statement, or a different base
 system version.

BASROWDEL

 Row containing list has been deleted

 Explanation:  An attempt was made to fetch or insert into a list
 cursor where the row containing the list has been deleted.

 User Action:  Do not delete the row containing the list or
 simply close the list cursor.

BINSCAFAC

 Host variable <text> has a binary scale factor

 Explanation:  The host variable is a PL/I fixed binary data type
 with a nonzero binary scale factor.  SQL supports only decimal
 scale factors.

 User Action:  Either change the scale factor to zero, or change
 the data type to fixed decimal.

BIT_FIELD

 Host variable <text> is a bit field which is illegal in SQL
 statements.

 Explanation:  The named variable is defined as a C bit field.
 Such fields are not legal in SQL statements.

 User Action:  Use a different variable.

BOG_DYN_NAME

 Invalid name for dynamic statement or cursor

 Explanation:  The user passed either a zero length string, no
 string or a variable not of data type text for a dynamic
 statement name or dynamic cursor name.

 User Action:  Pass a string that has a non-zero length.

BOOEXPEXP

 Expected a predicate

 Explanation:  Either a numeric or string value expression was
 found where SQL expected a predicate.

 User Action:  You must use a predicate in this context.

BUGCHK

 There has been a fatal error.  Please submit an SPR.

 Explanation:  A fatal error has occurred.

 User Action:  Submit an SPR with information about the
 circumstances under which the bug occurred.

CABORT

 User entered Control-C to abort statement

 Explanation:  You typed a Control-C to abort the current
 statement.

 User Action:  None.

CANTDOVALXPR

 Value expressions may not be moved by CREATE TRANSFER

 Explanation:  The user entered a value expression in the select
 list of a select expression in the move tables clause of the
 CREATE TRANSFER statement.  This is not allowed.

 User Action:  Move only columns using CREATE TRANSFER.  Use a
 prologue file to define a view on the target database which
 computes the value expression from the columns moved.

CANT_MOVE

 <text> already exists in <text>

 Explanation:  The object or schema named by the first parameter
 could not be moved to the schema or catalog named by the second
 parameter, because there is already an object or schema by that
 name.

 User Action:  Move the object or schema to a different schema or
 catalog, or don't move it at all.

CATNOTDEF

 Catalog <text> is not defined

 Explanation:  The specified catalog does not exist in the
 specified database.

 User Action:  Check the spelling of the catalog name and ensure
 that it is the name of a catalog in the specified database.

CAT_EXISTS

 Catalog <text> already exists

 Explanation:  You attempted to create a catalog in the specified
 database with the name of an existing catalog in that database.

 User Action:  Choose a different name for the new catalog.

CDDERR

 Error occurred during attempt to use data dictionary.  Data
 dictionary will not be used

 Explanation:  An error occurred when SQL attempted to access the
 data dictionary.

 User Action:  Refer to following data dictionary messages for
 more information.

CDDUNKPROT

 Unknown data dictionary protocol <text>

 Explanation:  The protocol in the data dictionary was not
 correct.

 User Action:  Try to recreate the data dictionary.  If the data
 dictionary is still corrupt, submit an SPR.  Try invoking it
 with the file name.

CDDVERERR

 Found data dictionary core_level <value> was expecting <value>

 Explanation:  The core_level in the data dictionary was not
 correct.

 User Action:  Try to recreate the data dictionary.  If the data
 dictionary is still corrupt, submit an SPR.  Try invoking it
 with the file name.

CHAR_SET_USED

 Domain was a non-MCS CHARACTER data type

 Explanation:  This message is used as a subcode to
 SQL$_DOMNOTBCK.  It indicates that the offending domain was a
 new subtype of CHARACTER or VARYING CHARACTER.

 User Action:  If the columns defined using this domain contain
 only MCS data, change the domain to reflect that fact.
 Otherwise, the database cannot be exported WITH NO EXTENSIONS
 until this domain is removed completely.

CHECKOPTRO

 You specified WITH CHECK OPTION for read only view <text>

 Explanation:  You specified the WITH CHECK OPTION for a view
 which is based         on a read only select expression.  You
 should specify         the WITH CHECK OPTION only for a read
 write view.

 User Action:  Remove the WITH CHECK OPTION clause from this view
 definition,    or make the select expression specify an
 updatable select       expression.

CHGINDMAP

 This index was previously specified with a STORE clause.
 Continue?  [N]

 Explanation:  You are specifying an ALTER INDEX statement
 without a STORE clause, which places the index into the
 RDB$SYSTEM storage area.  The index was previously specified as
 being stored in a different area.  SQL$ is confirming whether
 you want the index placed in the RDB$SYSTEM storage area.

 User Action:  An affirmative reply (Y or YES) causes the
 operation to continue.  A negative reply (a carriage return, N,
 or NO) terminates the operation.

CHGINDMAPSTP

 Terminating operation at user's request

 Explanation:  See above.

 User Action:  None.

CHRUNIBAD

 Number of octets is not an integral number of characters

 Explanation:  When defining a column or domain, you specified a
 size that is interpreted as a number of octets.  The number of
 octets is not an integral number of characters.

 User Action:  Change the units to characters or specify the
 correct number of octets.

CHR_TOO_SHO

 Character length of column <text> is too short

 Explanation:  The character string length is too short to
 contain all possible   converted data already stored in the
 column.

 User Action:  None.  This is a warning message only.

CHR_TOO_SMA

 The string length of column <text> is too small

 Explanation:  The length of the character string is too small to
 handle         all possible numeric data that might already be
 stored in      the table.

 User Action:  None.  This is a warning message only.

CIRCTYPE

 Host variable <text> is based on a type which was used in its
 own definition

 Explanation:  You referred to a host variable which is based on
 a type.  The type was not validly defined because it was based
 on itself.

 User Action:  Fix the type definition.

CLOSERR

 error detected when closing .RBR file

 Explanation:  See the message that follows for details.

 User Action:  In the absence of other error messages, the
 database has probably been imported successfully.  If the error
 occurred during an EXPORT operation, the file is not likely to
 be usable in a later IMPORT.

CMDINTR

 this statement is not allowed in a transaction

 Explanation:  You entered a statement that cannot be used when a
 transaction is outstanding.

 User Action:  Commit or rollback the transaction and try the
 statement again.

CMPBYINVW

 view <text> cannot be transferred because of invalid computed
 field <text> in relation <text>

 Explanation:  In a CREATE TRANSFER statement, you are attempting
 to move a view which references a COMPUTED_BY field which
 contains an unsupported value expression.

 User Action:  Reenter the CREATE TRANSFER statement and omit the
 view that contains the COMPUTED_BY field that uses the
 unsupported value expression.  Refer to the CREATE TRANSFER
 statement in the Data Distributor Handbook for information on
 what value expressions are supported for a COMPUTED_BY field.

CMPBYMVMETOO

 Column <text> in table <text> may not be moved without column
 <text>

 Explanation:  You included a column to be transferred that
 relies upon another column in the table.  This column must also
 be moved.

 User Action:  Re-enter the transfer definition including all
 necessary columns.

CMPBYWNRL

 Invalid computed field <text> will not be transferred from
 relation <text>

 Explanation:  In a CREATE TRANSFER statement, you are attempting
 to move a view which references a COMPUTED_BY field that
 contains an unsupported value expression.

 User Action:  Reenter the CREATE TRANSFER statement and omit the
 view which contains the COMPUTED_BY field that uses the
 unsupported value expression.  Refer to the CREATE TRANSFER
 statement in the Data Distributor Handbook for information on
 what value expressions are supported for a COMPUTED_BY field.

CMPBYWNVW

 view <text> will not transfer invalid computed field <text> from
 relation <text>

 Explanation:  In a CREATE TRANSFER statement, you are attempting
 to move a view which references a COMPUTED_BY field which
 contains an unsupported value expression.

 User Action:  Reenter the CREATE TRANSFER statement and omit the
 view that contains the COMPUTED_BY field that uses the
 unsupported value expression.  Refer to the CREATE TRANSFER
 statement in the Data Distributor Handbook for information on
 what value expressions are supported for a COMPUTED_BY field.

CNTSPNSUB

 Cannot spawn subprocess

 Explanation:  The preprocessor was unable to spawn a subprocess
 to compile the program.

 User Action:  Read the next message and determine what to do.

COLEXISTS

 Column <text> is named more than once in table <text>

 Explanation:  You attempted to create a table or view with using
 a column name more than once.

 User Action:  Choose a different name for each column.

COLLSTINV

 A column list is not allowed in an INSERT LIST CURSOR statement

 Explanation:  A column list was supplied for an INSERT LIST
 CURSOR statement.

 User Action:  Remove the column list.

COLL_EXISTS

 Collating sequence <text> already exists

 Explanation:  You attempted to create a collating sequence in
 the specified schema with the name of an existing collating
 sequence in that schema.

 User Action:  Choose a different name for the new collating
 sequence.

COLNOTFUN

 Column <text> named outside a function in a SELECT with HAVING
 but no GROUP BY

 Explanation:  In select expressions with a HAVING clause but
 without a GROUP BY clause, you cannot directly name columns in
 the select list or HAVING clause.  You can refer to them only as
 function arguments, or in a WHERE clause.

 User Action:  Either make the column named in the message a
 function argument, or if it is in a HAVING clause, change the
 HAVING clause to a WHERE clause.  In general, avoid using HAVING
 without GROUP BY.  Use WHERE instead.

COLNOTNUL

 Column <text>.<text> cannot be UNIQUE because it can contain
 nulls.

 Explanation:  You specified a column using the UNIQUE
 constraint.  The column may contain nulls.  This is not legal
 because two rows cannot contain the NULL values in this column.

 User Action:  Define the named field as NOT NULL.

COLNOTSS

 Column <text> is not a list field

 Explanation:  The column specified in a SEGSTR.CREATE or
 SEGSTR.OPEN statement must be a list field.  This column is not.

 User Action:  Specify a column whose data type is list

COLNOTUPD

 Column <text> is not included in the FOR UPDATE clause of cursor
 <text>

 Explanation:  The SQL interface to Rdb/VMS provides the FOR
 UPDATE clause on a cursor definition for DB2 compatablity.  The
 clause is entirely optional.  If a FOR UPDATE clause is
 specified on the cursor and an UPDATE statement that uses the
 CURRENT OF clause with that cursor changes a column which is not
 one of the columns included in the FOR UPDATE clause of the
 DECLARE CURSOR statement, you will get this warning message.

 User Action:  No action is required.  This message will not
 effect the execution of the statement.

COLNOTVAL

 The column CHECK constraint cannot refer to the column <text>

 Explanation:  The CHECK constraint cannot refer to the column
 because the constraint is defined only for a column, not the
 entire table.

 User Action:  Refer to the only that column for which this CHECK
 constraint is being defined or define the CHECK constraint for
 the entire table.

COLONDISILL

 Parameter name colons are disabled and therefore illegal

 Explanation:  When the /ANSI_PARAMETERS qualifier is used, the
 module processor requires that all parameter declarations and
 references be prefixed by colons.  When the /NOANSI_PARAMETERS
 qualifier is used (it is the default), the colon prefix is not
 allowed.

 User Action:  Remove colons from your parameter declarations and
 references.

COLONENAREQ

 Parameter name colons are enabled and therefore required

 Explanation:  When the /ANSI_PARAMETERS qualifier is used, the
 module processor requires that all parameter declarations and
 references be prefixed by colons.  When the /NOANSI_PARAMETERS
 qualifier is used (it is the default), the colon prefix is not
 allowed.

 User Action:  Add colons to your parameter declarations and
 references.

COLSEQNOTDEF

 Collating sequence <text> is not defined

 Explanation:  The specified collating sequence does not exist in
 the specified schema.

 User Action:  Check the spelling of the collating sequence name
 and ensure that it is the name of a collating sequence in the
 specified schema.

COMPNOTRANS

 <text> in relation <text> will not be transferred

 Explanation:  You entered a SELECT FIELDS ALL clause in the
 CREATE TRANSFER statement to move a relation that contains a
 COMPUTED_BY field using a value expression that is unsupported.
 The CREATE TRANSFER statement is accepted with all the fields of
 this MOVE RELATION clause except the specified COMPUTED_BY field
 that is unsupported.

 User Action:  Refer to the CREATE TRANSFER statement in the Data
 Distributor Handbook for information on what value expressions
 are supported.

COMPONENT

 a component of <text>

 Explanation:  Information about the creation of the Rdb/VMS
 interchange file (.RBR).

 User Action:  None.

COMTOOLON

 Command line longer than <value> character maximum

 Explanation:  You typed a command line longer than the current
 maximum line length.

 User Action:  Break up the command line with continuation lines.
 There is no practical limit on the total length of all
 continuation lines in a single command.

CONALREXI

 Constraint name <text> already exists in this database or schema

 Explanation:  You requested that a constraint be named with the
 name of an existing constraint.

 User Action:  Choose a different name.

CONCHAILL

 Cannot begin program with continuation character

 Explanation:  Apparently the COBOL program starts with a
 continuation character.

 User Action:  Correct the source text and resubmit the job.

CONDICREQ

 Conflicting dictionary requirements

 Explanation:  You specified both the DICTIONARY IS REQUIRED and
 DICTIONARY IS NOT REQUIRED clause in the same ALTER DATABASE
 statement.

 User Action:  Change the ALTER DATABASE statement to include
 only one type of DICTIONARY REQUIRED option.

CONLYOPT

 The LENGTH and AS clause for INCLUDE are only for embedded C
 programs

 Explanation:  You used either the LENGTH or AS clause on an
 INCLUDE FROM DICTIONARY statement.  These options are available
 only to embedded C programs.

 User Action:  The LENGTH clause is germaine only to C programs.
 The AS clause must be accomplished by having two distinct
 records in the CDD.

CONNAMEXI

 connection named already exists

 Explanation:  A connection with the name given already exists.

 User Action:  Pass the name of a connection that doesn't exist.

CONNOTDEF

 Constraint <text> is not defined in database or schema

 Explanation:  The specified constraint does not exist in the
 current database or schema.

 User Action:  Declare the correct database or set the correct
 schema.  Check the constraint name for correct spelling.  Check
 the constraint definition to make sure you did not specify a
 term where the constraint name was expected.

CONNOTSUP

 <text> is a constant host variable

 Explanation:  You referred to a host variable which was declared
 as a constant.  Constant declarations are not supported.

 User Action:  Either specify the constant as a literal, or use a
 host variable with that value.

CONREAATT

 Conflicting READ ONLY Attributes

 Explanation:  You specified both READ ONLY and READ WRITE in an
 ALTER STORAGE AREA statement.

 User Action:   Re-enter the statement with either READ ONLY or
 READ WRITE, not both.

CONSNAATT

 Conflicting snapshot attributes

 Explanation:  The CREATE DATABASE statement contained
 conflicting    snapshot options.

 User Action:  Either remove the SNAPSHOT DISABLED clause from
 the root file  parameters, or remove the SNAPSHOT clause from
 the storage area       parameters.

CONTPREQ

 P characters must be contiguous in an edit string

 Explanation:  More than one P characters are permitted in an
 edit string, but they must all be contiguous.  This edit string
 contained more than one P characters that are not contiguous.

 User Action:  Make the P characters contiguous.

CONTPROMPT

 cont>

 Explanation:  This message is used as the continuation prompt by
 SQL.  SQL uses a system service ($GETMSG) to access this
 message.               When a continuation line is encountered,
 SQL changes            from the SQL$_PROMPT prompt to this one.

 User Action:  None.  --

CONTRIACT

 The trigger actions on trigger <text> and trigger <text>
 conflict

 Explanation:  You cannot have two triggers which will be
 triggered for the      same event on the same table.  These two
 triggers would both    be triggered by the same event.

 User Action:  Combine the two triggers into a single trigger.

CONVARDEF

 Column qualifier <text> is already defined

 Explanation:  You either specified the same alias more than once
 in a select expression or did not specify an alias in a select
 expression that joins a table with itself.

 User Action:  Either use unique aliases or introduce an alias.

CONVARILLUPD

 Column qualifier <text> is not allowed in the target of an
 UPDATE

 Explanation:  You qualified a column name with a name that is
 not allowed in this context.  For UPDATE statements, the column
 being updated must be unqualified or qualified by the table name
 specified in the UPDATE statement (or correlation name, if any).

 User Action:  Make sure the qualifier you used is appropriate in
 this context.

CONVARUND

 Column qualifier <text> is not defined

 Explanation:  You qualified a column name with an alias or table
 not specified in the FROM clause of the select expression.

 User Action:  Make sure the qualifier you used matches an alias
 or table specified in the FROM clause.

CORREFFUN

 Correlated references in functions must not be in expressions

 Explanation:  You cannot use a correlated reference that is part
 of a value expression containing comparison operators, when the
 value expression is itself an argument to a function.  For
 example, SUM(corr_reference + 5).

 User Action:  Reformulate the select expression to avoid using a
 correlated reference in this manner.

CREATEDATE

 it was created on <text>

 Explanation:  Information about when the Rdb/VMS interchange
 file (.RBR) was created.

 User Action:  None.

CRE_STO_ERR_SCH

 CREATE STORAGE AREA statement only valid as part of a CREATE
 DATABASE statement

 Explanation:  The CREATE STORAGE AREA statement is only valid as
 part of the    CREATE DATABASE statement.

 User Action:  Place the CREATE STORAGE statement in the CREATE
 DATABASE statement.

CSETNOASCII

 character set <text> does not contain ASCII

 Explanation:  You specified a character set that does not
 contain ASCII characters where one is necessary.

 User Action:  Specify a character set that contains ASCII.

CSETSYN

 invalid syntax in character set clause for variable <text>

 Explanation:  There was something wrong with the syntax of the
 CHARACTER SET clause for the named variable declaration.

 User Action:  Correct the syntax error and try again.

CS_ERR

 Error retrieving collating sequence <text>

 Explanation:  SQL could not retrieve the specified collating
 sequence; see the message that follows.

 User Action:  Correct the problem and try the operation again.

CTXIGNORED

 <text> ignored due to setting of <text> logical name

 Explanation:  Either "USING CONTEXT" or "CONTEXT qualifier" will
 be named first.  In the precompiler and module language
 processor respectively, the named feature will be ignored
 because the logical name named in the message was defined as
 "TRUE".

 User Action:  If you want to migrate the application without the
 use of context items (i.e.  2PC/DDTM), no action is required.
 To use a distributed transaction, you must change the definition
 of the logical name to "FALSE" or deassign it.

CTXPARMNOTALL

 This statement not allowed in procedure in CONTEXT list

 Explanation:  A procedure that was mentioned in the
 /CONTEXT=(proc,proc) list contains a statement which may not
 receive a context parameter.

 User Action:  Remove the specified procedure name from the list.
 Using /CONTEXT=ALL is permitted, since those statements which
 may not receive a context parameter will not.

CURALRDCL

 Statement already declared as cursor <text>

 Explanation:  The statement id passed into a declare cursor
 procedure was already declared as the cursor named in the
 message.  Each statement can create only one cursor.

 User Action:  Declare another statement to create a unique
 statement id for each cursor.

CURALROPE

 Cursor <text> was already open

 Explanation:  You opened a cursor that was already open.  An
 implicit close will be done on the cursor and the cursor
 reopened.

 User Action:  None.  This is just a warning.

CURNAMEXI

 Cursor name <text> has already been declared

 Explanation:  You cannot use the same name in more than one
 DECLARE CURSOR statement.

 User Action:  Change the name of this cursor.

CURNOTOPE

 Cursor <text> is not opened

 Explanation:  You named a cursor that was not open in a FETCH
 statement, CLOSE statement, or in the WHERE CURRENT OF clause of
 an UPDATE or DELETE statement.

 User Action:  Issue an OPEN statement for the cursor before
 naming it in any of those statements.  Close the cursor only
 once after opening it.

CUROFNOT

 CURRENT OF cursor-name is allowed only in DECLARE LIST CURSOR,
 UPDATE and DELETE statements

 Explanation:  The CURRENT OF cursor-name clause is used to
 modify or delete the current record in a cursor.  It has no
 meaning in the WHERE clause of a select expression except in
 declare list cursor.

 User Action:  Replace the WHERE CURRENT OF clause with a WHERE
 predicate clause that specifies the record you wish to select.

CUROFREQ

 CURRENT OF cursor-name is required

 Explanation:  In a positioned INSERT statement, the WHERE clause
 must be WHERE CURRENT OF cursor-name.

 User Action:  Restrict usage of to only WHERE CURRENT OF

CUROFSTA

 CURRENT OF clause cannot refer to cursor based on prepared
 statement

 Explanation:  The CURRENT OF clause of an UPDATE or DELETE
 statement specifies a cursor based on a prepared statement.
 Because the prepared statements are generated at run time, you
 cannot precompile UPDATE or DELETE statements that refer to
 cursors based on them.

 User Action:  Use a cursor which is based on an embedded SELECT
 statement (which is known at compile time), or dynamically
 execute the UPDATE or DELETE statement so it can be interpreted
 at run time.

CURSTMTTXN

 Cursor statements must be executed in the same transaction

 Explanation:  The statement was executed in the wrong
 transaction.  A cursor statement, such as FETCH, INSERT
 (positioned), UPDATE (positioned), DELETE (positioned), OPEN
 (list cursor) must be executed in the same transaction as the
 OPEN statement of the cursor to which the statement refers.

 User Action:  If a context structure was used for the OPEN
 statement, the same one must be used for the statements which
 operate on the cursor.  If no context structure was used for the
 OPEN statement, no context structure may be used for the
 statements which operate on the cursor.

CURTWOOPEN

 Cursor <text> has two open procedures

 Explanation:  There are two open procedures for this cursor.  A
 module can only have one procedure which opens a particular
 cursor.

 User Action:  Remove one of the procedures which opens this
 cursor.  Call the remaining procedure more than one time.

CURUSEINV

 USING clause not allowed for this cursor

 Explanation:  An OPEN or FETCH statement can specify a USING
 clause only for cursors based on a statement named in a PREPARE
 statement.  The cursor specified in this OPEN or FETCH statement
 is not.

 User Action:  Remove the USING clause from the OPEN or FETCH
 statement.

CURVER

 Current version of SQL is:  <text>

 Explanation:  Used for SHOW VERSION.

 User Action:  None.  --

DATCONERR

 Data conversion error for string '<text>'

 Explanation:  An error occurred during data conversion.  Refer
 to next message.

 User Action:  The secondary message should clarify the problem.

DATEADDILL

 Operands of date/time addition are incorrect

 Explanation:  You used an addition operator with two operands
 which were not of the correct data types.

 User Action:  Change the expression to use a different operator
 or operands.

DATEDIGNEQ

 Date/time expressions with different interval leading digits
 precision are not comparable

 Explanation:  You attempted to compare or perform an arithmetic
 operation on two date/time expressions with different interval
 leading digits precisions.  These expressions are considered not
 comparable, and therefore this operation is not allowed.

 User Action:  Use different operands or use the CAST function to
 change the interval leading digits precision of one of the
 operands.

DATEDIVILL

 Operands of date/time division are incorrect

 Explanation:  You used an division operator with two operands
 which were not of the correct data types.

 User Action:  Change the expression to use a different operator
 or operands.

DATEEQLILL

 Operands of date/time comparison are incorrect

 Explanation:  You used a comparison operator with two operands
 which were not of the correct data types.

 User Action:  Change the expression to use a different operator
 or operands.

DATEFORTIMES

 DATE VMS used instead of TIMESTAMP

 Explanation:  This database does not support the datetime data
 types.  DATE VMS will be used instead of TIMESTAMP.

 User Action:  Upgrade attached database or remove TIMESTAMP from
 statement

DATEMULILL

 Operands of date/time multiplication are incorrect

 Explanation:  You used an multiplication operator with two
 operands which were not of the correct data types.

 User Action:  Change the expression to use a different operator
 or operands.

DATEOPR

 Illegal date operator

 Explanation:  Used an invalid operator in a date expression

 User Action:  remove expression

DATESCANEQ

 Date/time expressions with different fractional seconds
 precision are not comparable

 Explanation:  You attempted to compare or perform an arithmetic
 operation on two date/time expressions with different fractional
 seconds precisions.  These expressions are considered not
 comparable, and therefore this operation is not allowed.

 User Action:  Use different operands or use the CAST function to
 change the fractional seconds precision of one of the operands.

DATESUBILL

 Operands of date/time subtraction are incorrect

 Explanation:  You used an subtraction operator with two operands
 which were not of the correct data types.

 User Action:  Change the expression to use a different operator
 or operands.

DATETIMES

 This database does not support DATETIME data types

 Explanation:  The attached database does not support datetime
 data types

 User Action:  Upgade for 4.1 or later

DATETIME_PREC

 Date/time leading precision for <text> must be in the range of 2
 and 9

 Explanation:  The scale supplied with the DATE TIME data type
 must be        between 2 and 9 inclusive.

 User Action:  Supply a legal date time leading precision.

DATETIM_PREC

 Date/time leading precision for <text> declared twice

 Explanation:  The leading precision for a DATETIME data type was
 declared       more than once.  This is typical of a declaration
 of     INTERVAL DAY(3) TO SECOND(2.1)

 User Action:  Supply a legal date time scale

DATETIM_SCALE

 Date/time scale for <text> must be less than or equal to <value>

 Explanation:  The scale supplied with the DATE TIME data type
 must be less than or equal to six.

 User Action:  Supply a legal date time scale.

DATETYPES

 Illegal mixing of date data types

 Explanation:  date arithmetic operands are incompatible

 User Action:  Try with different data types

DATIM_SCALE

 Date/time scale for <text> must be positive

 Explanation:  The scale supplied with the DATE TIME data type
 must be greater than or equal to zero.

 User Action:  Supply a legal date time scale.

DATNOTSUP

 Date data type not supported in this context

 Explanation:  The output of a date value to the language file is
 not supported.

 User Action:  Do not use dates in this manner.

DATTYPUNK

 Data type unknown.  Expression cannot use only host variables

 Explanation:  An assignment or a predicate must have at least
 one database field or literal.

 User Action:  You must use a database variable or literal in the
 expression.

DBALLOCIS

 Database allocation size is <value> pages

 Explanation:  Database allocation size as found in the
 interchange (.RBR) file.

 User Action:  None.

DBALLOCWAS

 Database allocation size was <value>, new size is <value> pages

 Explanation:  Database allocation size as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBBUFLENIS

 Database BUFFER SIZE is <value> blocks

 Explanation:  Database BUFFER SIZE as found in the interchange
 (.RBR) file.

 User Action:  None.

DBBUFLENWAS

 Database BUFFER SIZE was <value>, now is <value> blocks

 Explanation:  Database BUFFER SIZE as found in the interchange
 (.RBR) file.  New size was specified by user.

 User Action:  None.

DBCLWASOFF

 CARRY OVER LOCKS were DISABLED now are ENABLED

 Explanation:  You overrode the original setting of the carry
 over locks during an import

 User Action:  None.

DBCLWASON

 CARRY OVER LOCKS were ENABLED now are DISABLED

 Explanation:  You overrode the original setting of the carry
 over locks during an import.

 User Action:  None.

DBENVSYNERR

 Syntax error in database enviroment specification

 Explanation:  The database environment specification in a
 CONNECT statement is syntactically incorrect.  The sub-error
 returns more specific information.

 User Action:  Correct the syntax error and retry execution of
 the statement.

DBFCINTVLIS

 Journal fast commit TRANSACTION INTERVAL is <value>

 Explanation:  Journal fast commit TRANSACTION interval as found
 in the interchange (.RBR) file.

 User Action:  None.

DBFCINTVLWAS

 Journal fast commit TRANSACTION INTERVAL was <value> now is
 <value>

 Explanation:

 User Action:  None.

DBFCISOFF

 Commit to journal optimization is DISABLED

 Explanation:  Commit to journal optimization is disabled.

 User Action:  None.

DBFCISON

 Commit to journal optimization is ENABLED

 Explanation:  Commit to journal optimization is enabled.

 User Action:  None.

DBFCWASON

 Commit to journal optimization was ENABLED

 Explanation:  commit to journal optimization was found in the
 interchange file.  Feature DISABLED during import.

 User Action:  None.

DBHANDOVE

 This alias has already been declared.

 Explanation:  Used when asking if the user would like to
 override a previous declare alias or attach statement.
 This string is assumed to be less than 255 characters.  --

DBHANDOVE_Q

 Would you like to override this declaration (No)?

 Explanation:  Prompt for asking if the user would like to
 override a previous declare alias or attach statement.
 This string is assumed to be less than 255 characters.  --

DBHANDUNK

 <text> is not the alias of a known database

 Explanation:  You specified an unknown alias to qualify a table
 or view name in a select expression.

 User Action:  Check the query and the DECLARE ALIAS statements
 in your module or any ATTACH statement make sure the alias names
 match.

DBHDLREQ

 db handle should be specified for EXTRACTION ROLLUP transfers

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you are attempting to move a relation without
 specifying the database handle of the source database.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying the database handle of the source database for each
 of the move-relation-clauses.

DBINUSE

 Database cannot be dropped because it is currently in use.

 Explanation:  You issued a DROP DATABASE statement, but another
 user is attached the same database.

 User Action:  Wait for other users to detach from the database.
 If the database is in use, however, one would question the
 wisdom of trying to delete it.  Remember that patience is a
 virtue.

DBJNLALLIS

 Database JOURNAL ALLOCATION is <value>

 Explanation:  Database JOURNAL ALLOCATION as found in the
 interchange (.RBR) file.

 User Action:  None.

DBJNLALLWAS

 Database JOURNAL ALLOCATION was <value>, now is <value>

 Explanation:  Database JOURNAL ALLOCATION as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBJNLEXTIS

 Database JOURNAL EXTENSION is <value>

 Explanation:  Database JOURNAL EXTENSION as found in the
 interchange (.RBR) file.

 User Action:  None.

DBJNLEXTWAS

 Database JOURNAL EXTENSION was <value>, now is <value>

 Explanation:  Database JOURNAL EXTENSION as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBJRNCMTISN

 Commit to journal optimization is Disabled

 Explanation:  Commit to journal optimization DISABLED in
 newly-created database.  Value either specified by user or found
 in the interchange file.

 User Action:  None.

DBJRNCMTISY

 Commit to journal optimization is Enabled

 Explanation:  Commit to journal optimization ENABLED in
 newly-created database.  Value was either specified by user or
 found in the interchange file.

 User Action:  None.

DBJRNCMTWASN

 Commit to journal optimization was Disabled

 Explanation:  Commit to journal optimization was DISABLED in the
 interchange file.  You specified a new value.

 User Action:  None.

DBJRNCMTWASY

 Commit to journal optimization was Enabled

 Explanation:  Commit to journal optimization was ENABLED in the
 interchange file.  You specified a new value.

 User Action:  None.

DBKAMBIG

 DBKEY reference is ambigous

 Explanation:  You made an unqualified reference to DBKEY in a
 context        where there is more than one source of a dbkey.

 User Action:  Add a table qualifier to the DBKEY reference.

DBKTOOBIG

 The DBKEY for table <text> is <value> bytes, host variable
 <text> must be the same size or larger.

 Explanation:  The host variable you are using with the DBKEY is
 not the        same size as the dbkey.

 User Action:  Allocate a host variable which is the correct
 size.

DBLCKTMOUTIS

 LOCK TIMEOUT is <value> seconds

 Explanation:  Lock timeout interval as found in the interchange
 (.RBR) file.

 User Action:  None.

DBLCKTMOUTWAS

 LOCK TIMEOUT INTERVAL was <value> now is <value> seconds

 Explanation:  Lock timeout interval as found in the interchange
 (.RBR) file.

 User Action:

DBMUNGED

 There are uncommitted changes to this database.

 Explanation:  Used to tell users their databases have changed.
 This string is assumed to be less than 255 characters.  --

DBMUNGED_Q

 Would you like a chance to ROLLBACK these changes (No)?

 Explanation:  Prompt for asking if the user would like a chance
 to ROLLBACK the changes they made.             This string is
 assumed to be less than 255 characters.  --

DBNAMCONF

 Two databases with the same alias, but different handle
 addresses

 Explanation:  An application linked against a shared image has
 declared a database with same alias as the shared image, but the
 two databases don't share the same handle address.

 User Action:  Either choose a different alias name or link the
 images with PSECT attributes GBL,NOSHR for the DB handle PSECTs.

DBNOTINCONN

 The required database alias is not part of the current
 connection

 Explanation:  A SQL statement references a DSRI request that is
 compiled against a database alias that is not attached in the
 current connection.

 User Action:  Specify the necessary alias in the connect
 statement or execute an SQL statement that does not reference
 the alias.

DBNUMBUFIS

 Database NUMBER OF BUFFERS is <value>

 Explanation:  Database number of BUFFERS as found in the
 interchange (.RBR) file.

 User Action:  None.

DBNUMBUFWAS

 Database NUMBER OF BUFFERS was <value>, now is <value>

 Explanation:  Database number of BUFFERS as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBNUMDBRIS

 Database NUMBER OF DBR BUFFERS is <value>

 Explanation:  Database number of DBR BUFFERS as found in the
 interchange (.RBR) file.

 User Action:  None.

DBNUMDBRWAS

 Database NUMBER OF DBR BUFFERS was <value>, now is <value>

 Explanation:  Database number of DBR BUFFERS as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBNUMNODIS

 Database NUMBER OF VAXCLUSTER NODES is <value>

 Explanation:  Database number of nodes as found in the
 interchange (.RBR) file.

 User Action:  None.

DBNUMNODWAS

 Database NUMBER OF VAXCLUSTER NODES was <value>, now is <value>

 Explanation:  Database number of users as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBNUMUSERIS

 Database NUMBER OF USERS is <value>

 Explanation:  Database number of users as found in the
 interchange (.RBR) file.

 User Action:  None.

DBNUMUSERWAS

 Database NUMBER OF USERS was <value>, now is <value>

 Explanation:  Database number of users as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

DBPGSIZIS

 Database page size is <value> blocks

 Explanation:  Database page size as found in the interchange
 (.RBR) file.

 User Action:  None.

DBPGSIZWAS

 Database page size was <value>, new size is <value> blocks

 Explanation:  Database page size as found in the interchange
 (.RBR) file.  New size was specified by user.

 User Action:  None.

DBSNPDEFISN

 Database SNAPSHOT is IMMEDIATE

 Explanation:  Database snapshot immediate in newly-created
 database.  Value either specified by user or found in the
 interchange file.

 User Action:  None.

DBSNPDEFISY

 Database SNAPSHOT is DEFERRED

 Explanation:  Database snapshot deferred in newly-created
 database.  Value either specified by user or found in the
 interchange file.

 User Action:  None.

DBSNPDEFWASN

 Database SNAPSHOT was IMMEDIATE

 Explanation:  Database snapshot immediate as found in the
 interchange (.RBR) file.  New value was specified by user.

 User Action:  None.

DBSNPDEFWASY

 Database SNAPSHOT was DEFERRED

 Explanation:  Database snapshot deferred as found in the
 interchange (.RBR) file.  New value was specified by user.

 User Action:  None.

DBSNPENAISN

 Database SNAPSHOT is DISABLED

 Explanation:  Database snapshot disabled in newly-created
 database.  Value either specified by user or found in the
 interchange file.

 User Action:  None.

DBSNPENAISY

 Database SNAPSHOT is ENABLED

 Explanation:  Database snapshot enabled in newly-created
 database.  Value either specified by user or found in the
 interchange file.

 User Action:  None.

DBSNPENAWASN

 Database SNAPSHOT was DISABLED

 Explanation:  Database snapshot disabled as found in the
 interchange (.RBR) file.  New value was specified by user.

 User Action:  None.

DBSNPENAWASY

 Database SNAPSHOT was ENABLED

 Explanation:  Database snapshot enabled as found in the
 interchange (.RBR) file.  New value was specified by user.

 User Action:  None.

DBSPECSYNERR

 Syntax error in database specification

 Explanation:  The database specification in an ATTACH statement
 is syntactically incorrect.  The sub-error returns more specific
 information.

 User Action:  Correct the syntax error and retry execution of
 the statement.

DB_EXISTS

 The data dictionary pathname, <text>, chosen for the database
 name already exists

 Explanation:  The data dictionary path name chosen for the
 database name already exists in the current directory.

 User Action:  Use another, unique data dictionary path name.

DB_HANDEC

 Handle already declared

 Explanation:  You declared a database handle via ACMS.  This
 interferes with defining a handle through the dynamic interface.

 User Action:  You should not specify another handle.

DB_HANDEC2

 Handle already declared

 Explanation:  You have declared a database handle via ACMS.
 This interferes with defining a handle through the dynamic
 interface.  This also interferes with declaring multiple
 database handles.

 User Action:  You should not specify another handle.

DB_HANLON

 The alias must be a longword

 Explanation:  Aliases that are passed from a program must be
 longwords passed by descriptor.

 User Action:  Define the alias to be a longword.  Examples:  For
 COBOL:  01 AUTHID PIC S9(9) COMP.  For FORTRAN:  INTEGER*4
 AUTHID.

DB_IN_TXN

 Authorization identifier <text> is already part of this
 transaction

 Explanation:  You specified an authorization identifier twice
 within in the transaction parameters of SET TRANSACTION or
 DECLARE TRANSACTION.

 User Action:  Specify the authorization identifier only once.

DCLBEFEXE

 DECLARE TRANSACTION and DECLARE ALIAS must be before executable
 statements

 Explanation:  DECLARE TRANSACTION and DECLARE ALIAS must come
 before the first executable statement in a program.  An
 executable statement is a statement such as SELECT, INSERT,
 UPDATE, OR CREATE.  To avoid this error, put all DECLARE ALIAS
 and DECLARE TRANSACTION statements in a context file, if
 possible.

 User Action:  Move all DECLARE TRANSACTION statements and
 DECLARE ALIAS statements before all executable statements.  You
 should specify all DECLARE ALIAS statements before the first
 DECLARE TRANSACTION statement.

DCLDATBEF

 DECLARE ALIAS must be before other DECLARE statements

 Explanation:  All DECLARE ALIAS statements must come before any
 DECLARE CURSOR, DECLARE TRANSACTION, or DECLARE TABLE statements
 in a program.

 User Action:  Move all DECLARE ALIAS statements before other
 DECLARE statements.

DDALERR

 VAX Data Distributor fatal error

 Explanation:  You entered a VAX Data Distributor statement that
 failed.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

DDALFMTUNK

 Data Distributor ACK file format not understood

 Explanation:  The format of the ACK file was not as expected by
 SQL.

 User Action:  See the system manager to check for compatibility
 between versions of SQL and DDAL.  If not incompatible, submit
 SPR.

DDALNOTINS

 Data Distributor not installed

 Explanation:  The VAX Data Distributor product is not installed
 on the system.

 User Action:  See the system manager to install the product.

DDLPARAM

 You referred to parameter <text> in a DDL statement

 Explanation:  You specified a parameter in a DDL statement such
 as a   CREATE VIEW or CREATE TRIGGER statement.  This is not
   supported.

 User Action:  Remove the parameter specification.

DDNOTSUPP

 Installed version of data dictionary does not support this SQL
 version.

 Explanation:  The version of the data dictionary on your system
 does not contain the necessary SQL support.

 User Action:  Upgrade the version of data dictionary on your
 system.  Alternatively, do not access the data dictionary with
 this version of SQL.

DECCURINTO

 DECLARE CURSOR statement cannot include an INTO clause

 Explanation:  You specified an INTO clause in the select
 expression in the DECLARE CURSOR statement.  It should go in the
 FETCH statement or in a singleton select statement.

 User Action:  Remove the INTO clause.

DECEMBER

 December

 Explanation:  Months of the Year string used by the date
 formatter.

DEFCONMOD

 Command line specified default constraint evaluation mode is off

 Explanation:  Your command line specified (either explicitly or
 by     default) that the constraint mode when you start a
      transaction is OFF; that is, that by default, constraints
 will not be evaluated until a COMMIT is executed.  The ANSI
    and ISO SQL standards require that the constraint mode when
 you start a transaction be ON; that is, that constraints be
    evaulated at the end of every SQL statement.

 User Action:  If it is important to have standard behavior in
 your program,  and you have constraints in your database, you
 should specify         the /CONSTRAINT_DEFAULT_MODE=ON in the
 module language command        line or
 /SQLOPTIONS=(CONSTRAINT_DEFAULT_MODE=ON) in the
        precompiler command line.

DEFDBDEC

 A database has already been declared with the default alias

 Explanation:  You attempted to attach a database using the
 default alias when there already was a one.  In interactive SQL,
 you get this error only if you choose not to override the
 current default database.

 User Action:  Include an alias which has not been declared in
 the DECLARE ALIAS or ATTACH statement.

DEFVALINC

 You specified a default value for <text> which is inconsistent
 with its data type

 Explanation:  The value specified for the default value must
   have the same type (i.e.  both character, both exact numeric,
 both approximate numeric or both dates) as the column or domain
 for which it is the default.  It must also be small enough to
  fit into column or domain.

 User Action:  Replace the specified value with a value that is
 compatible     with the column.

DEFVALNOTCB

 Default values are not allowed for computed columns

 Explanation:  You specified a default value for a computed
 column,        for which defaults are not supported.

 User Action:  Remove the default clause from this definition.

DEFVALUNS

 Default values are not supported for the data type of <text>

 Explanation:  You specified a default value for a data type
 (such as segmented     string) for which defaults are not
 supported.

 User Action:  Remove the default clause from this definition.

DEGMODSPC

 Only one degree mode may be specified for a transaction

 Explanation:  You specified both concurrency options
 (CONSISTENCY LEVEL 2 and CONSISTENCY LEVEL 3) in a DECLARE
 TRANSACTION statement.

 User Action:  Specify only one option in your DECLARE
 TRANSACTION statement.

DELBACKUP

 EXPORT errors, interchange file deleted

 Explanation:  The export that you were performing could not be
 successfully completed.

 User Action:  Determine why the export failed and correct that
 situation.

DELLSTDYNCUR

 DELETE LIST cannot reference dynamic table cursor, <text>

 Explanation:  A precompiled DELETE LIST statement references a
 table cursor that is dynamic.

 User Action:  The DELETE LIST statement for the dynamic cursor
 should be PREPAREd and EXECUTEd.

DEPIMPCAS

 Implicit cascading may not be supported in a future version

 Explanation:  On a DROP TABLE, VAX SQL will currently drop all
 indexes, views         triggers and constraints which reference
 the table.  In a       future release, these objects will only
 be dropped if you      specify CASCADE.        On a DROP VIEW,
 VAX SQL will currently drop all views which    references that
 view.  In a future release, they will only be  dropped if you
 specify CASCADE.

 User Action:  If you want these objects to be deleted, specify
 the CASCADE    option on the drop.

DEPR_DQUOTES

 " used instead of ' for string literal

 Explanation:  Double quotes were used to delimit a string
 literal.  This usage is deprecated.  Single quotes are the
 correct delimiters for string literals

 User Action:  Use single quotes for string literals; double
 quotes have a special usage, denoting identifiers that bypass
 reserved word checking

DEPR_FEATURE

 Deprecated Feature:  <text>

 Explanation:  The syntax indicated is a deprecated feature.  It
 may not be supported in a future version of SQL.

 User Action:  Please look in the SQL Reference Manual appendix
 of deprecated features and replace this syntax with the syntax
 that has superceded it.

DEP_FEATURE

 Deprecated Feature

 Explanation:  The syntax indicated is a deprecated feature.  It
 may not be     supported in a future version of VAX SQL.

 User Action:  Please look in the SQL Reference Manual appendix
 of deprecated features and replace this syntax with the syntax
 that has superceded it.

DIC_DB_CHG1

 A dictionary definition used by database <text> has changed

 Explanation:  This database refers to a definition in the
 dictionary that has changed.

 User Action:  Use the INTEGRATE statement to resolve any
 differences.

DIC_DB_CHG2

 Use the INTEGRATE statement to resolve any differences between
 the dictionary and the database

 Explanation:  The data definitions in the data dictionary no
 longer match the definitions in the database file.

 User Action:  Use the INTEGRATE statement to resolve any
 differences.

DIFFDEFINV

 The invoker is not the definer, <text>

 Explanation:  The RESTRICT_INVOKER option was specified at
 compile time to ensure ANSI semantic behavior.  This requires
 that only the same user who compiles a module (the definer) may
 be the user who executes it (the invoker).

 User Action:  Recompile the module.  If it is not important that
 ANSI semantics be maintained, do not specify the
 RESTRICT_INVOKER option; any user will be able to execute a
 program linked with this module.  If ANSI semantics must be
 maintained, make sure that the user who will be the invoker also
 compiles the program.  Alternatively, a module language
 AUTHORIZATION clause specifies who the definer is, and may be
 used by one user to compile a module for another.

DIFFSCHVIEW

 Views and tables must be moved from the same database

 Explanation:  The user entered a move tables clause specifying a
 database with a different as the database named in the move
 views clause.

 User Action:  Enter the CREATE TRANSFER statement with a move
 views clause whose database is the same as the one in the move
 tables clause.

DIGNUMPIC

 more than 31 digits in a numeric edit string

 Explanation:  The edit string generates more than 31 digits.

 User Action:  Reduce the number of digits in this numeric
 picture string.

DOMNOTBCK

 Domain <text> cannot be exported WITH NO EXTENSIONS

 Explanation:  This domain cannot be exported when NO EXTENSIONS
 is specified.  It is of a data type which was not supported
 before Rdb/VMS 4.1 in any fashion.  The secondary message will
 describe exactly which data type was used.

 User Action:  If the interchange file will not be used to create
 a database in prior versions of Rdb/VMS, Digital would recommend
 restarting the EXPORT specifying WITH EXTENSIONS.  Otherwise,
 change the affected domain to a type which was supported in
 earlier versions or remove it entirely.

DOM_CDD_NAME

 CDD Pathname:  <text>

 Explanation:  Used by SHOW commands for showing data dictionary
 pathname information.

 User Action:  None.

DOM_INVALID

 collating sequence invalid for non-text domain <text>

 Explanation:  A collating sequence was defined on a non-text
 domain.  The domain definition is invalid.

 User Action:  None.

DPBFMTUNK

 Data Distributor DPB buffer not understood

 Explanation:  The format of the DPB buffer from the ACK file was
 not as expected by SQL.

 User Action:  See the system manager to check for compatibility
 between versions of SQL and DDAL.  If not incompatible, submit
 SPR.

DROP_COLDOM

 Column <text> in table <text> is being altered to remove domain

 Explanation:  When you issue the DROP SCHEMA or DROP CATALOG
 statement and specify the CASCADE behavior, SQL drops all of the
 domains in that schema or catalog.  If one of the columns in a
 table outside of the schema or catalog references one of those
 domains, it is altered in such a way that it no longer depends
 on the domain being deleted.

 User Action:  None.

DROP_COLL

 Collating sequence <text> is also being dropped.

 Explanation:  When you issue the DROP SCHEMA or DROP CATALOG
 statement and specify CASCADE behavior, SQL drops all of the
 objects in that schema or catalog and all of the objects
 referenced by any objects being dropped.  This informational
 message is simply to indicate which objects are being dropped.

 User Action:  None.

DROP_CONS

 Constraint <text> is also being dropped.

 Explanation:  When you issue the DROP TABLE statement, SQL also
 drops all constraints that use that table.  Also, when you issue
 the DROP SCHEMA or DROP CATALOG statement and specify CASCADE
 behavior, SQL drops all of the objects in that schema or catalog
 and all of the objects referenced by any objects being dropped.
 This message notifies you which constraints those are.  It is
 informational only.

 User Action:  None.

DROP_DOM

 Domain <text> is also being dropped.

 Explanation:  When you issue the DROP SCHEMA or DROP CATALOG
 statement and specify CASCADE behavior, SQL drops all of the
 objects in that schema or catalog and all of the objects
 referenced by any objects being dropped.  This informational
 message is simply to indicate which objects are being dropped.

 User Action:  None.

DROP_IDX

 Index <text> is also being dropped.

 Explanation:  When you issue the DROP TABLE statement, SQL also
 drops all indexes that use that table.  Also, when you issue the
 DROP SCHEMA or DROP CATALOG statement and specify CASCADE
 behavior, SQL drops all of the objects in that schema or catalog
 and all of the objects referenced by any objects being dropped.
 This message notifies you which indices those are.  It is
 informational only.

 User Action:  None.

DROP_STOMAP

 VIA clause on storage map <text> is also being dropped.

 Explanation:  When you issue the DROP TABLE statement, SQL also
 drops the the index for that table.  In order to drop the index,
 any via clauses which reference the index must be delete so the
 index can be dropped.  The message is informational only.

 User Action:  None.

DROP_STORMAP

 Storage map <text> is also being dropped.

 Explanation:  When you issue the DROP SCHEMA or DROP CATALOG
 statement and specify CASCADE behavior, SQL drops all of the
 objects in that schema or catalog and all of the objects
 referenced by any objects being dropped.  This informational
 message is simply to indicate which objects are being dropped.

 User Action:  None.

DROP_TABLE

 Table <text> is also being dropped.

 Explanation:  When you issue the DROP SCHEMA or DROP CATALOG
 statement and specify CASCADE behavior, SQL drops all of the
 objects in that schema or catalog and all of the objects
 referenced by any objects being dropped.  This informational
 message is simply to indicate which objects are being dropped.

 User Action:  None.

DROP_TRIG

 Trigger <text> is also being dropped.

 Explanation:  When you issue the DROP TABLE statement, SQL also
 drops all triggers that use that table.  Also, when you issue
 the DROP SCHEMA or DROP CATALOG statement and specify CASCADE
 behavior, SQL drops all of the objects in that schema or catalog
 and all of the objects referenced by any objects being dropped.
 This message notifies you which triggers SQL is dropping.  The
 message is informational only.

 User Action:  None.

DROP_VIEW

 View <text> is also being dropped.

 Explanation:  When you issue the DROP TABLE statement, SQL also
 drops all views that use that table.  Also, when you issue the
 DROP SCHEMA or DROP CATALOG statement and specify CASCADE
 behavior, SQL drops all of the objects in that schema or catalog
 and all of the objects referenced by any objects being dropped.
 This message notifies you which views those are.  It is
 informational only.

 User Action:  None.

DTFMTTOOBIG

 Date or time format must be less than 999.

 Explanation:  You entered a DATE or TIME value greater than 999
 in the SET DATE FORMAT statement.

 User Action:  Enter a value less than or equal to 999.

DTONCEEACH

 You can specify DATE or TIME only once each.

 Explanation:  You entered entered DATE date-number twice
       or TIME time-number twice in the SET DATE FORMAT
 statement.

 User Action:  Enter nothing, or enter DATE, TIME, or one of each
 with SET DATE FORMAT.

DUPFLDDEF

 field <text> has different definitions in relations <text> and
 <text>

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you are attempting to move a field which does
 not have the same definition in all the source databases.  Since
 we cannot have two definitions of a field in the target
 database, the CREATE TRANSFER command is invalid.

 User Action:  Reenter the CREATE TRANSFER statement by including
 only one definition of the field mentioned above or by changing
 all the definitions of this field into the same type.

DUPPROCNAM

 <text> is a duplicate procedure name

 Explanation:  There are two procedures in this module with this
 name.

 User Action:  Change the name of one of the procedures.

DUPREFACT

 Duplicate <text> referential action

 Explanation:  You specified two update or two delete actions on
 a referential  constraint.  This is not supported.

 User Action:  Remove one of the referential actions.

DUPVAR

 Variable <text> is already defined

 Explanation:  You defined a SQL variable for which there was
 already a declaration.

 User Action:  Either use the variable, or specify the name of a
 variable which is not already defined.

DYNSIZARR

 Host variable <text> is an array whose bounds are determined at
 runtime

 Explanation:  The SQL precompilers do not support references to
 arrays whose bounds are determined at run time
 (dynamically-sized arrays).

 User Action:  Assign the value in the dynamically-sized array to
 a field which is not in a dynamically-sized array before using
 it in an SQL statement.

EMPMSGVEC

 Empty message vector returned.  Please submit an SPR

 Explanation:  The database system returned an empty message
 vector and nothing can be determined about the success or
 failure of the SQL statement for which the message vector was
 returned.  This is a database system software error.

 User Action:  Submit an SPR including the source of the program
 which caused this error.

END

 End of input

 Explanation:  No more input was given to SQL.

 User Action:  None.

ENUM_VAR

 Host variable <text> is an enum variable which is illegal in SQL
 statements.

 Explanation:  The named variable is defined as a C enum
 variable.  Such fields are not legal in SQL statements.

 User Action:  Use a different variable.

ERRATTDEC

 Error attaching to database <text>

 Explanation:  An ATTACH, DECLARE ALIAS or CONNECT statement
 specified an invalid or nonexistent file specification or data
 dictionary path name.  See the messages following this message
 for more information.

 User Action:  Change the statement to specify a valid file
 specification or path name.

ERRATTDEF

 Could not use database file specified by SQL$DATABASE

 Explanation:  If you do not issue an explicit DECLARE ALIAS,
 ATTACH or CONNECT statement, SQL uses the database file
 specified by the logical name SQL$DATABASE.  Because the logical
 name SQL$DATABASE is not defined or does not refer to a valid
 database, SQL could not attach to a database.  See the messages
 following this message for more information.

 User Action:  Explicitly declare a schema before executing any
 statements which require a database, or define the logical name
 SQL$DATABASE to specify the database file you wish to use.

ERRCRESCH

 Error creating database filename <text>

 Explanation:  There was an error creating the database.

 User Action:  Correct CREATE DATABASE statement and try again.

ERRDET

 An error was detected

 Explanation:  This is the exit status for a preprocessor when an
 error was detected.

 User Action:  Correct the error in the host language program and
 resubmit the job to the preprocessor.

ERRINCPATH

 Error including record at pathname "<text>"

 Explanation:  An error was reported trying to include a record
 from the dictionary.

 User Action:  Correct the pathname in the include from
 dictionary statement.

ERRSYMDEL

 Error symbol deleted

 Explanation:  When parsing an SQL statement, the parser
 encountered an error.  The message for that error appeared prior
 to this message.  In an attempt to recover from that error SQL
 deleted the token it found, and generated this message to help
 you understand any additional messages that follow.

 User Action:  None.  This is an informational message only.

ERRSYMREP

 Error symbol replaced by <text>

 Explanation:  When parsing an SQL statement, the parser
 encountered an error.  The message for that error appeared prior
 to this message.  In an attempt to recover from that error, SQL
 replaced the token it found with the specified token, and
 generated this message to help you understand any additional
 messages that follow.

 User Action:  None.  This is an informational message only.

ES_ILL_RPT

 repeat count in edit string is not numeric

 Explanation:  The user specified an edit string that contained a
 repeat count that was not a number, for example, X(9) is legal,
 but X(a) is not.

 User Action:  Specify only numeric values for repeat counts.

EVACLAUNS

 EVALUATING clause ignored

 Explanation:  The DECLARE TRANSACTION statement in SQL does not
 support the EVALUATING clause to specify when the database
 system evaluates constraints.  Constraints are evaluated as
 specified in their definitions.

 User Action:  Issue the DECLARE TRANSACTION statement without
 the EVALUATING clause.

EXESELSTA

 Attempted to EXECUTE a SELECT statement

 Explanation:  You used a prepared SELECT statement in an EXECUTE
 statement.  In dynamic SQL, the only way to process prepared
 SELECT statements is through cursors.

 User Action:  Define a cursor based on the statement you tried
 to execute, and use the cursor in OPEN and FETCH statements.
 Otherwise, use non-SELECT statements only in EXECUTE statements.

EXPNUMLIT

 Expected a numeric literal

 Explanation:  A numeric literal was expected in this context.

 User Action:  Correct the syntax.

EXPQUEXPR

 A query expression was expected

 Explanation:  SQL expected a query expression.  You entered
 something else.

 User Action:  Enter a query expression.

EXP_CDD_NODATA

 Exporting a data dictionary with NODATA is not allowed

 Explanation:  You used the NODATA option when exporting a
 dictionary database.

 User Action:  You cannot use the NODATA option when exporting
 data dictionaries.  The data dictionary cannot use the resulting
 database.  Use the DATA option and try again.

EXP_CDD_NOEXT

 Exporting a data dictionary with NOEXTENSIONS is not allowed

 Explanation:  You used the NOEXTENSIONS option when exporting a
 dictionary database.

 User Action:  You cannot use the NOEXTENSIONS option when
 exporting data dictionaries.  The data dictionary cannot use the
 resulting database.  Use the EXTENSIONS option and try again.

EXP_CONVERT

 Domain <text> converted from TINYINT to SMALLINT

 Explanation:  This domain may not be exported directly when NO
 EXTENSIONS is specified.  The domain (and all columns defined
 using this domain) will be of data type SMALLINT in any database
 created from this interchange file.

 User Action:  If using IMPORT and EXPORT to move data to a much
 older version of Rdb/VMS or to ELN, keep in mind that the data
 types have changed and that some errors may occur since only
 data has been converted, and objects (such as constraints) which
 refer to that data have not.  Otherwise, Digital would recommend
 restarting the EXPORT specifying WITH EXTENSIONS.

EXTNAMEXISTS

 External name <text> already exists in this database

 Explanation:  You attempted to create an object with an external
 name which is already in use by an object of the same type.

 User Action:  Choose a different external name for the object or
 omit the EXTERNAL NAME clause and allow SQL to provide a default
 external name for you.

EXTRADATA

 unexpected data at the end of the .RBR file

 Explanation:  Internal error - found more data than expected in
 the Rdb/VMS interchange file (.RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

EXTREPONESCH

 Only one database allowed by EXTRACTION and REPLICATION
 transfers

 Explanation:  You have specified tables to be moved which come
 from more than one database.

 User Action:  Use multiple transfers to move tables from
 multiple databases.

FETNOTDON

 A fetch has not been done yet for cursor <text>

 Explanation:  You named a cursor in a CURRENT OF clause of an
 UPDATE or DELETE statement but you did not issue a FETCH
 statement for that cursor.

 User Action:  Issue a FETCH statement for the cursor.

FIELD_EXISTS

 Domain <text> already exists in this database or schema

 Explanation:  You requested that a domain be named with the name
 of an existing domain.

 User Action:  Choose a different name.

FINNOSES

 FINISH is not compatible with sessions

 Explanation:  FINISH is not only deprecated, but cannot be used
 with sessions since the semantics aren't compatible.

 User Action:  Use DISCONNECT DEFAULT.

FKCONSNOTCB

 Computed column may not reference a foreign key

 Explanation:  You specified a foreign key constraint for a
 computed       column, which does not support this constraint.

 User Action:  Remove the foreign key constraint from this
 definition.

FLDAMBIG

 Column <text> is not unique in tables in the FROM clause

 Explanation:  The specified column exists in more than one of
 the tables specified in the FROM clause.

 User Action:  Qualify the column name in the select list with
 the table name or an alias.

FLDNOTBCK

 Column <text>.<text> defined in terms of missing domain <text>

 Explanation:  The base field for a local field is not defined.
 The database cannot be exported if any columns refer to
 non-existant domains.

 User Action:  This is caused by an inconsistency in the
 database.  Try to recover the missing global field.

FLDNOTCRS

 Column <text> was not found in the tables in current scope

 Explanation:  The specified column does not exist in the tables
 specified in the current scope.

 User Action:  Check the select expression:  you may have
 mistyped the column name or specified the wrong table name or
 alias to qualify the column name.

FLDNOTDEF

 Column <text> is not defined in table <text>

 Explanation:  The specified column does not exist in the table
 specified.

 User Action:  Check the select expression:  you may have
 mistyped the column name or specified the wrong table name or
 alias to qualify the column name.

FLDNOTINREL

 <text> is not a column in table, <text>

 Explanation:  The column you specified is not part of the named
 table.

 User Action:  Check the table definition for the correct column
 name or specify another table.

FLUINPBUF

 Indirect command file buffer flushed for Control C

 Explanation:  You typed Control-C while executing an indirect
 command file.

 User Action:  None.

FORCOLNMASS

 Column <text> in table <text> does not match assumed <text> data
 type

 Explanation:  You implicitly declared the named column with
 numeric, character or date data type when using it in a forward
 reference.  When the named table was eventually created, the
 actual column declaration did not match the implicit one.

 User Action:  Change the forward declaration or the column
 declaration so that the two have the same basic data type.

FORCOLNMDECL

 Column <text> in table <text> does not match <text> of forward
 reference

 Explanation:  You implicitly declared the named column when
 using it in a forward reference.  When the named table was
 eventually created, the actual column declaration did not match
 the implicit one.

 User Action:  Change the forward declaration or the column
 declaration so that the two match in data type, length and
 scale.

FORCOLNODECL

 Column <text> in forward reference of table <text> not declared

 Explanation:  You implicitly declared the named column when
 using it in a forward reference.  When the named table was
 eventually created, the column was not declared.

 User Action:  Change the forward declaration or the actual table
 declaration so that the table contains all of the columns found
 in the forward declaration.

FORPASLEN

 Host variable <text> is an unsupported passed-length variable

 Explanation:  The host variable declaration uses the FORTRAN
 passed-length (*) feature which is not supported.

 User Action:  Either change the declaration so that only
 supported attributes are used, or move the data to another
 variable which uses only supported attributes.

FORTABNODECL

 Forward referenced table <text> not declared

 Explanation:  You used the named table in a forward reference.
 This table was never created.

 User Action:  Change the CREATE DATABASE statement to include
 the definition of all forward declared tables.

FUN_VAR

 Host variable <text> is function which is illegal in SQL
 statements.

 Explanation:  The named variable is defined as a C function.
 Functions refnereces are not supported in SQL statements.

 User Action:  Use a different variable.

GARBLED

 interchange file is corrupt

 Explanation:  Internal error - probably mismatched BEGIN and END
 clumps.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

GETCRESEG

 Attempt to get from a created list

 Explanation:  You attempted to do a SEGSTR.GET using a handle
 returned by a SEGSTR.CREATE statement.  You can only do
 SEGSTR.PUTs using the handle returned by create.

 User Action:  Specify the correct handle

GFLOAT

 <text> does not support G_FLOAT

 Explanation:  /G_FLOAT was specified for a language such as
 COBOL which does not support the G_FLOAT data type.

 User Action:  Unless you are taking the G_FLOAT number and
 passing it to a language which understands G floating numbers,
 you probably want to reprecompile without the /G_FLOAT
 qualifier.  If you use it from this language, the compiled code
 will think it is a different number than the database system
 did.

HEXSTREVE

 A hexadecimal string must have an even number of digits

 Explanation:  A hexadecimal string must have an even number of
 digits.  This is because it takes two hexadecimal digits to
 represent each ASCII character.

 User Action:  Enter a hexadecimal number with an even number of
 digits.

HI_ORD_LOS

 Increasing the scale of column <text> may result in the loss of
 high order digits

 Explanation:  Changing the data type and/or increasing the scale
 of a   column may result in the loss of significant digits of
  the data already stored in that column.

 User Action:  None.  This is a warning message only.

HVNOTDECL

 Host variable <text> was not declared

 Explanation:  Every host variable that is used in an SQL
 statement in a program must been declared in the host language.

 User Action:  Declare the specified variable using a supported
 declaration.

HV_NOT_IN

 Host variable, <text>, not within scope of BEGIN DECLARE and END
 DECLARE section

 Explanation:  Your program referred to a variable that was
 declared outside of the BEGIN DECLARE and END DECLARE
 statements.

 User Action:  Either move the desired host variable declaration
 to be within this section or remove the BEGIN DECLARE and END
 DECLARE statement.  You can also ignore this warning message.
 BEGIN DECLARE and END DECLARE are only for standard complicance.

IDMISSING

 an alias or a filename is required to create a database

 Explanation:  The user specified an IMPORT or a CREATE DATABASE
 statement without specifying an authorization ID or a filename.
 One of is required.

 User Action:  Specify the missing parameter and try the
 operation again.

IGNCASE_BAD

 IGNORE CASE not supported for character set <text>

 Explanation:  The IGNORE CASE clause of the LIKE predicate is
 only supported for character sets that contain ASCII.

 User Action:  Remove this clause since the character set does
 not contain upper and lower case characters.

ILLBEGIN

 file <text> is corrupt or not an Rdb interchange file

 Explanation:  SQL IMPORT can recreate databases only from the
 Rdb/VMS interchange file (.RBR).  This file is not an Rdb/VMS
 interchange file (.RBR).

 User Action:  Try the operation again with the correct file
 name.

ILLCHAR

 Illegal character detected

 Explanation:  An illegal character has been detected.

 User Action:  Use only valid characters.

ILLCOMPREC

 RECORD or structure may not be compared

 Explanation:  You included the name of a RECORD parameter or
 structure variable in a comparison.  This is not allowed.

 User Action:  Compare individual fields of records or structures
 with other values.

ILLDATLEN

 An invalid SQLLEN(<value>) was found for a date field in the
 SQLDA

 Explanation:  You passed in a date column in a SQLDA with a
 SQLLEN that was not 8.

 User Action:  Set the SQLLEN to 8 for date columns in the
 SQLVAR.

ILLEXEIMM

 Illegal EXECUTE IMMEDIATE statement type

 Explanation:  You tried to issue a statement that is not allowed
 in an EXECUTE IMMEDIATE statement (SELECT, DECLARE, OPEN, FETCH,
 CLOSE, PREPARE, DESCRIBE, EXECUTE, INCLUDE, or WHENEVER).

 User Action:  Use PREPARE and a full EXECUTE statement for these
 statements.

ILLFLOLEN

 An invalid SQLLEN(<value>) was found for a FLOAT field in the
 SQLDA

 Explanation:  You passed in an SQLDA with a SQLTYPE FLOAT SQLLEN
 that was invalid.  Only 4, 8, an 16 are legal floating-point
 lengths.

 User Action:  Set the SQLLEN to 4, 8, or 16, depending on the
 length of the floating-point variable passed.

ILLFRASECPRE

 Fractional seconds precision may not be specified in this
 context

 Explanation:  You entered fractional seconds precision in a
 context in which it was not allowed.  TIME and TIMESTAMP
 literals may not include explicit fractional seconds precision;
 it is implied from the time string or timestamp string itself.

 User Action:  Remove the fractional seconds precision.

ILLFROM

 Data dictionary definitions may not be included using FROM
 within CREATE DATABASE

 Explanation:  You cannot use the FROM PATHNAME clause within a
 CREATE DATABASE statement.

 User Action:  Create the database first, then include the
 definitions.

ILLHEXNUM

 Illegal hexadecimal number.

 Explanation:  The format of a hexadecimal number is X'ffff',
 where ffff may be up to 16 hexadecimal digits.  A hexadecimal
 digit is a numeric digit (0 to 9) or an A, B, C, D, E, or F.
 The letters may be upper or lower case.  There must be an even
 number of digits.

 User Action:  Enter a proper hexadecimal number.  Make sure that
 the trailing apostrophe is included.

ILLINTLEN

 An invalid SQLLEN(<value>) was found for a integer column in the
 SQLDA

 Explanation:  You passed in an integer column in a SQLDA with a
 SQLLEN that was invalid.  For SQLTYPE of INTEGER, SQLLEN must be
 4.  For SQLTYPE of SMALLINT, SQLLEN must be 2.

 User Action:  Set the SQLLEN to 2 for SMALLINT, or 4 for
 INTEGER.

ILLPICSTR

 illegal character <text> in edit string

 Explanation:  An edit string contained the illegal character
 specified in the message.

 User Action:  Change the edit string to not have that character.

ILLSTRCONT

 Illegal string continuation

 Explanation:  Your program has illegal string continuation.

 User Action:  In COBOL, to continue a string you must do three
 things:  1) not end the string with a quote on the initial line;
 2) insert a continuation character (-) in the first column of
 the next line; and, 3) start the continued string with a quote
 as the first nonblank character after the continuation character
 (this quote is ignored).

IMPL_DIM

 Host variable <text> is defined with an implicit dimension.

 Explanation:  The named variable is defined using the C feature
 of determining the dimension of an array from its
 initialization.  Such variables are not legal in SQL statements.

 User Action:  Define the array variable using an
 explicitly-sized array.

IMP_CDD_NODATA

 Importing a data dictionary with NODATA is not allowed

 Explanation:  You used the NODATA option when importing a
 dictionary database.

 User Action:  You cannot use the NODATA option when importing
 data dictionaries.  The data dictionary cannot use the resulting
 database.  Use the DATA option and try again.

IMP_IDXNOTCRE

 index <text> not created - check spelling of the table name

 Explanation:  IMPORT could not process a CREATE INDEX clause
 because the named table was not defined in the database or
 schema.

 User Action:  Check that you spelled the table name correctly.

IMP_IDXNOTDRO

 index <text> not dropped - check spelling of the index name

 Explanation:  IMPORT could not process a DROP INDEX clause
 because the named index was not defined in the database or
 schema.

 User Action:  Check that you spelled the index name correctly.

IMP_IDX_CONFLICT

 DEFINE and DELETE INDEX <text> specified

 Explanation:  The user specified a DEFINE and DELETE INDEX using
 the same name.

 User Action:  Specify a either a DEFINE or a DELETE INDEX.

IMP_IDX_DEL

 Definition of INDEX <text> deleted

 Explanation:  User specified that the INDEX be deleted on IMPORT

 User Action:  None

IMP_IDX_NODEL

 Index <text> not deleted:  used by storage map <text>

 Explanation:  User specified that an index should be deleted,
 but it cannot be deleted because the storage map uses it.

 User Action:  None

IMP_IDX_OVR

 Definition of INDEX <text> overridden

 Explanation:  User specified definition of the INDEX on IMPORT
 supercedes the definition in the .RBR file.

 User Action:  None

IMP_IDX_TWICE

 DEFINE INDEX <text> specified twice

 Explanation:  The user specified a DEFINE INDEX twice using the
 same name.

 User Action:  Specify a INDEX name only once.

IMP_MAP_DEL

 Definition of STORAGE MAP <text> deleted

 Explanation:  User specified that the STORAGE MAP be deleted on
 IMPORT

 User Action:  None

IMP_MAP_OVR

 Definition of STORAGE MAP <text> overridden

 Explanation:  User specified definition of the STORAGE MAP on
 IMPORT supercedes the definition in the .RBR file.

 User Action:  None

IMP_STANOTDRO

 storage area <text> not dropped - check spelling of the storage
 area name

 Explanation:  IMPORT could not process a DROP STORAGE AREA
 clause because the named storage area was not defined in the
 database or schema.

 User Action:  Check that you spelled the storage area name
 correctly.

IMP_STAREADONLY

 Storage area was READ ONLY, now set to READ WRITE

 Explanation:  The interchange file specified that this storage
 area was READ ONLY.  This has not been reflected in the new
 database.

 User Action:  Use the syntax available in the ALTER STORAGE AREA
 command to change the access mode of this area after the IMPORT
 operation has completed.

IMP_STMNOTCRE

 storage map <text> not created - check spelling of the table
 name

 Explanation:  IMPORT could not process a CREATE STORAGE MAP
 clause because the named table was not defined in the database.

 User Action:  Check that you spelled the table name correctly.

IMP_STMNOTDRO

 storage map <text> not dropped - check spelling of the storage
 map name

 Explanation:  IMPORT could not process a DROP STORAGE MAP clause
 because the named storage map was not defined in the database or
 schema.

 User Action:  Check that you spelled the storage map name
 correctly.

IMP_STO_AREA

 IMPORTing STORAGE AREA:  <text>

 Explanation:  The named storage area is being imported from the
 .RBR file.

 User Action:  None

IMP_STO_CONFLICT

 DEFINE and DELETE STORAGE AREA <text> specified

 Explanation:  The user specified a DEFINE and DELETE STORAGE
 AREA using the same name.

 User Action:  Specify a either a DEFINE or a DELETE STORAGE
 AREA.

IMP_STO_DEL

 Definition of STORAGE AREA <text> deleted

 Explanation:  User specified that the STORAGE AREA be deleted on
 IMPORT

 User Action:  None

IMP_STO_MAP_CONFLICT

 DEFINE and DELETE STORAGE MAP <text> specified

 Explanation:  The user specified a DEFINE and DELETE STORAGE MAP
 using the same name.

 User Action:  Specify a either a DEFINE or a DELETE STORAGE
 AREA.

IMP_STO_MAP_TWICE

 DEFINE STORAGE MAP <text> specified twice

 Explanation:  The user specified a DEFINE STORAGE MAP twice
 using the same name.

 User Action:  Specify a STORAGE MAP name only once.

IMP_STO_OVR

 Definition of STORAGE AREA <text> overridden

 Explanation:  User specified definition of the STORAGE AREA on
 IMPORT supercedes the definition in the .RBR file.

 User Action:  None

IMP_STO_TWICE

 DEFINE STORAGE AREA <text> specified twice

 Explanation:  The user specified a DEFINE STORAGE AREA twice
 using the same name.

 User Action:  Specify a STORAGE AREA name only once.

IMP_TRA_BEG

 Starting <text> definition <text>

 Explanation:  Importing Relation/Index/Constraint info message.

 User Action:  None.

IMP_TRA_END

 Completed <text>.  DIO = <value>, CPU = <text>, FAULTS = <value>

 Explanation:  Text for Import Tracing.

 User Action:  N/A.

INCCSASS

 Incompatible character set assignment between <text> and <text>

 Explanation:  An assignment between two different character sets
 in not allowed because of incompatibilities of the character
 sets.

 User Action:  Use character fields with the same or compatible
 character sets.

INCCSCMP

 Incompatible character set comparision between <text> and <text>

 Explanation:  Comparision between two different character sets
 in not allowed because of incompatibilities of the character
 sets.

 User Action:  Use character fields with the same or compatible
 character sets.

INCCSCON

 Incompatible character set concatenation between <text> and
 <text>

 Explanation:  Concatenation between two different character sets
 in not allowed because of incompatibilities of the character
 sets.

 User Action:  Use character fields with the same or compatible
 character sets.

INCNOTREC

 <text> is not a dictionary record definition

 Explanation:  The data dictionary path name in an INCLUDE FROM
 DICTIONARY statement must specify a dictionary record
 definition.  The dictionary object specified is not a record
 definition.

 User Action:  Change the path name to the path name for a record
 definition, or remove the INCLUDE statement.

INC_DAT_TYP

 Altering column <text> to an incompatible data type may cause
 data loss

 Explanation:  Altering a column to a data type that is
 incompatible with the  old data type might cause data already
 stored in that column  to appear lost.

 User Action:  None.  This is a warning message only.

INDEXTS

 There is another index named, <text>, in this database or schema

 Explanation:  This message is printed during an IMPORT operation
 if the backup file contains multiple definitions of an index.
 Duplicate definitions may indicate corruption of the .RBR file,
 or improper operation during the EXPORT operation.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.  Subsequent
 definitions of the index should be ignored during the IMPORT
 operation; your database may not be currupt.

INDFIXINT

 Indicator variable <text> is not an unscaled fixed numeric

 Explanation:  You must declare indicator variables as the host
 language equivalent of an unscaled integer data type.

 User Action:  Declare the indicator variable as an unscaled
 integer host variable.

INDNOTDEF

 Index <text> is not defined in this database or schema

 Explanation:  The specified index does not exist in the current
 database or schema.

 User Action:  Declare the proper schema.  Spell the index name
 correctly.  You may have specified an expression where an index
 name was expected.

INDSHOINT

 Indicator variable <text> is not a SMALLINT

 Explanation:  Indicator variables in the dynamic interface
 should be declared as the host language equivalent a SMALLINT
 data type.

 User Action:  In COBOL, declare indicator variables as PIC S9(4)
 COMP.  In FORTRAN, declare indicator variables as INTEGER*2.  In
 PL/I, declare indicator variables as FIXED(15) BINARY.

IND_EXISTS

 Index <text> already exists in this database or schema

 Explanation:  You attempted to create an index with the name of
 an existing index

 User Action:  In the precompiler and module language, this is
 just a warning.  If the index exists when you execute the
 statement, you will get a fatal error.  If you expect to drop
 the index before you execute this statement, then you do not
 need to make any changes.  In interactive, dynamic and runtime
 for precompiled and module language programs, this is a fatal
 error.  You must choose a different name.

INFODET

 An informational was detected

 Explanation:  This is the exit status for a preprocessor when an
 informational was detected.

 User Action:  Correct the error in the host language program and
 resubmit the job to the preprocessor or ignore the
 informational.

INPUTERROR

 Error reading input file

 Explanation:  There was an error reading from the module
 language or precompiler source file.  SQL will display a
 secondary status message.

 User Action:  Act upon the secondary status message.  See the
 system manager, if necessary.

INSCOLALR

 Column <text> appears more than once in the INSERT column list

 Explanation:  You specified the same column name more than once
 in an INSERT statement.  Columns can only appear once.

 User Action:  Remove one occurrence of all columns which appear
 more than once.

INSCURDYN

 cursor <text> for positioned insert statement is dynamic

 Explanation:  An embedded positioned insert statement refers to
 an insert cursor that is dynamic.

 User Action:  You must execute immediate the positioned insert
 statement or make the insert cursor static.

INSVALSPEC

 insert value is not a value specification or NULL

 Explanation:  You used a value expression in the VALUES clause
 of an  INSERT statement which was not a value specification or
 NULL.          The ANSI standard does not support this.

 User Action:  If ANSI standard behavior is important for your
 program        then replace this value expression with one which
 fits   the rules for value specification or NULL.

INS_INTO_RO

 List cursor <text> cannot insert into READ ONLY table cursor
 <text>

 Explanation:  The list cursor named is an INSERT ONLY cursor
 while the table cursor that it references is a READ ONLY cursor.

 User Action:  The table cursor that the list cursor is based on
 must either be an INSERT ONLY or UPDATE cursor.  Jump that error
 message base into the next available range for the client.

INS_MUST_INS

 List cursor <text> cannot fetch from INSERT ONLY table cursor
 <text>

 Explanation:  The list cursor named is a READ ONLY cursor, but
 the table cursor is an INSERT CURSOR which won't allow FETCHes.

 User Action:  The list cursor must be an INSERT ONLY list cursor
 or the table cursor must be an INSERT or UPDATE cursor.

INTERVAL_USED

 Domain was an INTERVAL data type

 Explanation:  This message is used as a subcode to
 SQL$_DOMNOTBCK.  It indicates that the offending domain was a
 new subtype of DATE.  Specifically, INTERVAL data is not stored
 in the previous (ADT) format and cannot be interpreted in the
 same fashion.

 User Action:  The database cannot be exported WITH NO EXTENSIONS
 until this domain is removed completely.

INTIGNSYS

 Interval option ignored for system relation area

 Explanation:  The storage area that contain the system relations
 must   have UNIFORM page formats.  Either through the use of the
 defaults, or by directly specifing the INTERVAL option,
        SQL has been told to apply the INTERVAL option for the
 area   containing the system relations.  SQL is ignoring that
  option.

 User Action:  Nothing.  This is an informational message.  The
 user might     want to change the command if it originated in a
 command        file.  This may avoid confusion later.

INTNOTQUAL

 Interval expression not qualified

 Explanation:  An interval value expression was produced by the
 subtraction of two datetime value expressions, but no interval
 qualifier was specified.

 User Action:  Specify a valid interval qualifier for the
 expression.

INTNOTSYS

 Interval option not valid for system relation area

 Explanation:  The storage area for RDB$SYSTEM was defined to
 have the       interval option.  This is not allowed for
 RDB$SYSTEM.

 User Action:  Remove the interval option from the command and
 try again.

INTONOTALW

 INTO clause is not allowed in this context

 Explanation:  The INTO clause may only be used for a single
 table or view.  It may not be used with a wildcard table or view
 specifiction.

 User Action:  Reenter the CREATE TRANSFER statement without
 specifying an INTO clause or name the tables and views
 individually, each with its own INTO clause.

INTONOTQUAL

 The table name specified in the INTO clause must not be
 qualified

 Explanation:  The user entered INTO xxx.yyy for an extraction
 rollup transfer.

 User Action:  Re-enter the statement without the 'xxx.'

INTQUALINV

 Interval qualifier not valid for this expression

 Explanation:  An interval qualifier was specified for a value
 expression where such a qualifier is illegal.  An interval
 qualifier may only be specified for an interval expression
 yielded by subtracting two datetime value expressions.

 User Action:  Remove the interval qualifier.

INTVALLOW

 Interval value must be at least 256

 Explanation:  The specified interval value for space management
 pages is       too small.  The minimum value is 256 pages.

 User Action:  Change the interval value for space management
 pages on the   CREATE DATABASE statement to a legal value.

INTVALOVR

 Interval value overwritten to 256 pages

 Explanation:  The specified interval value for space management
 pages is       too small.  The minimum value is 256 pages.  SQL
 overwrote      the specified value with 256.

 User Action:  Change the interval value for space management
 pages on the   CREATE DATABASE statement to a legal value.

INT_DEL_FLD_PATH

 Dictionary pathname attribute for field <text> deleted

 Explanation:  The dictionary pathname for a field referred to a
 non-exiting dictionary pathname.  This attribute is being
 deleted since it is false

 User Action:  None

INT_DEL_REL_PATH

 Dictionary pathname attribute for relation <text> deleted

 Explanation:  The dictionary pathname for a relation referred to
 a non-exiting dictionary pathname.  This attribute is being
 deleted since it is false

 User Action:  None We need more informational space.  For now,
 we will intrude upon the Galileo messages.  In future versions,
 we should start an informational and error section after
 existing messages.  So, our message file layout will look
 something like:        +--------------------------------+      |
 Informational V1.0 - 2.0        |
      +--------------------------------+        |       Galileo
 Messages |     +--------------------------------+      |
 Informational V1.0 - 2.0        |
      +--------------------------------+        |       Errors
 V1.0 - 2.0      |      +--------------------------------+      |
 Informational V3.0      |
      +--------------------------------+        |        Errors
 V3.0    |      +--------------------------------+      |
        Informational V4.0       |
      +--------------------------------+        |        Errors
 V4.0    |      +--------------------------------+

INVACL

 Invalid Access Control List entry

 Explanation:  The syntax of the access control list entry string
 is not valid.

 User Action:  Correct the syntax of the access control list
 entry.

INVARRSUB

 Host variable <text> defined with illegal use of subscripts

 Explanation:  The named host variable uses subscripts in a way
 that is illegal for the C compiler.  Most likely the use is
 through a typedef that is defined as an array.

 User Action:  Use a different variable or redefine the type
 structure of the program.

INVATTVAL

 Invalid attribute value.  "<text>" attribute has an invalid
 value

 Explanation:  You specified an attribute with an invalid value.

 User Action:  Change the offending value and try the statement
 again.

INVCHAINP

 Invalid character in input

 Explanation:  The input contains an illegal or unrecognizable
 character.

 User Action:  Correct the source text and resubmit the job.

INVCHANUMSTR

 Invalid character in numeric string

 Explanation:  The string appears to be a numeric literal.
 However, it contains one or more illegal characters.

 User Action:  Correct the source text and resubmit the job.

INVCOLLST

 column list in view definition contains the wrong number of
 names

 Explanation:  The list of column names you specified in a view
 definition contained a different number of names than the number
 of value expressions in the select list of the definition's
 SELECT expression.  There must be a strict one-to-one
 correspondence between the two lists.

 User Action:  Specify the same number of column names in the
 column list as value expressions in the select list.

INVCOLSPC

 Column names must be qualified by table names.

 Explanation:  You must qualify the column name in a COMMENT ON
 COLUMN statement with a table name.

 User Action:  Specify the column name as
 <table-name>.<column-name>.

INVCOMLIN

 Invalid command line

 Explanation:  You specified extra parameters or invalid command
 line syntax in a module language compiler command line.

 User Action:  Specify only supported command line options.

INVCONS

 unable to import constraint <text>

 Explanation:  Internal error - the named constraint will not
 appear in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.  In the meantime,
 you can redefine this constraint explicitly.

INVCORRSL

 Invalid select list in a UNION CORRESPONDING query

 Explanation:  There are 2 columns with the same name in one of
 the    select lists in the UNION CORRESPONDING query expression.
 You cannot specify a column in the other select list with
      that name as well.

 User Action:  Either remove one of the columns with the same
 name from the  select list, or match columns to be combined in
 the UNION      by position rather than name.

INVCSET

 character set in declaration for variable <text> doesn't exist

 Explanation:  You specified a character set that does not exist.
 For lack of a better choice, the module default character set is
 assumed.

 User Action:  Specify a character set that exists.

INVDATCON

 Invalid conversion between DATE column <text> and host variable
 <text>

 Explanation:  Only binary dates can be compared or assigned to
 or from DATE columns.

 User Action:  Use a date declaration for the host variable to be
 used with the date field:  in COBOL, use S9(11)V9(7) COMP; in
 PL/I, use CHAR(8) or BYTE_FIELD(8); in FORTRAN, use CHARACTER*8.

INVDBKREF

 Invalid DBKEY reference

 Explanation:  You can refer to dbkeys only on the right hand
 side of an     assignment or in an equals Boolean.

 User Action:  Remove the invalid dbkey reference.

INVDISXPR

 Invalid DISTINCT expression

 Explanation:  In a function specification, if DISTINCT is
 specified, the value expression must be just a column name.  You
 specified a value expression other than a column name in a
 function with the DISTINCT clause, such as SUM(DISTINCT
 SALARY_AMOUNT * .10).

 User Action:  Change the value expression to a column name or
 remove the DISTINCT clause.

INVESCVAL

 Invalid escape clause value

 Explanation:  The value specified in the escape clause of a LIKE
 predicate      must be a single character string value.

 User Action:  Specify a valid value expression in the escape
 clause

INVFLD

 unable to import field <text>

 Explanation:  Internal error - the named field will not appear
 in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

INVFUNREF

 Invalid function reference

 Explanation:  You cannot include in the WHERE clause (or in any
 subqueries of the WHERE clause) functions that use columns of
 tables in the FROM clause as their argument.

 User Action:  Change your select expression to eliminate
 functions with this type of argument.

INVHVDECL

 Host variable <text> was invalidly declared.

 Explanation:  Every host variable that is used in an SQL
 statement in a program must be declared in the host language
 using the supported subset of declaration syntax for the
 language.  Not using the supported subset causes this error.
 Another way this message can be generated is to use an indicator
 variable that is not a signed word (for example, in COBOL:  PIC
 S9(4) COMP).

 User Action:  Use host variable declaration syntax for this
 variable that is supported by SQL.

INVINDEX

 unable to import index <text>

 Explanation:  Internal error - the named index will not appear
 in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.  In the meantime,
 you can recreate this index explicitly.

INVINTQUAL

 Invalid interval qualifier

 Explanation:  An interval value expresssion yielded an interval
 that could not be presented by the interval qualifier specified
 in the value expression.

 User Action:  Examine the data types of the expression and the
 interval qualifier to determine where the discrepency lies.  For
 example, the subtraction of two time value expressions cannot be
 qualified by YEAR TO MONTH.

INVLENHV

 Only a numeric variable may be used receive the length

 Explanation:  You used a variable which was not numeric.  This
 is not supported.

 User Action:  Either omit the argument to receive the length, or
 use a numeric

INVNODESIZE

 Invalid node size parameter specified

 Explanation:  You specified an invalid node size.  It was either
 less than or equal to zero or greater than 32768.

 User Action:  Review the command and specify a node size within
 the above range (but big enough to meet the implementation
 requirements).

INVNUMLIT

 <text> is an invalid numeric literal

 Explanation:  An invalid numeric literal was specified which
 could not be converted to a numeric value.  This is usually
 because it is to big to fit into any VAX data type without
 losing significance.

 User Action:  Change the literal to be a valid numeric literal.

INVNUMSTRPRE

 Invalid numeric string precision (<value>), maximum precision is
 (<value>)

 Explanation:  You specified a precision for a NUMERIC, UNSIGNED
 NUMERIC, or DECIMAL field that exceeded the maximum.

 User Action:  Specify a precision that is less than the maximum.

INVOBJFIL

 Invalid object file <text> specified

 Explanation:  SQL uses the same directory specification and file
 name for any files it creates (such as the language files) as
 that specified in the /OBJECT qualifier on the command line.
 You specified a nonexistent or invalid file specification
       for the /OBJECT qualifier.

 User Action:  Use a valid object file specification with the
 /OBJECT qualifier.

INVORDNUM

 ORDER BY number is less than 1 or exceeds count of select-list
 items

 Explanation:  The number in the ORDER BY clause, used to specify
 which expression from the select list to sort by, is bigger than
 the number of items in the select list or it is below 1.

 User Action:  Use a number which corresponds to an item in the
 sort list.

INVPERCENTFILL

 Invalid percent fill parameter specified

 Explanation:  You specified an invalid percent fill parameter.
 It was either less than or equal to zero or greater than 100.

 User Action:  Review the command and specify a percent fill
 parameter within the above range.

INVPICN

 PIC N and CHARACTER SET specified for <text>.  What does this
 mean?

 Explanation:  You declared the variable with both a character
 set and N as the picture character.

 User Action:  Use either PIC N or CHARACTER SET PIC X, but not
 both.

INVPRIV

 Invalid privilege for this object

 Explanation:  You used the ENTRY keyword with the GRANT
 statement.  ENTRY is supported for REVOKE only.  Or, a GRANT or
 REVOKE statement specified for a database privilege which is
 valid only for tables, or specified for a table a privilege
 which is valid only for a database.

 User Action:  Do not use ENTRY with GRANT.  Or, make sure that
 the privileges you specify in GRANT or REVOKE are valid for the
 object (database or table) named.

INVPRIVNAMES

 Invalid privilege names specified in message file

 Explanation:  The names specified in PRIV_NAMES0 and PRIV_NAMES1
 are incorrect.

 User Action:  Submit an SPR or contact your support center.

INVQUAL

 Invalid qualifier <text> specified on command line

 Explanation:  You specified invalid command qualifiers in a
 module language compiler command line.

 User Action:  Specify only supported command line qualifiers

INVREFCLA

 Invalid referencing clause

 Explanation:  You specified a referencing clause on a trigger
 which is not   for update.  The referencing clause is only valid
 if the trigger         is invoked on updates.

 User Action:  Remove the referencing clause.

INVRELVIEW

 unable to import table or view <text>

 Explanation:  Internal error - the named relation or view (and
 its data) has been lost.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

INVRNG

 Invalid range.  You specified <text>.  Valid range is from
 <value> to <value>

 Explanation:  You specified a value that was out of range.

 User Action:  Use a number that is in the specified range.

INVRTOSTM

 Invalid SQL statement with the Runtime license

 Explanation:  You referred to an interactive SQL statement that
 is not         valid with the Runtime Only license for VAX
 Rdb/VMS

 User Action:  Upgrade your license to get full functionality
 from   the interactive SQL interface.

INVSEGVAL

 Value for a list segment must be either a parameter or literal
 string

 Explanation:  The value for a list segment was something other
 than a literal string or a parameter.

 User Action:  Replace the value with one of the two valid
 parameters types.

INVSELLIS

 Select list cannot mix columns and functions without GROUP BY

 Explanation:  The select list in a select expression without a
 GROUP BY clause cannot include both functions and column
 references which are not in functions.

 User Action:  Either add a GROUP BY clause, remove the function
 references, or remove the column references that are not in
 functions.

INVSELSTAR

 * is not allowed in this context

 Explanation:  You specified a column wildcard (* or p.*) in a
 context where wildcards are not supported, such as outside a
 select list or in a select list for a select expression
 containing a HAVING clause but no GROUP BY (in such a case, you
 cannot specify columns, either, unless they are an argument to a
 function).

 User Action:  Replace the wildcard with the column name you want
 to use.

INVSQLCODE

 SQLCODE has an invalid data type

 Explanation:  SQLCODE must be declared as a signed longword.
 The declaration of SQLCODE in this program is a different data
 type.

 User Action:  Change the data type of SQLCODE.

INVSSCONV

 Invalid conversion for list column <text>

 Explanation:  You attempted to do an assignment using a list.

 User Action:  Do not use lists.

INVSSHAN

 Invalid segmented string handle

 Explanation:  The host variable supplied to hold a segmented
 string handle must be at least 4 bytes long.

 User Action:  Specify a larger host variable.

INVSTRLEN

 Host variable <text> is defined as CHAR[1] and cannot be used in
 SQL statements.

 Explanation:  The named variable is defined as CHAR[1].  The
 length of character variables used in SQL statements must be at
 least 2 since SQL always includes a NULL terminator.

 User Action:  Use a different variable.

INVTRG

 Unable to IMPORT trigger <text>

 Explanation:  This is an internal error.  The named trigger will
 not appear in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.  In the meantime,
 you can redefine this trigger explicitly.

INVTRISTMT

 Invalid triggered statement

 Explanation:  You specified a statement or clause in a triggered
 statement      list which is not supported.  Examples of such
 statements are:         -      any statement other than DELETE,
 INSERT, UPDATE,                ROLLBACK or error statement.
 - a WHERE CURRENT OF clause in an UPDATE or DELETE
         statement.      -      a RETURNING clause on an INSERT
 statement.

 User Action:  Remove the invalid statement or clause

INVTYPE

 Host variable <text> is based on an invalid type

 Explanation:  The host variable you referred to is based on a
 type which is either not a supported type definition or was
 invalidally declared.

 User Action:  Use a different type defintion.

INVVALLIS

 The value list must have as many items as the column list

 Explanation:  An INSERT statement must have as many values in
 the value list as there are in the column list.  You specified
 the wrong number of items.  Note that if there are any host
 structures in the value list, they will be expanded to include
 their elementary items.  In that case, to get the number of
 items in the value list, you must count the elementary items for
 all the host variables.

 User Action:  Enter the correct number of values.

IOERROR

 an unexpected I/O error occurred

 Explanation:  Unable to read any more of the Rdb/VMS interchange
 file (.RBR); part of the database may be imported.

 User Action:  Correct the problem indicated by the message that
 follows this message and try the operation again.

ISQLINTO

 Interactive SQL does not support the INTO clause in SELECT or
 FETCH

 Explanation:  SELECT and FETCH statements in interactive SQL
 cannot include INTO clauses, since interactive SQL does not
 support host variables.

 User Action:  Enter the statement again, without the INTO
 clause, to display the values on the terminal.

JOITOOBIG

 Query joins too many tables

 Explanation:  A join contained too many tables.

 User Action:  Rewrite the query to use fewer tables.

JUNONLIN

 Extraneous characters found after the end of the statement

 Explanation:  You typed extra characters after the end of the
 statement.

 User Action:  Check statement syntax for correct statement
 termination.

KEYTOIDENT

 Nonstandard -- You used a keyword as an identifier

 Explanation:  You specified an SQL keyword in a place where it
 is not         a valid keyword, but where an identifier may be
 specified.     The keyword will be used as an identifier.

 User Action:  None, this is an informational message.  However,
 note that      you will not be able to specify this identifier
 in any context         where the keyword may appear.

LANFILEXT

 <text> is the language file extension, please use another
 extension

 Explanation:  The input file type you specified to the
 precompiler is the same file type as the output file type.

 User Action:  Rename the file with the default file
 specifications and run the precompiler again.  Refer to the
 default file specifications in the Guide to Using SQL.

LANSWIVAL

 Value not allowed on the language qualifier

 Explanation:  The SQL precompiler requires a language qualifier
 (such as /COBOL) to specify the host language.  However, you
 specified a value with that qualifier (such as COBOL=3), which
 is not allowed.

 User Action:  Remove the value from the language qualifier.

LANUNSDSCDTP

 <text> does not pass the data type for parameter <text> by
 descriptor

 Explanation:  The language specified in the LANGUAGE clause of
 the module will not support the data type specified for this
 parameter by descriptor.  However, you can build a descriptor as
 a record and pass the descriptor.  Hence, this is only a
 warning.

 User Action:  If you did not intend to pass the data type by
 descriptor, change the passing mechanism in the SQL module and
 in the host language.

LANUNSDTP

 <text> does not support the data type for parameter <text>

 Explanation:  The language specified in the LANGUAGE clause of
 the module does not support the data type specified for this
 parameter.

 User Action:  If you did not intend to use a data type the
 language does not support, change the data type to one the
 language supports.  If you know the language does not support
 the data type, you can use it anyway.  This is is only a warning
 message.

LCKTMOUTIS

 LOCK TIMEOUT INTERVAL is <value> seconds

 Explanation:  Used in import

 User Action:  None.

LENMISMAT

 Truncating right hand side string for assignment to column
 <text>

 Explanation:  You executed an INSERT or UPDATE statement, and
 the string you assigned to a text column is longer than the
 column's definition.

 User Action:  The message is just a warning.  You can issue an
 UPDATE statement to change the value stored or a ROLLBACK
 statement to terminate the transaction and cancel the INSERT
 operation.

LIMFIXINT

 LIMIT TO must specify an unscaled fixed numeric

 Explanation:  The "n" in LIMIT TO n ROWS must be a literal,
 parameter or host variable of an unscaled fixed numeric data
 type.

 User Action:  Change the LIMIT TO clause to use an unscaled
 fixed numeric data type for the row limit, n.

LINETOOLONG

 Input line was too long

 Explanation:  The module language or procompiler source file
 contained a line which was too long for the input buffer.

 User Action:  Split the offending line into two or more
 different lines.

LISTNOTVAL

 List data type is not valid for parameter or variable

 Explanation:  It is illegal to define a parameter or variable
 with a data type of list

 User Action:  Use another data type.

LIT_EXCEPT

 Truncation of a numeric value at compiletime

 Explanation:  SQL encountered an error trying to convert a
 numeric literal in the precompiler or module compiler to the
 data type of the field it was used with.

 User Action:  Change either the literal or field so that the
 literal can be assigned to the field

LOGBACDAT

 it was logically exported on <text>

 Explanation:  Information about where the Rdb/VMS interchange
 file (.RBR) was created.

 User Action:  None.

LOOK_FOR

 Syntax error, looking for <text>, found <text> instead

 Explanation:  The syntax expected a specific keyword, but you
 entered another.

 User Action:  Check the syntax and reenter the correct keyword.

LOOK_FOR_CON

 <text>

 Explanation:  This message lists syntactically legitimate
 alternatives.

 User Action:  Consider options from the list.

LOOK_FOR_FIN

 found <text> instead

 Explanation:  Last of three messages generated by syntax errors,
 this message shows the invalid syntax that SQL encountered.

 User Action:  Reenter the statement, or use EDIT to correct it.

LOOK_FOR_STMT

 Syntax error, looking for a valid SQL statement, found <text>
 instead

 Explanation:  SQL did not find the beginning of a statement
 where it expected one.

 User Action:  Supply a valid statement.

LOOK_FOR_STT

 Syntax error, looking for:

 Explanation:  The syntax expected one of several valid
 possibilities, list follows.

 User Action:  Consider options from the list in the next
 message.

LOOK_FOR_UNTERM

 Syntax error, looking for <text>, found <text> instead

 Explanation:  This is issued with a SQL-F-BUGCHK because it
 indicates that a severe error has occurred in the syntax tables.

 User Action:  Record the exact command line as typed, (use EDIT
 to write it to a file) and submit an SPR.  Then consider finding
 a workaround.

LOWCASNOTALL

 Identifier <text> contains characters not allowed in SQL
 identifiers

 Explanation:  You supplied lower case letters in a delimited
 (double-quoted)        identifier.  This is not currently
 supported by SQL.

 User Action:  Change lower case letters to upper case in
 delimited identifiers

LOW_ORD_LOS

 Reducing the scale of column <text> may result in the loss low
 order precision

 Explanation:  Altering the scale of a column may result in the
 perceived loss         of data stored in that column due to
 rounding.

 User Action:  None.  This is a warning message.

LSTCURSTA

 Cursor statement has active list cursor statements

 Explanation:  You executed a RELEASE statement on a a cursor
 statement while list cursors defined based on that cursor exist.

 User Action:  Release all of the list cursor statements before
 executing this statement.

LSTNOTNUL

 List column must be NULL to insert a new list

 Explanation:  An attempt was made to insert a new list into an
 existing list.

 User Action:  First delete the list with the DELETE LIST
 statement.

LSTREFAMB

 Column referenced in List Cursor is ambiguous in Table Cursor

 Explanation:  The field specified in the list cursor select
 statement was mentioned in more than one select expression in
 the table cursor definition.

 User Action:  Specify a table cursor where the list reference
 isn't ambiguous.

L_PAGE_HEAD_2

 * <date-and-time> <text>

 Explanation:  Used to output page headers in module language
 listing files.  --

MAJORVER

 major version number:  <value>

 Explanation:  Information about the software version that
 created the Rdb/VMS interchange file (.RBR).

 User Action:  None.

MAXFLDPRTSTR

 Maximum number of columns for table in SELECT * is <value>

 Explanation:  You used the column wildcard (*) in the select
 list for a table that has too many columns.

 User Action:  Name a subset of the columns explicitly in the
 select expression.

MAXNESEXC

 Maximum allowed statement nesting level exceeded

 Explanation:  You exceeded the maximum allowed nesting of
 subqueries.

 User Action:  Reduce the nesting level.

MAXORDEXC

 The maximum number of ORDER BY columns (<value>) was exceeded

 Explanation:  You have exceeded the maximum number of columns
 permitted in the ORDER BY clause.

 User Action:  Reduce the number of columns to be less than or
 equal to the maximum.

MAXRELEXC

 Maximum number of tables allowed in SELECT exceeded

 Explanation:  You exceeded the maximum number of tables allowed
 in the FROM clause of a select expression.

 User Action:  Reduce the number of tables named in the FROM
 clause.

MINGTRMAX

 Minimum mapping value greater than maximum value

 Explanation:  You have supplied a minimum mapping value that is
 larger than    the maximum mapping value.

 User Action:  Correct the error and try the command again.

MINORVER

 Minor version number:<value>

 Explanation:  Information about the software version that
 created the Rdb/VMS interchange file (.RBR).

 User Action:  None.

MINUSDATINT

 Operand of unary minus must be interval

 Explanation:  You used a unary minus operator with a datetime
 operand.  Only intervals and numerics may be negated.

 User Action:  Change the expression to use a different operator
 or operand.

MISREQVAL

 <text> must have a value

 Explanation:  No value was specified for a qualifier that was
 which must have a value.

 User Action:  Correct the command line syntax error, specifying
 a value for the qualifier.

MISSINGNAME

 The schema name or authorization clause was missing

 Explanation:  The CREATE SCHEMA statement requires either a
 schema name or authorization clause.  Neither was specified.

 User Action:  Reenter the CREATE SCHEMA statement making sure to
 include a schema name or authorization clause.

MIXTABLIS

 Incorrect STORE CLAUSE type for this storage map

 Explanation:  You specified a LIST storage clause when altering
 a table        storage map or a TABLE storage map option when
 altering a     LIST storage map.

 User Action:  Only try to change attributes which are
 appropriate for the    kind of storage map you are altering

MLTDFNRTN

 Routine <text> is multiply defined

 Explanation:  A routine name was seen more than once in a Pascal
 program        but the previous declaration was not marked as
 FORWARD.

 User Action:  Remove the duplication of routine names and
 re-precompile

MODTOOOLD

 Module not compatible with session

 Explanation:  The SQL module (either Module Language or Embedded
 SQL) containing the procedure returning the error was compiled
 prior to Rdb V4.1 and is trying to participate in a session
 other than the implicit session.

 User Action:  Recompile the module containing the procedure and
 relink the application.

MOVENOCOLS

 Relation <text> has no valid columns to move

 Explanation:  None of the fields for the specified relation
 could be moved.  Each of those invalid fields caused a warning
 message to be displayed, but with no valid fields remaining, the
 transfer definition may not proceed.

 User Action:  Re-enter the transfer definition with one or more
 valid columns.

MULDIMARR

 Host variable <text> is a multi-dimensioned array

 Explanation:  The SQL precompilers do not support references to
 multi-dimensioned arrays.

 User Action:  Assign the value in the multi-dimensioned array to
 a field which is not in a multi-dimensioned array before using
 it in an SQL statement or passing it into a module language
 procedure.

MULSPECATR

 Attribute is specified redundantly

 Explanation:  You specified a field attribute more than once.
 Because SQL can not determine which attribute to use, it rejects
 it.

 User Action:  Respecify the definition without the redundant
 clauses.

MULTSPECATR

 Multiple specified attribute.  "<text>" was specified more than
 once

 Explanation:  An attribute was specified more than once in a
 conflicting manner.

 User Action:  Remove conflicts and try the statement again.

MULT_STRUCT

 Host variable <text> is based on a structure defined more than
 once.

 Explanation:  The named host variable is based on a structure
 that is defined more than once in the file being precompiled.
 Either the user defined the structure more than once in a single
 C procedure (which is illegal in any C program), or there is
 more than one procedure that defines the structure (legal in C,
 but the SQL C precompiler does not recognize that the structures
 are in two different procedures and generates this error).

MUL_UIC

 Multiple UIC in ACL entry

 Explanation:  You used more than one user identification code
 (UIC) in an ACL entry.

 User Action:  Use only one UIC in ACL entry.

MVMULTITARG

 <text> cannot be a target for more than one move clause

 Explanation:  The user entered a transfer with more than one
 move clause specifying the named target as the target.  Note
 that even if an into clause is not specified, the target name,
 taken from the source table name, must be unique.

 User Action:  Re-enter the statement making sure that tables
 specified in INTO clauses are unique and do not duplicate names
 of source tables without INTO clauses.

MVRELABSNT

 no MOVE RELATION clause is specified in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have not specified any MOVE RELATION
 clause.

 User Action:  Since a MOVE RELATIONS ALL clause is not allowed
 in this context, you have to explicitly specify the MOVE
 RELATION clauses.  Reenter the CREATE TRANSFER statement by
 specifying the MOVE RELATION clauses explicitly.

NAMCONF

 the database pathname <text> is the same as another dictionary
 entity

 Explanation:  The name chosen for the database is the same as
 another dictionary entity of a different type.

 User Action:  Choose a different name.

NAMTOOBIG

 The name <text> is longer than the <value> character maximum

 Explanation:  You specified a name which is longer than the
 maximum supported length for names in this context.

 User Action:  Use a shorter name.

NEG_DIM

 Host variable <text> has a negative dimension.

 Explanation:  The size of this array is less than or equal to
 zero.

 User Action:  Only use positive dimensions.

NESFUNINV

 Functions may not be nested

 Explanation:  Functions cannot contain other functions in their
 arguments.  For example, AVG(COUNT(DISTINCT(CITY)) is illegal.

 User Action:  Do not nest functions.

NESINCFIL

 Cannot include file <text> from another included file

 Explanation:  You attempted to nest INCLUDE file-spec
 statements.  Source code files specified in an INCLUDE file-spec
 statement cannot themselves contain nested INCLUDE file-spec
 statements.

 User Action:  Move the INCLUDE statement to the main program.

NESQRYEXP

 Column select expression was expected

 Explanation:  You supplied something besides a column select
 expression where SQL expected one.

 User Action:  Correct the syntax error.

NO1ST

 LIMIT TO clause is not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify a LIMIT TO clause in an
 INSERT or LIST CURSOR.

 User Action:  Remove the LIMIT TO clause.

NOAGGALL

 aggregate expressions are not allowed in MOVE RELATION clauses

 Explanation:  You entered a MOVE RELATION clause that contained
 an aggregate expression.  The MOVE RELATION clause only allows
 an operator, literal value, or field name.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the CREATE TRANSFER statement with a correct
 MOVE RELATION clause.

NOALTER

 No attributes specified for ALTER <text>

 Explanation:  The user specified an ALTER DOMAIN statement or an
 ALTER TABLE ALTER column-name clause without specifying any
 attributes.

 User Action:  Specify something to change.

NOANYALL

 ANY and UNIQUE are not allowed in a MOVE RELATION clause

 Explanation:  You entered a MOVE RELATION clause containing ANY
 or UNIQUE.  The MOVE RELATION clause only allows an operator,
 literal value, or field name.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the CREATE TRANSFER statement with a correct
 MOVE RELATION clause.

NOBATCHUPDATE

 BATCH UPDATE is not allowed without setting of <text> logical
 name

 Explanation:  BATCH UPDATE transactions are not allowed with 2PC
 turned on.  2PC is only turned off by setting the logical name
 named in the message to "TRUE".

 User Action:  If you want to migrate the application without the
 use of of context items (i.e.  2PC/DDTM) and allowing BATCH
 UPDATE transactions, define the logical name to "TRUE".
 Otherwise, you should change the BATCH UPDATE option to another
 transaction option.

NOBATUPD

 BATCH_UPDATE is not supported in the SQL interface to Rdb/VMS

 Explanation:  A DECLARE TRANSACTION statement specified the
 BATCH_UPDATE transaction mode.  The SQL interface to Rdb/VMS
 does not support BATCH_UPDATE.

 User Action:  Replace BATCH_UPDATE with READ_WRITE reserving the
 tables you want to update with EXCLUSIVE WRITE locking.

NOBCKFIL

 export file <text> not created

 Explanation:  An error has occurred during creation of the
 EXPORT file.

 User Action:  Follow actions directed by the corresponding RMS
 error.

NOBCKTRNS

 you cannot EXPORT a database from within a transaction

 Explanation:  You typed EXPORT from inside a transaction.

 User Action:  End the transaction and try again.

NOBUCTXPARM

 BATCH UPDATE not allowed in procedure with CONTEXT parameter

 Explanation:  Your source contains a SET TRANSACTION statement
 in a procedure which will have a context parameter added to it.
 This is not allowed.

 User Action:  Change the transaction options to use something
 other than BATCH UPDATE or compile the module without the
 /CONTEXT=ALL qualifier or remove the name of this procedure from
 the list of procedures to receive a context parameter.

NOBUUSINGCTX

 BATCH UPDATE not allowed in statement with USING CONTEXT

 Explanation:  Your source contains a SET TRANSACTION statement
 with a USING CONTEXT clause.  This is not allowed.

 User Action:  Change the transaction options to use something
 other than BATCH UPDATE or remove the USING CONTEXT clause from
 the statement.

NOCATRES

 Unable to import catalog <text>

 Explanation:  Could not import this catalog.  See the following
 message (subcodes).

 User Action:  Correct the problem and try the operation again.

NOCDD

 There is no data dictionary on this system.  Specify FILENAME in
 the DECLARE ALIAS or ATTACH statement

 Explanation:  You declared or attach to a database with a data
 dictionary path name, but there is no data dictionary running on
 this system.  You must declare or attach to the database using a
 file name.

 User Action:  Declare or attach to the database by file name.

NOCDDALT

 There is no data dictionary on this system.  Specify FILENAME in
 the ALTER DATABASE statement

 Explanation:  You altered a database with a data dictionary path
 name, but there is no data dictionary running on this system.
 You must alter a database using a file name.

 User Action:  Alter the database with the database file name.

NOCDDRES

 the data dictionary will not be updated

 Explanation:  You cannot store the database information in the
 data dictionary.  See the following message.

 User Action:  Correct the problem and try the operation again.

NOCDDUPDAT

 Database invoked by filename, the data dictionary will not be
 updated

 Explanation:  You issued a data definition statement after
 invoking by file name

 User Action:  This is a warning.  You can ROLLBACK and invoke
 the database by specifying the path name.  This ensures that
 data definitions are updated both in the data dictionary and in
 the database itself.

NOCMPBYRES

 computed field <text> in relation <text> not imported

 Explanation:  You specified a computed field in your database
 that could not be imported.  Perhaps the field references other
 fields and relations that were deleted from the database by an
 older version of the software that would have permitted such a
 thing.

 User Action:  You must investigate the problem further.  The
 table should have been properly imported except for the listed
 column.

NOCMPINTDY

 INTERVAL DAY-TIME and INTERVAL YEAR-MONTH are not comparable

 Explanation:  You tried to compare a value of type INTERVAL
 DAY-TIME       with a value of type INTERVAL YEAR-MONTH.  These
 two    types are not comparable.

 User Action:  Use the CAST function and compare values of the
 same   interval type.

NOCOLALL

 <text> interpreted as column name where none are allowed

 Explanation:  An expression included a string SQL interpreted as
 a column name where a column name does not make sense.  For
 example, specifying a column name in the VALUES clause of an
 INSERT statement generates this error.  Or, omitting quotes
 around a string literal can also generate this error.

 User Action:  Replace the string with a quoted literal or host
 variable, or use a different form of the statement which will
 allow column names.

NOCOLLST

 Specifying a column list is incompatible with WHERE CURRENT OF

 Explanation:  It is illegal to specify both a column list and
 WHERE CURRENT OF.

 User Action:  Remove one of the clauses.

NOCOLNAM

 This view definition must explicitly list column names

 Explanation:  You must specify names for all the columns in a
 view if the select expression in the view definition uses
 statistical functions or arithmetic expressions to create
 columns not in the source tables.

 User Action:  Explicitly name each coulumn in the view
 definition.

NOCOLRES

 Unable to import collating sequence <text>

 Explanation:  SQL could not import this collating sequence.  See
 the following message.

 User Action:  Correct the problem and try the operation again.

NOCONNAM

 Cannot create <text> constraint name for table <text>

 Explanation:  SQL tried to create a unique name for a CHECK type
 constraint on the named table.  SQL could not generate a unique
 name for this table.

 User Action:  You can either delete all CHECK constraints for
 this table and then recreate all of the constraints or you can
 specify the DIAGNOSTIC parameter to give the constraint an
 explicit name.

NOCONRES

 unable to import constraint <text>

 Explanation:  Could not import this constraint -- see the
 message that follows.

 User Action:  Correct the problem and try the operation again.

NOCORRCOL

 There are no matching columns in the corresponding select lists

 Explanation:  You specified a UNION CORRESPONING query
 expression in which there were no corresponding columns in the
 two select lists.  There must be at least one column which
 matches.

 User Action:  Either omit the CORRESPONDING keyword, or specify
 at least one pair of columns which match.

NOCPRIRES

 Unable to import privileges on column <text>.<text> for <text>

 Explanation:  SQL could not import these privileges -- see the
 message that follows.

 User Action:  Correct the problem and try the operation again.

NOCSET

 character set <text> does not exist

 Explanation:  You specified a character set that does not exist.
 For lack of a better choice, the database default character set
 is assumed.

 User Action:  Specify a character set that exists.

NOCUROF

 A list specification must have a WHERE CURRENT OF clause

 Explanation:  A list specification requires a WHERE CURRENT OF
 clause and one wasn't specified.

 User Action:  Specify the WHERE CURRENT OF clause.

NODATDIV

 No DATA DIVISION found in COBOL program.

 Explanation:  Every COBOL program that uses embedded SQL must
 have a DATA DIVISION statement.  None was found in your input
 file.

 User Action:  Add a DATA DIVISION statement to your program.

NODATRES

 remaining data for this relation will be ignored

 Explanation:  An error occurred while you attempted to store the
 data; see the following message.

 User Action:  Correct the problem and try the operation again.

NODBHALW

 database handles are not allowed in a MOVE RELATION clause

 Explanation:  You specified a database handle for the record
 selection expression (RSE) in a MOVE RELATION clause.  Inside a
 MOVE RELATION clause, database handles are not allowed for the
 RSE.

 User Action:  Reenter the CREATE TRANSFER statement omitting the
 database handle name.

NODBKALL

 database key references are not allowed in a MOVE RELATION
 clause

 Explanation:  You entered a MOVE RELATION clause that contained
 a database key or a host variable.  The MOVE RELATION clause
 only allows an operator, literal value, or field name.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the CREATE TRANSFER statement with a correct
 MOVE RELATION clause.

NODBKGRO

 There is no DBKEY for a row in a result table with a GROUP BY

 Explanation:  A SELECT expression with a group by clause
 requested the  DBKEY.  There is no DBKEY for a row in a grouped
 table.

 User Action:  Remove the DBKEY reference.

NODBNAME

 A database name was not specified on a DECLARE ALIAS or ATTACH
 statement

 Explanation:  You issued a DECLARE ALIAS or ATTACH statement
 that did not specify a database by file specification or data
 dictionary path name.

 User Action:  Check the syntax of the DECLARE ALIAS or ATTACH
 statement.

NODBSINTXN

 No databases specified for this transaction

 Explanation:  You executed an embedded SET TRANSACTION, but none
 of the aliases declared at compiletime were present in the
 current environment.

 User Action:  Issue a dynamic SET TRANSACTION statement to pick
 up dynamically attached aliases in the environment.

NODECLMOD

 DECLARE MODULE is valid only in plan files

 Explanation:  A Module Language module contains a DECLARE MODULE
 statement.  In Module Language, DECLARE MODULE is restricted to
 plan files.

 User Action:  Put the DECLARE MODULE statement in a plan file.

NODEFDB

 There is no default database

 Explanation:  You specified a table name without an alias but
 there is no default database.

 User Action:  Either attach a default database, or include the
 alias for a database you have attached in the table name.

NODISTINCT

 DISTINCT columns are not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify DISTINCT in an INSERT or
 LIST CURSOR.

 User Action:  Remove the DISTINCT clause.

NODROPSYSCAT

 Catalog <text> may not be dropped

 Explanation:  The named catalog may not be dropped because it
 contains system relations.

 User Action:  Drop individual schemas or objects instead of this
 catalog.

NODROPSYSSCH

 Schema <text> may not be dropped

 Explanation:  The named schema may not be dropped because it
 contains system relations.

 User Action:  Drop individual objects instead of this schema.

NODUPLIVIEW

 view <text> cannot be specified more than once in a transfer
 definition

 Explanation:  You have specified a view name in both a
 move-relations-clause and in a move-views-clause.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying the view either in a move-relations-clause or in a
 move-views-clause but not in both.

NOENTRYPT

 Older SQL version not compatible with compiled SQL

 Explanation:  You tried to run a SQL program under a version of
 SQL that is older than the version that it was compiled under.
 The program also required SQL features not available from the
 older SQL.

 User Action:  Re-compile the program under the older version of
 SQL or run it under the newer version.

NOFILLIST

 SQL does not support lists of files

 Explanation:  You specified a list of module language files on
 the module language command line, or a list of context files on
 the precompiler command line.  SQL does not support lists of
 files.

 User Action:  Specify only one language file and one context
 file on a command line.

NOFLDRES

 unable to import domain <text>

 Explanation:  Could not import this domain.  See the following
 message.

 User Action:  Correct the problem and try the operation again.

NOFSTINREPT

 FIRST clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a FIRST clause.

 User Action:  Reenter the CREATE TRANSFER statement without the
 FIRST clause in the MOVE RELATION clause.

NOGROUP

 GROUP BY clause is not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify a GROUP BY clause in an
 INSERT or LIST CURSOR.

 User Action:  Remove the GROUP BY clause.

NOIDXRES

 unable to import index <text>

 Explanation:  Could not import this index.  See the following
 message.

 User Action:  Correct the problem and try the operation again.

NOIMPTXN

 no implicit transaction to commit or rollback

 Explanation:  The commit or rollback statement was used without
 there being a valid implicit transactin outstanding.  Explicit
 transactions must be terminated via DDTM.

 User Action:  Do not use the commit or rollback statement unless
 there is an implicit transaction outstanding.

NOINCDIC

 The INCLUDE statement with the FROM DICTIONARY clause is not
 supported in <text>

 Explanation:  The INCLUDE statement with the FROM DICTIONARY
 clause is not  supported for languages which do not have an
 equivalent     statement in the language.  An example of this is
 Ada.

 User Action:  Remove the INCLUDE statement with FROM DICTIONARY
 clause.

NOITEMDEF

 unable to define item from command line

 Explanation:  Could not define an item from the command line.
 See the following message.

 User Action:  Correct the problem and try the operation again.

NOLANGFIL

 No input file specified

 Explanation:  You did not specify a file for the precompiler.

 User Action:  Enter the precompiler command line again,
 specifying a file this time.

NOMAPIMPO

 Mapping Values on CREATE INDEX within an IMPORT is not supported

 Explanation:  The data type of the columns used in the index
 must be checked for validation of the mapping values.  Since the
 tables do not exist at this time, their data types cannot be
 checked.

 User Action:  Remove the mapping values from the create index
 and apply them after the import is complete.

NOMAPRES

 unable to import storage map <text>

 Explanation:  Could not import this storage map.  See the
 following message.

 User Action:  Correct the problem and try the operation again.

NOMATCHKEY

 <text> has no matching UNIQUE or PRIMARY KEY constraint

 Explanation:  You specified a referenced column list which does
 not match      the columns specified as the key for any UNIQUE
 or PRIMARY KEY         constraint.  The referenced column list
 must be an exact match         for the key of such a constraint.

 User Action:  Specify a referenced column list that matches a
 key for a      UNIQUE or PRIMARY KEY column, or define a UNIQUE
 or PRIMARY     KEY constraint that matches the referenced column
 list you       specified.

NOMLTIMV

 attempt to move the relation <text> multiple times

 Explanation:  You attempted to specify the same relation name
 more than once in the MOVE clause of a CREATE TRANSFER
 statement.  In a CREATE TRANSFER statement, you cannot move the
 same relation more than once.

 User Action:  Reenter the CREATE TRANSFER statement omitting the
 duplicate MOVE RELATION clause.

NOMLTIMVIEW

 attempt to move the view <text> multiple times

 Explanation:  You attempted to move the named view more than
 once in a CREATE TRANSFER statement.  This action is not
 permitted.

 User Action:  Reenter the CREATE TRANSFER statement, specifying
 each view only once.

NOMODFIL

 No module file specified on command line

 Explanation:  A module language compiler command line must
 include the name of a module file to compile.  This command line
 did not.

 User Action:  Repeat the command line with the name of a module
 file you wish to compile.

NOMOVESYS

 System relations may not be moved

 Explanation:  A system relation was specified in the MOVE TABLES
 clause.

 User Action:  Re-enter the transfer definition without the
 system relation.

NOMVRALL

 MOVE RELATIONS ALL clause is not allowed in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a MOVE RELATIONS ALL clause.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying each relation explicitly in a MOVE RELATION clause.

NOMVVROL

 MOVE VIEWS clause is not allowed in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a MOVE VIEWS clause.

 User Action:  Reenter the CREATE TRANSFER statement without the
 MOVE VIEWS clause.

NONCONARR

 Noncontiguous arrays not supported.

 Explanation:  You have passed a parameter that is a
 noncontiguous array    to the module language.  SQL does not
 support noncontiguous  arrays.

 User Action:  Use contiguous arrays to pass data to the module
 language.

NONOVAL

 Negated qualifiers may not have values

 Explanation:  You specified a value for a qualifier that was
 preceded by NO.

 User Action:  Correct the command line syntax error, removing NO
 or the value.

NONSINGLE_INTO

 An INTO clause is only allowed on a singleton select.

 Explanation:  An INTO clause is not allowed on a query
 specification.

 User Action:  Remove the INTO clause and reissue the SQL
 statement.

NONSTAAMB

 Host variable <text> is ambiguous in the host file

 Explanation:  The ANSI and ISO SQL standards require that host
 variable       names be unique in the entire file being
 preprocessed.          The SQL interface to Rdb/VMS only
 requires it to be unique       in its language scope.  This host
 variable is not unique         in the file.

 User Action:  If it is important to have only standard features
 in your        program, you should change the name of this host
 variable       to make it unique in the file.

NONSTAANSPARM

 Nonstandard omission of colons in module lang parameters

 Explanation:  The /ANSI_PARAMS qualifier was not used to enforce
 the use of colons in module language parameters.  Using the
 default /NOANSI_PARAMS does not conform to the ANSI-89 standard.

 User Action:  If it is important to have your program conform to
 ANSI standard semantics, use the appropriate qualifier to
 enforce use of colons.

NONSTACAS

 Nonstandard use of lowercase

 Explanation:  This token contains lowercase characters.  The
 ANSI and ISO   SQL standards only supports lowercase character
 in quoted strings.

 User Action:  If it is important to have only standard syntax in
 your   program, you should correct this syntax.

NONSTACOB

 COBOL file is not ANSI format

 Explanation:  The file being processed by the SQL COBOL
 precompiler is not     in ANSI format, or, if it is in ANSI
 format, you did not    specified the /ANSI switch.  The ANSI and
 ISO SQL standards      require that all precompiled COBOL
 programs be in ANSI format.

 User Action:  If it is important to have your program in a
 standard format,       you should convert your program to ANSI
 format.        See the VAX COBOL Reference Manual for a
 definition of what     ANSI and TERMINAL formats are and how to
 convert between them.

NONSTACOL

 Column <text> has a nonstandard data type

 Explanation:  You referred to a column whose data type is not
 included       in the ANSI and ISO SQL standards.

 User Action:  If it is important to have only standard features
 in your        program, you should change the data types of
 these columns  to be an standard data type.

NONSTACOLQUAL

 Nonstandard qualifier used with column name

 Explanation:  Additional qualifiers were supplied with a column
 name.  In certain statements the standard does not allow column
 names to be qualified.

 User Action:  If it is important to have your program conform to
 ANSI standard semantics, remove the extra qualifiers.

NONSTACON

 The standard does not permit this data type conversion

 Explanation:  You are comparing, assigning or unioning to
 expressions with       different data types.  These two
 expressions must be converted  to a common data type.  The ANSI
 and ISO SQL standards do       not support this conversion.

 User Action:  If it is important to have only standard features
 in your        program, you should change your statement to use
 supported      conversions.

NONSTACUC

 The standard requires columns merged by UNION be identical

 Explanation:  The ANSI and ISO SQL standards require that
 columns which  are being merged into a single result column by a
 UNION  clause must have identical definitions; that is, they
 must   have the same data type, length, scale, and so on.  The
 column pointed to is not identical to the column with which
    it is being merged.

 User Action:  If it is important to have only standard features
 in your        program, you should change the data types of
 these columns  to be identical, or remove the UNION from your
 program.

NONSTACUR

 Cursor <text> has a nonstandard type

 Explanation:  You referred to a cursor of a type not included
  in the ANSI and ISO SQL standards.

 User Action:  If it is important to have only standard features
 in your        program, you should not use this type of cursor.

NONSTADIS

 The standard only permits one DISTINCT clause in a select
 expression

 Explanation:  You entered a select expression which either has
 two    functions with DISTINCT clauses, or has a DISTINCT clause
 for the entire select list and a DISTINCT in a function.
      The ANSI and ISO SQL standards do not support multiple
    distinct clauses.

 User Action:  If it is important to have only standard features
 in your        program, you should remove one of the distinct
 clauses.

NONSTADTP

 Nonstandard data type

 Explanation:  The data type indicated or the data type of the
 column indicated       is not included in the current ANSI and
 ISO standards for SQL.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTADYN

 The SQL standard does not include the dynamic interface

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  The standard does
 not define the         dynamic interface.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTAHV

 Host variable <text> has a nonstandard declaration

 Explanation:  The ANSI and ISO SQL standards only require that a
 small subset of host language data declarations be
     supported.  The declaration for this host variable
         uses language features which the standards do not
 require.

 User Action:  If it is important to have only standard features
 in your        program, you should change the definition of this
 host   variable.

NONSTAINVOKER

 Invoker not restricted to definer

 Explanation:  The /RESTRICT_INVOKER or
 /SQLOPTIONS=RESTRICT_INVOKER qualifier was not used to restrict
 the invoker to be the definer of a module.  That is, any user
 may invoke this module, but in order to conform to ANSI, only
 the definer of the module may invoke it.  The definer is
 considered to be the user who compiles a module or the user
 specified by the AUTHORIZATION clause of the module language.

 User Action:  If it is important to have your program conform to
 ANSI standard semantics, use the appropriate qualifier to
 invoker restricting.

NONSTANAM

 Nonstandard name

 Explanation:  This name is not a valid name in the ANSI and ISO
 SQL    standards.  It is either longer than 18 characters
      or contains a $.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTAOKW

 Nonstandard syntax -- required keyword or clause omitted

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  The standard
 requires a clause or   keyword which is optional in the SQL
    interface to Rdb/VMS.  You have omitted that        clause or
 keyword.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTAPHY

 The SQL standard does not specify the physical database

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  The standard does
 not define physical    objects.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTAQUO

 Nonstandard quote character

 Explanation:  This informational message is generated by either
 of two         situations:     - The ANSI and ISO SQL standards
 require the single quotation    mark (') character.  You used
 the double quotation mark (")   character.     - ANSI requires
 continuation be done by language rules, which   in COBOL means
 the first character on the line being   continued must be a
 double quotation mark (").  You used    a single quotation mark
 (').

 User Action:  If it is important to have only standard syntax in
 your   program, correct this syntax.

NONSTARSW

 <text> is a SQL reserved keyword:  its use as an identifier is
 non-standard

 Explanation:  According to SQL89 and SQL2, no nondelimited
 (unquoted)     identifier can be a SQL reserved keyword.  If a
 SQL keyword    must be used, it must be delimited by double
 quotes.  This  bypasses keyword checking in the scanner.

 User Action:  If it is important to have only standard features
 in your        program, change the identifier so that it is not
 a SQL keyword.         If the identifier must be the same as a
 SQL keyword, delimit   it with double quotes (e.g.  DOUBLE
 becomes "DOUBLE")

NONSTASCL

 Nonstandard scale.  Your scale (<value>) exceeds the precision
 (<value>)

 Explanation:  The scale specfied exceeds the precision.  The
 current ANSI   and ISO standards for SQL require a scale less
 than or equal  to the precision.

 User Action:  If it is important to have only standard syntax in
 your   program, you should have scale less than or equal to
 precision.

NONSTASM

 The SQL standard does not include schema manipulation

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  The standard does
 not define the         schema manipulation language.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTASYN

 Nonstandard syntax

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTATXN

 The SQL standard does not specify how to control transaction
 characteristics

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  The standard does
 not specify how        transaction characteristics are to be
 defined.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NONSTAUNI

 The standard only permits UNION outside of subqueries in DECLARE
 CURSOR

 Explanation:  You have included a UNION in a context in which
 the ANSI       and ISO SQL standards do not support.  Only
 DECLARE CURSOR         statements may have a UNION in the
 standard.

 User Action:  If it is important to have only standard features
 in your        program, you should remove this UNION clause.

NONSTAVIA

 Nonstandard feature for integration with other Digital products

 Explanation:  The syntax indicated is not included in the
 current ANSI and       ISO standards for SQL.  This is a feature
 which is provided      for compatability with other Digital
 products such as       Datatrieve and CDD/Plus.

 User Action:  If it is important to have only standard syntax in
 your   program, you should remove this syntax.

NOOPENCUR

 There is no OPEN procedure for cursor <text>

 Explanation:  There are no OPEN procedures for this cursor.  A
 module must have exactly one procedure which opens a particular
 cursor.

 User Action:  Add a procedure which opens this cursor.

NOORDER

 ORDER BY clause is not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify a ORDER BY clause in an
 INSERT or LIST CURSOR.

 User Action:  Remove the ORDER BY clause.

NOPASQLDA

 SQLDA is not supported in Pascal

 Explanation:  The Pascal precompiler does not support the SQLDA
 data structure         or the dynamic interface.

 User Action:  Remove all references to SQLDA in your program.
 If the SQL     Dynamic interface is required with Pascal, use
 the SQL module         language.

NOPHYSMULSCH

 The physical multischema attribute was not specified for the
 database

 Explanation:  You attempted to attach to a database using
 multischema naming but the database was not physically enabled
 for it.

 User Action:  Either ALTER the database and enable multischema
 or do not attempt to attach it for multischema naming.

NOPRECOMPSEL

 No precompiler selected

 Explanation:  You invoked the precompiler without specifying the
 language option desired.

 User Action:  Specify a switch or file extension.

NOPRIMKEY

 Table <text> has no primary key

 Explanation:  You omitted the referenced column list in a
 referential    constraint for which the referenced table has not
 primary key.   If the referenced table has no primary key, you
 must specify   a column list which matches the columns in a
 unique constraint.

 User Action:  Add a referenced column list, or define a primary
 key for the    referenced table.

NOPROC

 SQL statements must follow a procedure declaration

 Explanation:  SQL statements must come after a procedure
 statement.  This statement was found before any procedure
 statement.

 User Action:  Put your SQL statements inside a procedure.

NOPRVMVIEW

 insufficient privilege to transfer the view <text>

 Explanation:  You attempted to transfer the named view without
 READ privilege on the view.  You must have READ privilege on the
 view to be able to transfer the view in a CREATE TRANSFER
 statement.

 User Action:  Reenter the CREATE TRANSFER statement excluding
 the named view.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.

NOPRVMVREL

 insufficient privilege to transfer the relation <text>

 Explanation:  You specified a relation for which you do not have
 READ privilege.  You must have READ privilege on the relation to
 transfer the relation in a CREATE TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement excluding
 the named relation.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.  Also consult your database
 administrator.

NOPRVREPLI

 insufficient privilege to CREATE a replication transfer

 Explanation:  You attempted to CREATE a replication transfer
 without CREATE privilege on the source database.  To CREATE a
 replication transfer, you must have CREATE privilege on the
 source database.

 User Action:  Check the VAX Rdb/VMS Reference Manual for details
 on PROTECTION statements.  See your database administrator to
 obtain CREATE privilege.

NOPRVROLMVR

 insufficient privilege to transfer the relation <text>.<text>

 Explanation:  You specified a relation for which you do not have
 READ privilege in the specified database.  You must have READ
 privilege on the relation to transfer the relation in a CREATE
 TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement excluding
 the named relation.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.  Also consult your database
 administrator.

NORDBPRIV

 GRANT or REVOKE specified only unsupported privileges

 Explanation:  A GRANT or REVOKE statement specified only
 unsupported DB2 privileges.  It has no effect.

 User Action:  None.  SQL ignores the statement.  However, to
 avoid this message, either remove the statement or add some
 supported privileges to it.

NOREDINREPT

 REDUCE clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a REDUCE clause.

 User Action:  Reenter the CREATE TRANSFER statement without the
 REDUCE clause in the MOVE RELATION clause.

NORELFOU

 No relation found for map <text>

 Explanation:  The map name given has no table in the database or
 schema.

 User Action:  Use the correct map name.

NORELRES

 unable to import table <text>

 Explanation:  Could not import this table.  .  See the following
 message.

 User Action:  Correct the problem and try the operation again.

NOREMVER

 remote node or version number is not allowed in a log file name

 Explanation:  You used a node name or a version number in the
 log file specification of a CREATE TRANSFER statement.

 User Action:  Reenter the CREATE TRANSFER statement using a log
 file specification that does not contain a node name or a
 version number.

NOREPSQLDA

 Cannot represent using SQLDA.

 Explanation:  An SQLDA was used, and either the length of the
 derived column name was greater than 30 octets, the data type
 was DATETIME or INTERVAL, or the data type was character and the
 character set was not the default one-octet character set or the
 maximum length in octets excedes 32767.

 User Action:  Use an SQLDA2 or change the code to conform to the
 limitations of an SQLDA.

NORETURN

 Specifying a RETURNING clause is incompatible with a positioned
 insert statement

 Explanation:  It is illegal to specify a RETURNING clause with a
 positioned insert.

 User Action:  Remove the RETURNING clause.

NOROCOL

 Read only column expressions are not allows in an INSERT or LIST
 CURSOR

 Explanation:  A column expression specified something other than
 a simple column reference such as an expression.

 User Action:  Limit usage to only column names.

NORTPARM

 <text> is not declared in procedure <text>

 Explanation:  You used the parameter as a runtime parameter for
 a filename or pathname in a DECLARE SCHEMA statement.  Such
 parameters must be declared in every procedure in the module,
 and must be character data types.  You did not declare this
 paramter in this procedure.

 User Action:  Declare the parameter as a character variable in
 the procedure.  The use of DECLARE SCHEMA is deprecated and
 should be changed to use DECLARE ALIAS and connect.

NOSCHALT

 Nothing altered in ALTER DATABASE statement

 Explanation:  There was nothing altered in the ALTER DATABASE
 query.

 User Action:  Remove the query or modify it to alter database
  characteristics.

NOSCHRES

 Unable to import schema <text>

 Explanation:  Could not import this schema.  See the following
 message (subcodes).

 User Action:  Correct the problem and try the operation again.

NOSEGSTRAREA

 list storage area <text> is not defined

 Explanation:  You specified a storage area in the LIST STORAGE
 AREA clause that does not exist.

 User Action:  Specify a storage area which is already defined in
 the CREATE DATABASE statement.

NOSELALL

 SELECT FIELDS ALL clause is not allowed in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a CREATE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a SELECT FIELDS ALL clause.

 User Action:  Reenter the CREATE TRANSFER statement by
 specifying each field explicitly in the SELECT FIELDS clause.

NOSELXPR

 Specifying a SELECT expression is incompatible with a positioned
 insert statement

 Explanation:  It is illegal to specify a SELECT expression with
 a positioned insert.

 User Action:  Specify only a VALUES clause.

NOSORTINREPT

 SORT clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a SORT clause.

 User Action:  Reenter the CREATE TRANSFER statement without the
 SORT clause in the MOVE RELATION clause.

NOSPRIRES

 Unable to import database privileges for <text>

 Explanation:  SQL could not import these privileges; see the
 message that follows.

 User Action:  Correct the problem and try the operation again.

NOSQLCA

 No INCLUDE SQLCA statement was specified

 Explanation:  Every precompiled SQL program must have an INCLUDE
 SQLCA statement in it.  This program did not have one.

 User Action:  Add an INCLUDE SQLCA statement.

NOSQLCODE

 Neither SQLCA nor SQLCODE were declared

 Explanation:  All precompiled SQL programs must include a
 definition for an SQL status variable.  This can be done by
 specifying an INCLUDE SQLCA statement or by defining an integer
 host variable name SQLCODE.  This program did neither.

 User Action:  Add either an SQLCODE variable or an INCLUDE SQLCA
 statement.

NOSTRDEF

 Host variable <text> is based on an undefined structure

 Explanation:  The FORTRAN RECORD host variable declaration uses
 a structure name which has not be declared.

 User Action:  Either change the name of the structure this host
 variable is based on, or define a structure with that name.

NOSTRNAM

 RECORD host variable <text> does not specify a structure name

 Explanation:  The FORTRAN RECORD host variable declaration does
 not specify the structure name which the record is based on.

 User Action:  Add the name of the structure this host variable
 is based on.

NOSUCHCON

 There is not an active connection by that name

 Explanation:  A connection with the name given does not exist.

 User Action:  Pass the name of a known connection.

NOSUCHCUR

 Cursor <text> has not been declared

 Explanation:  You must declare a cursor before you refer to it
 in an OPEN, CLOSE, FETCH, UPDATE, or DELETE statement.

 User Action:  Declare the cursor, or use the name of a cursor
 which is already declared.

NOSUCHDATEFMT

 Format DATE <value> does not exist.

 Explanation:  You entered DATE date-number where the logical
   LIB$DATE_FORMAT_nnn does not exist.

 User Action:  Contact system manager to install the date
 formats.

NOSUCHLANG

 Language <text> does not exist.

 Explanation:  You entered SET LANGUAGE statement, but the
 logical        name table LNM$LANGUAGE_xxx does not exist.

 User Action:  Contact your system manager to make sure
 everything     has been set up properly; the language may not be
 supported.

NOSUCHPROC

 Procedure <text> in CONTEXT list not defined

 Explanation:  The value of the /CONTEXT qualifier specified a
 procedure which was not defined in the body of the module.

 User Action:  Either add the procedure to the module or omit the
 offending procedure name from the /CONTEXT qualifier value list.

NOSUCHSTMT

 <text> is not the name of an prepared statement

 Explanation:  A prepared statement with the name given does not
 exist.

 User Action:  Pass the name of a known statement.

NOSUCHTIMEFMT

 Format TIME <value> does not exist.

 Explanation:  You entered TIME time-number where the logical
   LIB$TIME_FORMAT_nnn does not exist.

 User Action:  Contact system manager to install the date/time
 formats.

NOSUPREPLI

 replication transfer is not supported for this source database

 Explanation:  You attempted to create a replication transfer on
 a source database that is not an Rdb/VMS database.  Replication
 transfers can be created only for Rdb/VMS databases.  For other
 databases you can create only extraction transfers.

 User Action:  If your source database is not an Rdb/VMS
 database, create an extraction transfer.

NOTAVIEW

 <text> is not a view

 Explanation:  The name you specified in a MOVE VIEWS clause is
 not the name of a view.

 User Action:  Retype the CREATE TRANSFER command with the
 correct view name.

NOTDB2

 "<text>" is a DB2 feature not supported by the SQL interface to
 Rdb/VMS.

 Explanation:  This is a feature supported by DB2 that the SQL
 interface to Rdb/VMS does not support.

 User Action:  Remove references to this feature.

NOTDB2DUR

 Labelled durations are a DB2 feature not supported by SQL.

 Explanation:  The SQL interface to Rdb/VMS does not support
 labelled durations.

 User Action:  Remove references to labelled durations.

NOTDB2FN

 DB2 function not supported by SQL.

 Explanation:  This is a function supported by DB2 that the SQL
 interface to Rdb/VMS does not support.

 User Action:  Remove references to this function.

NOTFOUND

 No rows were found for this statement

 Explanation:  No rows were found for an UPDATE or DELETE
 statement, or a query produced an empty table.

 User Action:  None, this is a warning message.

NOTGROFLD

 Column <text> cannot be referred to in the select list, ORDER
 BY, or HAVING clause because it is not in the GROUP BY clause

 Explanation:  In the select list and HAVING clauses of select
 expressions containing the GROUP BY clause, you can refer only
 to those columns named in the GROUP BY clause.

 User Action:  Either add the column named in the message to the
 GROUP BY clause, or delete from the select list or HAVING
 clause.

NOTHVDECL

 <text> is not a host variable

 Explanation:  The object referenced as a host variable was not a
 host variable.

 User Action:  Refer to a host variable.

NOTIMPSES

 Implicit session required for rollback or commit

 Explanation:  You called a procedure that tried to commit or
 rollback the implicit session's implicit transaction when the
 current session was one other than the implicit session.  This
 could be accomplished by calling a procedure that does a
 rollback or commit that was compiled without session support or
 from an RDML/RdbPRE module.

 User Action:  Define an SQL module procedure to Rollback or
 Commit and compile with session support enabled.

NOTINSCUR

 Cursor <text> is not an INSERT ONLY cursor

 Explanation:  In a positioned INSERT statement, the cursor named
 wasn't an INSERT ONLY CURSOR

 User Action:  Restrict usage of INSERT statements to INSERT ONLY
 CURSORS.

NOTINTBLCUR

 Column, <text>, not specified in table cursor, <text>

 Explanation:  The list column specifed for a list cursor wasn't
 specified in the related table cursor.

 User Action:  Modify the table cursor to add the list column to
 the select list or modify the list cursor to use a different
 column.

NOTLISTCOL

 Column <text> is not of data type LIST

 Explanation:  The column named in the error message has a data
 type other than LIST.

 User Action:  Specify a column with the proper data type.

NOTLSTCUR

 Cursor <text> is not a list cursor

 Explanation:  An attempt was made to use a list INSERT statement
 into a table cursor.

 User Action:  Use the INSERT INTO CURSOR statement.

NOTPRIRES

 Unable to import privileges on table <text> for <text>

 Explanation:  SQL could not import these privileges -- see the
 message that follows.

 User Action:  Correct the problem and try the operation again.

NOTRGRES

 Unable to IMPORT trigger <text>

 Explanation:  SQL could not import this trigger; see the message
 that follows.

 User Action:  Correct the problem and try the operation again.

NOTSAMESCOPE

 You cannot override a database attach with different scopes

 Explanation:  The database scope (GLOBAL or LOCAL) in an ATTACH
 statement differs from the one already attached with the same
 alias.  The scope of the both aliases must be the same.

 User Action:  Either choose a different alias or specify the
 same scope for the new database.

NOTSAMETBL

 List cursor <text> is based on a different than table cursor
 <text>

 Explanation:  The table cursor named in the message references a
 table cursor that is based on a different table from the LIST
 cursor.

 User Action:  Base the list cursor on a table cursor that
 references that same table.

NOTTBLCUR

 Cursor <text> is not a table cursor

 Explanation:  You must declare list cursor to be the current of
 a table cursor.  The cursor specified in the WHERE CURRENT OF
 clause is another list cursor.

 User Action:  Reference a table cursor.

NOTUSEIND

 Cannot use indicator variables in WHERE or HAVING

 Explanation:  You cannot use indicator variables in WHERE
 clauses or HAVING clauses.

 User Action:  Use the NULL keyword to test if a value is null.

NOTYPES

 Domain reference in column <text> is illegal in a DECLARE TABLE
 statement

 Explanation:  You referred to a user defined domain in a DECLARE
 TABLE statement.  All domains in the DECLARE TABLE statement
 must be SQL predefined types.

 User Action:  Substitute the predefined equivalent of the user
 defined domain.

NOT_A_DB

 <text> is not the name of a DSRI-compliant database

 Explanation:  You supplied the name of a database that does not
 exist under this data dictionary directory, or you supplied a
 name that is not a DSRI-compliant database.

 User Action:  Supply the name of a valid database.

NOT_CDD_DB

 Database was not declared using PATHNAME.  Dictionary access is
 illegal.

 Explanation:  You tried to include a dictionary entity in the
 schema, but the database itself is not using the dictionary.

 User Action:  Attach to the database using PATHNAME.

NOT_SAME_CONTEXT

 The <text> being defined must be in the same database as the
 <text> it references

 Explanation:  When creating an item, the item was named as part
 of one database, but it was being created from items of another
 database.  For example, trying to create an index in one
 database from a table in another database generates this error.

 User Action:  Create the item naming only items from the same
 database.

NOT_SCH_ID

 Alias <text> not permitted within definition of database <text>

 Explanation:  You specified an alias of a database that was
 other than the one for the database being defined.

 User Action:  Create defintions only for a single database in a
 CREATE DATABASE statement.  Use the standalone CREATE statements
 for accessing other databases.

NOUNION

 UNION is not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify a UNIONS as an INSERT
 CURSOR.

 User Action:  Limit usage to only a single table.

NOVIERES

 unable to import view <text>

 Explanation:  Could not import this view -- see the message that
 follows.

 User Action:  Correct the problem and try the operation again.

NOVIEWINREPT

 view <text> is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have specified a view.

 User Action:  Reenter the CREATE TRANSFER statement without the
 view in the MOVE RELATION clause.  The view definition can be
 moved by specifying the view in the MOVE VIEWS clause.

NOWHERE

 WHERE clause is not valid in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify a WHERE clause in an
 INSERT or LIST CURSOR.

 User Action:  Remove the WHERE clause.

NO_CDDACC

 No access to the data dictionary.

 Explanation:  Access is not permitted to the data dictionary.
 Previous error message should indicate the reason.

 User Action:  Correct problem from previous error message.

NO_COMMAND

 An empty command string was passed to PREPARE.

 Explanation:  A null command string was passed to PREPARE.

 User Action:  Pass a string to PREPARE that is not empty.

NO_DCLTXN

 You cannot declare a transaction while a transaction is active.

 Explanation:  There is a currently transaction in progress.  You
 cannot declare a transaction while a transaction is in progress.

 User Action:  Commit or rollback the current transaction before
 issuing another DECLARE TRANSACTION statement.

NO_DECIMAL

 <text> is being converted from DECIMAL to <text>.

 Explanation:  DECIMAL is not a supported data type.  SQL
 converts DECIMAL columns and types to a supported data type.

 User Action:  None.  This is an informational message only.

NO_DESCENDING

 DSRI does not support descending index segments

 Explanation:  You specified that a descending index segment;
 DSRI does not support descending index segments.

 User Action:  Remove the DESC clause from the index
 specification.

NO_DMLPLAN

 You can only use DECLARE statements in a context file.

 Explanation:  You can only include DECLARE statements in a
 context file.  These statements include DECLARE TRANSACTION,
 DECLARE ALIAS, and DECLARE TABLE.

 User Action:  Remove everything but DECLARE statements from the
 context file.

NO_ENDCOM

 No comment terminator found

 Explanation:  A PL/I begin comment was found (/*) and no
 corresponding end comment (*/) was found before the end of the
 program.

 User Action:  Insert the comment terminator.

NO_ENDEXEC

 An EXEC SQL flag was found before the previous END-EXEC flag.

 Explanation:  The previous SQL statement was missing its
 END-EXEC flag.  Every COBOL SQL statement must be preceded by
 EXEC SQL and be terminated by END-EXEC.  A period may optionally
 follow the 'END-EXEC' flag.

 User Action:  Add an END-EXEC flag to the previous SQL
 statement.  Make sure that the END-EXEC flag has no embedded
 spaces, and that there is no COBOL terminator period before the
 END-EXEC flag.

NO_FILFND

 File <text> not found for input to the SQL processor

 Explanation:  Attempted to open a nonexistent file.

 User Action:  Check the file specified.  Supply complete file
 specification.

NO_HDRPLAN

 Module header is not legal in a plan file

 Explanation:  You have put the module header in a plan file.

 User Action:  Use DECLARE MODULE in the plan file and put the
 module header in the module.

NO_INCFND

 Could not find file <text> named in INCLUDE statement

 Explanation:  You attempted to include a nonexistent file.

 User Action:  Check the file specification in the INCLUDE
 statement.  Supply a complete file specification.  Note that the
 default file extension is .SQL.

NO_NUMERIC

 <text> is being converted from NUMERIC to <text>.

 Explanation:  NUMERIC is not a supported data type.  The SQL
 interface to Rdb/VMS converts NUMERIC columns or types to a
 supported data type.

 User Action:  None.  This is an informational message only.

NO_PLNFND

 Context file <text> was not found for input to the precompiler

 Explanation:  Attempted to open a nonexistent context file.

 User Action:  Check the file specified.  Supply a complete file
 specification.

NO_SQLDA

 The SQLDA cannot be used in FORTRAN or COBOL

 Explanation:  PL/I is the only host language that supports the
 SQLDA.  This means you can only use the PREPARE...INTO and
 DESCRIBE statements in PL/I programs.  The only dynamic features
 supported by COBOL and FORTRAN are EXECUTE IMMEDIATE and
 EXECUTE, OPEN, and FETCH with host variable lists.

 User Action:  Remove references to the SQLDA from COBOL and
 FORTRAN programs.

NO_STMTB4HDR

 Statements not allowed before MODULE header

 Explanation:  You entered some declare statements before a
 MODULE header in a Module Language Program.

 User Action:  Put the statements in a plan file or following the
 MODULE header.

NO_SUCH_FIELD

 Domain <text> does not exist in this database or schema

 Explanation:  You specified a domain that does not exist in the
 database or schema.

 User Action:  Check database or schema entity definitions for
 the valid type names.

NO_TRIGGER_VALS

 The values in the row are not available for this trigger

 Explanation:  You tried to refer to the values in the row that
 was    changed in a trigger action.  The values are not
 available in   an action if action does not specify FOR EACH ROW
 or is  triggered at a time when values are not supported.

 User Action:  Rewrite your trigger so that values are available
 or there       are no references to the values.

NO_TXNOUT

 No transaction outstanding

 Explanation:  You attempted to terminate a transaction with a
 COMMIT or a ROLLBACK when no transaction was outstanding.  SQL
 does not start a transaction when you issue a DECLARE
 TRANSACTION, but waits until it encounters the first statement
 that requires a transaction.

 User Action:  Execute a statement that requires a transaction
 before issuing COMMIT or ROLLBACK.  All statements except
 DECLARE TRANSACTION, DECLARE ALIAS, CREATE DATABASE, ATTACH and
 DROP DATABASE require transactions.

NO_UNSNUMERIC

 <text> is being converted from UNSIGNED NUMERIC to <text>.

 Explanation:  UNSIGNED NUMERIC is not a supported data type.
 The SQL interface to Rdb/VMS converts NUMERIC columns or types
 to a supported data type.

 User Action:  None.  This is an informational message only.

NSEGBLR

 unable to recover BLR string

 Explanation:  Attempt to import a BLR list with more than one
 segment.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (.RBR) that caused the error.

NULLNOIND

 Tried to store null into host variable with no indicator
 variable

 Explanation:  Null values can only be stored in host variables
 which have indicator variables.

 User Action:  Add an indicator variable to the host variable
 reference or make sure that no null values can be returned to
 it.

NUMCMPTXT

 Numeric column will be compared with string literal as text

 Explanation:  You tried to compare a text literal with a numeric
 column.  The numeric column is converted to text and the
 comparison is made from left-to-right, character by character.
 This can lead to unexpected results.  For example, the
 comparison N between "0001" and "0999", no matter what N is,
 will never be true, because N is converted to text without a
 leading zero and compared alphabetically with the two string
 literals.

 User Action:  None, as long as you understand the semantics of
 the operation.  You should be aware that the comparison will
 take place between text values.

NUMHVSNOT

 Number of host variables passed (<value>) does not match number
 of parameters (<value>)

 Explanation:  The number of host variables you passed in to an
 EXECUTE, OPEN, or FETCH statement does not match the number of
 parameter markers (question marks) in the PREPARE statement's
 command string.

 User Action:  Make sure the number of host variables matches the
 number of parameter markers in the PREPARE statement.  There are
 two ways to pass in host variables.  One, explicitly pass in a
 list of host variables in a USING list.  Or two, pass in an
 SQLDA in a USING DESCRIPTOR clause.  If you are using an SQLDA,
 you must specify in the SQLDA SQLN field the number of SQLVAR
 structures you have initialized to point to your variables.

NUMITESEL

 Number of items selected does not match number items in the INTO
 clause

 Explanation:  A SELECT statement must have as many values in the
 select list as there are in the INTO clause.

 User Action:  Enter the same number of columns in the select
 list and the INTO clause.  If you are using 'SELECT *', check
 the columns that are defined in the selected table.

NUMXPREXP

 A numeric expression was expected

 Explanation:  A numeric literal, a numeric host variable, was
 expected but something else was found.

 User Action:  Correct the syntax error.

NUM_TO_DATE

 Numeric data in column <text> cannot be converted to a date data
 type

 Explanation:  Rdb will not allow numeric data types to be
 converted to date

 User Action:  Do not try it again.

OLDNAMWAS

 previous name was <text>

 Explanation:  Information about the Rdb/VMS interchange file
 (.RBR).

 User Action:  None.

ONEEPERM

 only one E character is permitted in an edit string

 Explanation:  An edit string contains more than one E character.
 Only one is allowed.

 User Action:  Redefine the edit string with only one E
 character.

ONETXNMOD

 Only one DECLARE TRANSACTION statement is allowed per module

 Explanation:  You can use only one DECLARE TRANSACTION statement
 in a preprocessed module.  It must occur before the first
 executable statement (SELECT, INSERT, UPDATE, CREATE, etc.).

 User Action:  Only use one DECLARE TRANSACTION statement in a
 module.

ONLFIRPRE

 Only the first file in the list will be precompiled

 Explanation:  You specified a list of files to be processed.
 This list will be passed along to the compiler with the first
 file replaced by the generated language file.  However, only the
 first file in the list will be precompiled.

 User Action:  If more than one of the files has SQL statements,
 they must be precompiled in separate command lines.  If you want
 only the first file precompiled, then no user action is
 neccessary.

ONLFIRVAR

 Only first variable in qualified variable expression

 Explanation:  COBOL allows only the first variable in a
 qualification to be an array.  The preprocessors do not
 recognize the arrays of arrays constructs in FORTRAN, COBOL or
 BASIC.

 User Action:  Rewrite the query and check the appropriate
 language reference manual.

ONLONEDB

 Only one database can be referred to in this statement

 Explanation:  You cannot use objects from more than one database
 in a SELECT, UPDATE, DELETE or CREATE statement.  You can,
 however, refer to tables from one database in an INSERT
 statement and refer to tables in another database in the SELECT
 which provides the values for that INSERT statement if the
 insert statement is not part of a trigger definition.

 User Action:  Use separate statements for multiple database
 access.

ONLONETRN

 Only one transaction allowed at a time

 Explanation:  Only one transaction is allowed at a time.  Note
 that SQL starts a transaction, even if none was previously
 declared, on the first data manipulation statement.

 User Action:  Issue a COMMIT or ROLLBACK statement to terminate
 the transaction, then declare another.

ONLVALLST

 Only a value list is valid in an INSERT LIST CURSOR statement

 Explanation:  The only valid expression is a value list.

 User Action:  Use only a VALUES expression.

ONLY1LIST

 Only one list column may be specified

 Explanation:  The list specification specifies more than one
 column in the SELECT list.  List cursors are limited to
 processing only a single list.

 User Action:  DECLARE a separate list cursor for each list.

ONLY1TBL

 Only one table may be specified in an INSERT or LIST CURSOR

 Explanation:  It is illegal to specify more than one table in an
 INSERT or LIST CURSOR.

 User Action:  Limit usage to specifying only a single table.

ONLYONEPSECT

 Only one PSECT statement per module is supported

 Explanation:  The PSECT directive may only be used once per
 module.

 User Action:  Decide which PSECT statement is really desired and
 delete all others.

OPENERR

 unable to open <text> as the interchange file

 Explanation:  Could not access the Rdb/VMS interchange file
 (.RBR).

 User Action:  Correct the problem indicated by subsequent
 messages and try the operation again.

OPRSTK_OVRFLO

 Operator stack overflow

 Explanation:  The internal limit of the parsing operator stack
 was exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

PARAMNOTSTR

 Parameter <text> in procedure <text> must be a character
 parameter

 Explanation:  You used the parameter as a runtime parameter for
 a filename or pathname in a DECLARE SCHEMA statement.  Such
 parameters must be declared in every procedure in the module,
 and must be character data types.  The parameter in this
 procedure is not a character data type

 User Action:  Declare the parameter as a character variable in
 the procedure.  The use of DECLARE SCHEMA is deprecated and
 should be changed to use DECLARE ALIAS and connect.

PARAMQUAL

 Parameters must not be qualified

 Explanation:  A reference to a parameter included qualifiers.
 You cannot qualify parameters.

 User Action:  Define the parameter in the procedure, or use a
 parameter name which is defined in the procedure.

PARBADCLA

 Parameter <text> passed by invalid descriptor class (<value>)

 Explanation:  The parameter was passed to a module language
 procedure by descriptor when parameter checking was enabled and
 the class of the descriptor was not a supported descriptor
 class.

 User Action:  Correct the argument in the host language program

PARBADDAT

 Parameter <text> has invalid data type:  <value> declared,
 <value> passed.

 Explanation:  The parameter was passed to a module language
 procedure with a different data type than it was declared in the
 procedure.  The codes for the data type as declared and as
 passed are specified in the message.  The codes are from the
 DSC$B_DTYPE from the descriptor.  See the "Introduction to VMS
 System Routines" manual for these codes.

 User Action:  Make the parameter agree in the module and the
 host language.

PARBADLEN

 Parameter <text> has invalid length:  <value> declared, <value>
 passed.

 Explanation:  The parameter was passed to a module language
 procedure with a different length than it was declared in the
 procedure.  The error message indicates the length of the
 parameter as declared in the module, and the length of the
 parameter passed at run-time.

 User Action:  Make the parameter agree in the module and the
 host language.

PARBADSCA

 Parameter <text> has invalid scale:  <value> declared, <value>
 passed.

 Explanation:  The parameter was passed to a module language
 procedure with a different scale than it was declared in the
 procedure.  The error message indicates the scale of the
 parameter as declared in the module, and the scale of the
 parameter passed at run-time.

 User Action:  Make the parameter agree in the module and the
 host language.

PARBINSCA

 Parameter <text> has a binary scale factor

 Explanation:  The parameter was passed to a module language
 procedure with a binary scale factor.  SQL supports only decimal
 scale factors.

 User Action:  Either do not use a scale factor, or use a data
 type with which your language uses decimal scale factors.  For
 example, PL/I uses binary scale factors with fixed binary data
 and decimal scale factors with fixed decimal data.  If you want
 to use scale factors, use fixed decimal.  Be sure to change the
 module to agree with the new data type.

PARMLISTREQ

 FETCH LIST statements require a parameter list

 Explanation:  The FETCH LIST statement requires that the user
 explicitly specify a parameter list.

 User Action:  Specify the parameter list.

PARSE_STACK_OVERFLOW

 Parse stack overflow

 Explanation:  The internal limit of the parsing stack were
 exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

PASPRGNOTFND

 No Pascal program was found

 Explanation:  No Pascal program was found in the input
 preprocessor file.  The embedded SQL statements can only be
 processed within a program block.

 User Action:  Add a program block around the SQL statements.

PASRECUNS

 Host variable <text> is based on a record type that is
 unsupported

 Explanation:  The host variable you referred to is based on a
 record type which is unsupported.

 User Action:  Use a different type defintion.

PASVARUNS

 Host variable <text> is based on a record type that uses
 variants

 Explanation:  The host variable you referred to is based on a
 record type which uses Pascal variants.  SQL does not support
 types which include variants.

 User Action:  Use a different type definition.

PATH_NAM_REQ

 PATHNAME clause necessary when the dictionary is required

 Explanation:  When you create a database using the DICTIONARY IS
 REQUIRED       clause, then you must also specify the PATHNAME
 clause.

 User Action:  Change the CREATE DATABASE statement to either add
 the    the PATHNAME clause or to remove the    DICTIONARY IS
 REQUIRED clause.

PHYBACDAT

 it was physically exported on <text>

 Explanation:  Information about the Rdb/VMS interchange file
 (.RBR).

 User Action:  None.

PKCONSNOTCB

 Computed column may not be a primary key

 Explanation:  You specified a primary key constraint for a
 computed       column, which does not support this constraint.

 User Action:  Remove the primary key constraint from this
 definition.

PKGNAMCHG

 The SQL package name has been changed from <text> to <text>

 Explanation:  The name of the ADA source file is used to
 generate the name of a SQL package.  Because the SQL package
 name is not a legal ADA name, the package name is changed to a
 legal ADA name.

 User Action:  If the SQL package name and declaration file must
 be the same name as the ADA source file, then change the name of
 the ADA source file.  If not, no user action is required.

PKNOTNULL

 Column <text> is used in a primary or unique key but permits
 NULL values

 Explanation:  You specified a column in a primary or unique key
 definition     which permits NULL values.  The current ANSI and
 ISO SQL        standards require that only fields for which NOT
 NULL is        specified may be included in a primary or unique
 key.

 User Action:  If it is important to have only standard syntax in
 your   program, you should either remove the column from the
   primary or unique key, or add the NOT NULL attribute to
      the column.

PREFORSTR

 The host variable in the PREPARE FROM clause must be a string.

 Explanation:  A host variable in the FROM clause of a PREPARE
 statement must have a string data type.

 User Action:  In COBOL declare the variable to be PIC X(n).  In
 PL/I declare the variable to be CHAR(n).  In FORTRAN, declare
 the variable to be CHARACTER XYZ*n.

PREMATURE_EOF

 Statement is syntactically incomplete

 Explanation:  You entered a syntactically incomplete statement.

 User Action:  Complete the statement before typing "RETURN".

PREPCDDVER1

 The time stamp on the data dictionary node

 Explanation:  Used in the preprocessors to print out what
 versions               of Rdb were used.

 User Action:  None --

PREPCDDVER2

 The full pathname used to access the data dictionary

 Explanation:  Used in the preprocessors to print out what
 versions               of Rdb were used.

 User Action:  None --

PREPCDDVER3

 The file specification found in the data dictionary

 Explanation:  Used in the preprocessors to print out what
 versions               of Rdb were used.

 User Action:  None --

PREPDBVER

 The underlying software versions are:

 Explanation:  Used in the preprocessors to print out what
 versions               of Rdb were used.

 User Action:  None --

PREPNOCTXSTR

 This statement may not be prepared with a context structure

 Explanation:  A PREPARE or EXECUTE IMMEDIATE with an embedded
 USING CONTEXT clause or in a module language procedure with a
 context parameter was passed a statement which may not be
 prepared with a context structure.

 User Action:  If you are using a precompiled program, remove the
 USING CONTEXT clause.  If you are calling a module language
 procedure, either remove the procedure name from the
 /CONTEXT=(...) list or, if /CONTEXT=ALL is used, pass a zero as
 the address of the context structure or fill the distributed TID
 portion of the context structure with zeroes.

PREPPROMPT

 INPUT FILE>

 Explanation:  The prompt used in the preprocessors

 User Action:  None --

PRESTAOPE

 Cannot prepare or release statement name used by an open cursor

 Explanation:  You declared a cursor based on a prepared
 statement name and opened the cursor.  While that cursor was
 still open, you tried to prepare or release the same statement
 name.

 User Action:  Close the cursor or end the transaction before
 using a PREPARE or RELEASE statement with the same statement
 name.

PRIKEYEXI

 Table <text> already has a primary key

 Explanation:  You specified a primary key definition for a table
 which  already had one.  A table can have only one primary key.

 User Action:  Remove the primary key definition from the
 statement, or delete   the existing primary key before executing
 the statement.

PRINT_SSID

 Segmented String id for <text> will be displayed

 Explanation:  One of the columns specified in the select list of
 a SELECT statement is a list.  SQL does not support the Rdb
 Segmented String data type, but displays the segmented string
 identifier for interactive SELECT statements.  The segmented
 string identifier is an internal value which will probably not
 be meaningful.

 User Action:  Ignore the values displayed for the segmented
 string column.

PROCNOCA

 Procedure <text> has neither an SQLCA nor SQLCODE parameter

 Explanation:  A module language procedure must have either an
 SQLCA or an SQLCODE parameter declared.  This procedure had
 neither.

 User Action:  Add either an SQLCODE or SQLCA parameter.

PROCSTATWO

 Procedure <text> has more than one SQLCA or SQLCODE parameter

 Explanation:  A module language procedure must have either an
 SQLCA or an SQLCODE parameter declared.  This procedure had more
 than one.

 User Action:  Remove an SQLCODE or SQLCA parameter.

PROMPT

 SQL>

 Explanation:  This message is used as the SQL prompt.  --

PRPSELINTO

 Preprocessed SELECT statements must include an INTO clause

 Explanation:  A preprocessed SELECT statement needs a place to
 put the data it retrieves.  An INTO clause is required to
 specify where to put the data.

 User Action:  Add an INTO clause to the SELECT statement.

PRVERRSDTPUNK

 Data type unknown due to previous errors

 Explanation:  Due to previous errors, the precompiler or module
 language compiler does not understand either side of an
 assignment.

 User Action:  Correct errors previously reported, and recompile.

PTR_VAR

 Host variable <text> is a pointer variable which is illegal in
 SQL statements.

 Explanation:  The named variable is defined as a C pointer
 variable.  These variables are currently not supported by the C
 precompiler.

 User Action:  Use a different variable.

PUTOPESEG

 Attempt to put to an opened list

 Explanation:  You attempted to do a SEGSTR.PUT using a handle
 returned by a SEGSTR.OPEN statement.  You can only do
 SEGSTR.GETs using the handle returned by open.

 User Action:  Specify the correct handle

QUAINVVAL

 An invalid value <text> was specified for <text>

 Explanation:  You specified an invalid value for a command line
 qualifier

 User Action:  Correct the command line syntax error.

QUALNOTALLOW

 A qualified name is not allowed in this context

 Explanation:  A qualified name was entered by the user where a
 non-qualified name was required.

 User Action:  Reenter the statement omitting the illegal name
 qualifier.

QUANOVAL

 The <text> qualifier does not take a value

 Explanation:  You specified a value for a command line qualifier
 which cannot have a value.

 User Action:  Correct the command line syntax error.

QUERYCAN

 Query cancelled at user's request

 Explanation:  The query was cancelled at the user's request.

 User Action:  No action required.  If the query was cancelled
 due to its complexity, try a simpler query.

QUERYLIMPOS

 Query limit must be a positive number

 Explanation:  The limit of the number of rows or the number of
 seconds must be positive.

 User Action:  Change the SET statement of compiler qualifiers to
 specify a positive value.

RDBVMSONL

 Operation supported for Rdb/VMS databases only

 Explanation:  You issued a GRANT or REVOKE statement on a
 non-Rdb/VMS database.  The SQL interface to Rdb/VMS supports
 GRANT and REVOKE for Rdb/VMS databases only.

 User Action:  Do not issue any GRANT or REVOKE statements with
 this database.

REANOWRT

 A READ_ONLY transaction can not specify write locks.

 Explanation:  The transaction was specified as READ_ONLY but a
 table in the RESERVING clause was locked for write access.  This
 is a conflict of access modes.

 User Action:  Declare the transaction READ_WRITE or use a read
 lock.  Note that the default is always READ_WRITE.

REAONLATT

 You specified other attributes in addition to READ ONLY

 Explanation:  You specified other attributes in addition to READ
 ONLY   in the ALTER STORAGE AREA clause.  If you specify READ
 ONLY, you      cannot include other attributes in the same
 statement.

 User Action:   Specify the other attributes in separate ALTER
 DATABASE       statements.

RECEXCMAX

 size of edit string exceed internal data structure limits

 Explanation:  The length of an edit string exceeds the size of
 the internal data structures that used to represent it.

 User Action:  Temporarily reduce the size of the edit string and
 submit an SPR including a description of the table and domains
 that produce this error.

REFKEYCOL

 Referencing column <text> and corresponding referenced column
 <text> do not match

 Explanation:  A referencing column and its corresponding
 referenced column must have the same data type, size and scale.
 These 2 columns do not.

 User Action:  Specify a referential constraint where the columns
 all match.

REFKEYNUM

 The referencing and referenced columns have different lengths

 Explanation:  The referencing column list and the referenced
 column list (explicit or implicit) must have the same number of
 columns.  They do not for this referential constraint.

 User Action:  Change the lists to match.

RELNOTDEF

 Table <text> is not defined in database or schema

 Explanation:  The specified table does not exist in the current
 database or schema.

 User Action:  Declare the correct database or schema.  Spell the
 table name correctly.  You may have specified a name other than
 a table name.

REL_EXISTS

 Table <text> already exists in this database or schema

 Explanation:  You attempted to create a table with the name of
 an existing table

 User Action:  Choose a different name.

REMNOTALW

 a remote source database is not allowed to be replicated

 Explanation:  You were attached to a database on a remote node
 when you tried to create a replication mode transfer using the
 CREATE TRANSFER statement.

 User Action:  Create an extraction transfer instead of a
 replication mode transfer.

REORGONLALTSM

 REORGANIZE is only legal with ALTER STORAGE MAP

 Explanation:  You specified the REORGANIZE clause in a statement
 other than ALTER STORAGE MAP.

 User Action:  Remove the REORGANIZE clause.

RESABORT

 terminating the IMPORT operation

 Explanation:  The IMPORT operation has been aborted; see the
 messages preceding this one.

 User Action:  None.

RESERVED_WORD

 <text> is a keyword.  It cannot be used as a name

 Explanation:  You entered a keyword where a name was expected.

 User Action:  Specify a unique name instead of the keyword.

RESRELMSG

 IMPORTing table <text>

 Explanation:  Information about the Rdb/VMS interchange file
 (.RBR).

 User Action:  None.

RESVIEMSG

 IMPORTing view <text>

 Explanation:  Information about the Rdb/VMS interchange file
 (.RBR).

 User Action:  None.

RESWORDCHKOFF

 ANSI identifier checking is OFF

 Explanation:  Identifiers are not checked for keyword status:
 see above for full explanation.  No keyword checking is the
 standard behavior in SQL89.  This checking behavior is turned on
 by the SET RESERVED WORDS ON command and turned off by the SET
 RESERVED WORDS OFF command.

RESWORDCHKON

 ANSI identifier checking is ON

 Explanation:  Identifiers are checked for keyword status:  if
 they are keywords in SQL89 or SQL2 then they are flagged as
 such.  This checking behavior is turned on by the SET RESERVED
 WORDS ON command and turned off by the SET RESERVED WORDS OFF
 command.

RES_KEYWORD

 <text> is a reserved word in SQL and cannot be used as an
 identifier

 Explanation:  The identifier is a SQL keyword and cannot be used
 as an identifier

 User Action:  Use an identifier that is not in the set of valid
 SQL keywords

RES_WORD_AS_IDENT

 Keyword <text> used as an identifier

 Explanation:  You used a ANSI keyword as an identifier.

 User Action:  Use ANSI QUOTING rules and double quotes.

RETRYPOS

 The retry count must be positive

 Explanation:  The count specified in the RETRY clause of the
 CREATE SCHEDULE statement must be positive.

 User Action:  Re-enter the schedule definition with a positive
 retry count.

REVENTANS

 REVOKE ENTRY is not supported for databases with ANSI privileges

 Explanation:  You executed a REVOKE ENTRY statement in a
 database that has ANSI style privileges.  There are no entries
 in ANSI style privileges so this is not supported.

 User Action:  Execute the statement again specifying the
 privileges you would like to revoke.

RTCSASS_C2C

 Cannot convert from character to character in the specified
 character set

 Explanation:  A runtime conversion from character to character
 was specified, but the character sets weren't compatible.  Use
 Action:  Choose a different character set for the target.

RTCSASS_C2N

 Cannot convert from character in the specified character set to
 numeric

 Explanation:  A runtime conversion from character to numeric was
 specified, but the character set of the character field doesn't
 support ASCII.

 User Action:  Choose a different character set for the target.

RTCSASS_D2C

 Cannot convert from date to character in the specified character
 set

 Explanation:  A runtime conversion from date to character was
 specified, but the character set of the character field doesn't
 support ASCII.

 User Action:  Choose a different character set for the target.

RTCSASS_N2C

 Cannot convert from numeric to character in the specified
 character set

 Explanation:  A runtime conversion from numeric to character was
 specified, but the character set of the character field doesn't
 support ASCII.

 User Action:  Choose a different character set for the target.

SATURDAY

 Saturday

 Explanation:  Days of the week for date formatter.s

SCHCATMULTI

 Schemas and catalogs may only be referenced with multischema
 enabled

 Explanation:  You used a statement that referred to a logical
 schema or catalog but multischema was not enabled.  This is not
 allowed.

 User Action:  Enable multischema using the SET MULTISCHEMA ON
 statement in interactive or dynamic SQL, the MULTISCHEMA option
 of the /SQLOPTION qualifier in the precompiler, or the
 /MULTISCHEMA qualifier in the module processor.

SCHEMA_CDDFILE

 Database data dictionary Filename:  <text>

 Explanation:  Used in command line summary in precompiler --

SCHNOABSTIM

 EVERY or RETRY EVERY must not specify an absolute time

 Explanation:  You entered an absolute time for the EVERY or
    RETRY EVERY clause of the CREATE SCHEDULE statement.

 User Action:  Use a delta time or, for the EVERY clause, use a
 day of         the week, DAY, WEEK, or MONTH.

SCHNOTDEF

 Schema <text> is not defined

 Explanation:  The specified schema does not exist in the
 specified catalog.

 User Action:  Check the spelling of the schema name and ensure
 that it is the name of a schema in the specified catalog.

SCH_EXISTS

 Schema <text> already exists

 Explanation:  You attempted to create a schema in the specified
 catalog with the name of an existing schema in that catalog.

 User Action:  Choose a different name for the new schema.

SEGAREERR

 List area <text> referred to but not defined

 Explanation:  The CREATE DATABASE statement indicated that lists
 must be stored in a specific storage area, but that storage
    area was never created.

 User Action:  Change the CREATE DATABASE statement to include a
 CREATE STORAGE         AREA statement with the name referred to
 by the         LIST clause.

SEGSTRAWAS

 List Storage Area was <text>, now is <text>

 Explanation:  Database JOURNAL ALLOCATION as found in the
 interchange (.RBR) file.  New size was specified by user.

 User Action:  None.

SEGSTREXP

 Cannot use a list in an expression

 Explanation:  You attempted to use a list column in an
 expression.  Segmented strings may be used only in expressions
 using the NULL operator.

 User Action:  Remove the operations on the list from the DML
 query.

SELMORVAL

 The result of a singleton select returned more than 1 value

 Explanation:  A singleton select statement (SELECT...INTO) may
 only return 1 row of values.  The result table for this
 singleton select contains more than one row.

 User Action:  Either embed the SELECT statement (without the
 INTO clause) in a DECLARE CURSOR statement and process it with
 OPEN and FETCH statements, or modify the SELECT statement so it
 will return only one row.

SESNOTENA

 This module is not capable of handling multiple sessions

 Explanation:  The procedure contains a session-oriented command,
 but the compiled module doesn't support sessions.

 User Action:  Choose the /SESSION or SQLOPTION=(SESSION) when
 compiling the module in question.

SEVERRDET

 A severe error was detected

 Explanation:  This is the exit status for a preprocessor when a
 severe error is detected.

 User Action:  Fix the error.

SHCON

 Constraints in

 Explanation:  Used in the SHOW Constraints commands --

SHCONNONE

 No constraints found

 Explanation:  Used in the SHOW Constraints commands --

SHCONREL

 Constraints referencing table <text>:

 Explanation:  Used in the SHOW Constraints commands --

SHDBCDD

 The databases at the current data dictionary node.

 Explanation:  Used in the SHOW DATABASES ALL statement --

SHDBFIL

 Database with filename <text>

 Explanation:  Used in the SHOW statement --

SHDBINFIL

 Database with alias <text> in file <text>

 Explanation:  Used in the SHOW VERSION statement --

SHDBPTH

 database with pathname

 Explanation:  Used in the SHOW statement -

SHDESCEND

 descending

 Explanation:  Used in the SHOW INDEXES statement --

SHEXECOFF

 The EXECUTION MODE is OFF

 Explanation:  Used in SHOW EXECUTION [MODE]

 User Action:  none.

SHEXECON

 The EXECUTION MODE is ON

 Explanation:  Used in SHOW EXECUTION [MODE]

 User Action:  none.

SHFLDGBL

 based on domain <text>

 Explanation:  Used in the SHOW FIELDS FOR table_name statement
 --

SHFLDNONE

 No columns Found

 Explanation:  Used in the SHOW COLUMNS statement --

SHFLDREL

 Columns for table <text>:

 Explanation:  Used in the SHOW COLUMNS FOR table statement --

SHFLDVIEW

 Columns for view <text>:

 Explanation:  Used in the SHOW TABLES statement.  --

SHINDDR

 Indexes on table <text>.<text>:

 Explanation:  Used in the SHOW INDEXES statement --

SHINDDUP

 duplicates are allowed

 Explanation:  Used in the SHOW INDEXES statement --

SHINDF

 and column <text><text>

 Explanation:  Used in the SHOW INDEXES statement --

SHINDFLDSIZE

                                size of index key is <value>

 Explanation:  Used to display the number of characters used in
 the key for an index.  The size of index key is the minimum
 length for the column used for the key.

 User Action:  None.

SHINDIF

 AF with column <text><text>

 Explanation:  Used in the SHOW INDEXES statement --

SHINDMAPVAL

                                mapping values <text> to <text>

 Explanation:  Uses values from <low> to <high> to minimize space
 needed for index node.

 User Action:  None.

SHINDMAPVAL2

 this space for hire

 Explanation:  Uses values from <low> to <high> to minimize space
 needed for index node.

 User Action:  None.

SHINDNDUP

 no duplicates allowed

 Explanation:  Used in the SHOW INDEXES statement --

SHINDNONE

 No indexes found

 Explanation:  Used in the SHOW INDEXES statement --

SHINDR

 Indexes on table <text>:

 Explanation:  Used in the SHOW INDEXES statement --

SHODEPROFF

 The Warning mode for Deprecated Features is OFF

 Explanation:  Used in SHOW WARNING [MODE]

 User Action:  None.

SHODEPRON

 The Warning mode for Deprecated Features is ON

 Explanation:  Used in SHOW WARNING [MODE]

 User Action:  None.

SHOFLAGOFF

 The FIPS Flagger mode is OFF

 Explanation:  Used in SHOW FLAGGER [MODE]

 User Action:  None.

SHOFLAGON

 The FIPS Flagger mode is ON

 Explanation:  Used in SHOW FLAGGER [MODE]

 User Action:  None.

SHOTABMAPDR

 Storage Map for table <text>.<text>:

 Explanation:  Used in SHOW TABLE

SHRELNONE

 No tables found

 Explanation:  Used in the SHOW TABLES statement --

SHTYPNONE

 No Domains Found

 Explanation:  Used in the SHOW DOMAINS statement --

SHVIEW

 AF A view.

 Explanation:  Used in the SHOW statement --

SHVIEWNONE

 No Views Found

 Explanation:  Used in the SHOW TABLES statement --

SMA_DAT_TYP

 Altering column <text> to a smaller data type may cause data
 loss

 Explanation:  Altering a column to a smaller data type might
 cause data     already stored in that column to appear lost.

 User Action:  None.  This is a warning message only.

SPACREQ

 A space is required before file specification

 Explanation:  A space is required to parse the begining of the
 file specification.

 User Action:  Run the preprocessor again and include a space
 before the file specification.

SPANOTVAL

 Space management options not valid on areas with uniform page
 format

 Explanation:  Space management options of thresholds, interval
 or both        were specified for an area with a uniform page
 formats.

 User Action:  Remove the space management option(s) from the
 storage area   with uniform page format, or change the storage
 area with      the specified space managment option(s) to have
 mixed page     format.

SQL41UNAS1

 UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE

 Explanation:

 User Action:

SQL41UNAS2

 UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE

 Explanation:

 User Action:

SQL41UNAS3

 UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE

 Explanation:

 User Action:

SQL41UNAS4

 UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE

 Explanation:

 User Action:

SQL41UNAS5

 UNASSIGNED MESSAGE, RESERVED FOR 4.1 LETTER RELEASE

 Explanation:

 User Action:

SQLCHSCALE

 An invalid SQLCHRONO_SCALE value of <value> was found in the
 SQLDA

 Explanation:  You passed in an SQLDA with a illegal
 SQLCHRONO_SCALE value.

 User Action:  You must enter a valid SQLCHRONO_SCALE value in
 every SQLCHRONO_SCALE field in the prepared command string that
 SQLD indicates is necessary.  For datetime values, this is is a
 value indicating the subtype of the datetime.

SQLDANOT

 SQLDA not large enough (<value>) to handle number of parameters
 (<value>)

 Explanation:  The SQLDA passed to PREPARE or DESCRIBE is not
 large enough to handle all of the parameters in the associated
 PREPARE command string.

 User Action:  Allocate an SQLDA to be large enough to have one
 SQLVAR for each input or output parameter ('?') in the PREPARE
 command string.  Then set SQLN to indicate the number of SQLVARs
 in the SQLDA.

SQLDATA

 An SQLDATA field in the SQLDA was not initialized

 Explanation:  You passed in an SQLDA with a SQLDATA value of
 zero in one of the SQLVAR blocks.

 User Action:  You must enter nonzero values in every SQLDATA
 field in the prepared command string that SQLD indicates is
 necessary.

SQLLEN

 An invalid SQLLEN value of <value> was found in the SQLDA

 Explanation:  You passed in an SQLDA with a illegal SQLLEN
 value.

 User Action:  You must enter a valid SQLLEN value in every
 SQLLEN field in the prepared command string that SQLD indicates
 is necessary.  For interval values, this is is a value
 indicating the subtype of the interval.

SQLTYPE

 An invalid SQLTYPE value of <value> was found in the SQLDA

 Explanation:  You passed in an SQLDA with a illegal SQLTYPE
 value.

 User Action:  You must enter a valid SQLTYPE value in every
 SQLTYPE field in the prepared command string that SQLD indicates
 is necessary.

SSTOOBIG

 The segmented string ID for column <text> is <value> bytes, host
 variable must be the same size or larger.

 Explanation:  The host variable you are using with the DBKEY is
 not the        same size as the dbkey.

 User Action:  Allocate a host variable which is the correct
 size.

STANOTDEF

 The '<text>' statement has not been defined

 Explanation:  You attempted to use a statement name in an
 EXECUTE or a DESCRIBE statement that had not been used in a
 PREPARE statement.

 User Action:  Prepare a statement name before using it in an
 EXECUTE or a DESCRIBE statement.

STANOTSEL

 Cursor can only be used with prepared SELECT statements

 Explanation:  You attempted to declare a cursor based on a
 prepared statement that was not a SELECT statement.  Cursors can
 be based only on SELECT statements.

 User Action:  Use EXECUTE to execute this statement.

STAREQCOL

 The standard requires a column in this context

 Explanation:  The ANSI and ISO SQL standards require that you
 specify        a column which is not in an expression in this
 context.

 User Action:  If it is important to have only standard features
 in your        program, you should change your querry to use a
 column here

STARNOTALL

 Invalid use of asterisk - expected column name

 Explanation:  You attempted to use the column wildcard (*) where
 SQL requires an explicit column name.

 User Action:  Supply the names of the columns to be referenced.

STAROCUR

 Nonstandard update of read-only cursor <text>

 Explanation:  In the ISO and ANSI standards for SQL, a cursor is
 read-only      if it includes an ORDER BY clause.  Read-only
 cursors cannot         be used in UPDATE or DELETE statements.

 User Action:  If it is important to have only standard features
 in your        program, you should change the cursor to not
 include the ORDER      by clause, or not use it in an UPDATE or
 DELETE statement.

STATWOCUR

 Cannot declare a second cursor based on statement <text>

 Explanation:  A prepared statement can only have one cursor
 based on it.  You tried to declare a second cursor based on the
 same prepared statement name used in a previous DECLARE CURSOR
 statement.

 User Action:  Remove one of the cursor definitions from your
 program or base the second cursor on a different statement name.

STMTALREXI

 <text> is the name of an existing dynamic statement

 Explanation:  Another prepared statement name with the name
 given does not exist.

 User Action:  Pass the name that does not match an existing
 statement name.

STOCOLERR

 Not enough columns were specified in the USING clause

 Explanation:  There were more literals specifed in the LIMIT
 clause of      the storage map than there were columns in the
 USING clause.

 User Action:  Either specify more columns in the USING clause,
 or reduce the  number of literals in the LIMITS clause.

STOCOLUKN

 Column specified in STORE clause, <text>, is unknown to table
 <text>

 Explanation:  A column that did not exist in the table was used
 in the         CREATE STORAGE MAP statement.

 User Action:  Specify a valid column name.

STOMAPNOTDEF

 Storage map <text> is not defined

 Explanation:  The specified storage map does not exist in the
 specified schema.

 User Action:  Check the spelling of the storage map name and
 ensure that it is the name of a storage map in the specified
 schema.

STOMAP_EXISTS

 Storage map <text> already exists

 Explanation:  You attempted to create a storage map in the
 specified schema with the name of an existing storage map in
 that schema.

 User Action:  Choose a different name for the new storage map.

STOTABUKN

 Table specifed in store clause, <text>, is unknown to this
 database or schema.

 Explanation:  The table named in the CREATE STORAGE MAP
 statement does not     exist in the database or schema.

 User Action:  Specify a valid table name.

STRARRAY

 Host variable <text> is either a structure array or in a
 structure array

 Explanation:  The SQL precompilers do not support references to
 fields in a structure array (a host structure defined as an
 array).

 User Action:  Assign the value in the structure array to a field
 which is not in a structure array before using it in an SQL
 statement.

STRCVTNUM

 String literal will be converted to numeric

 Explanation:  You tried to store a text literal into a numeric
 column.  The string literal will be converted to a numeric data
 type, if possible.

 User Action:  None.  However, if the string literal cannot be
 converted to a numeric data type, an error will result.

STRINXPR

 Host structure <text> used in a value expression

 Explanation:  SQL statements can only refer to a host structure
 in contexts where the host structure can be expanded to a list
 of values.  A value expression requires a single value, so host
 structures cannot be used there.

 User Action:  Replace the host structure with an elementary
 item.

STRLITEXP

 A string literal was expected

 Explanation:  A string literal was expected but something else
 was found.

 User Action:  Correct the syntax error.

STRLITMISQUO

 String literal missing closing quote

 Explanation:  The string in a user assignment statement is
 missing a closing quote.

 User Action:  Insert one or more quotes as appropriate.

STRMORELE

 The <text> structure has more elements than the <text> indicator
 vector

 Explanation:  The specified structure has more elements than the
 indicator vector it is associated with.

 User Action:  Make the indicator vector larger.

STRTOOBIG

 String literal is too big

 Explanation:  You entered a string literal with a length greater
 than 1024 characters.  The length of a string literal must be
 less than or equal to 1024 characters.  A likely cause of this
 error is an unmatched quote mark.

 User Action:  Put missing quote marker, or use a string literal
 with no more than 1024 characters.

STRTOOLON

 String expression must not be longer than <value>

 Explanation:  The string expression must be shorter than the
 specified      length.  For example a database filespec must be
 less than      255 characters.

 User Action:  Specify a shorter string expression.

STRXPREXP

 A string expression was expected

 Explanation:  A string literal, a character host variable, or
 USER was expected but something else was found.  (Note that USER
 is not permitted in EXECUTE IMMEDIATE, and specifying it will
 also generate this message.)

 User Action:  Correct the syntax error.

SUBNOGB

 Subqueries in basic predicates cannot use GROUP BY

 Explanation:  A subquery used in a basic predicate, such as
 WHERE CITY = (SELECT ...), cannot contain the GROUP BY clause.
 The ANSI standard does not support this.

 User Action:  If it is important to have only standard SQL
 statements in your program, remove the GROUP BY clause or change
 the predicate to include ANY or ALL.

SUBTOOVAL

 Column select expression specifies too many columns

 Explanation:  A column select expression may only fetch one
 value unless it is in an EXISTS predicate.  This means any
 column select expression that uses the column wildcard (*) must
 have only one-column tables in its FROM clause.

 User Action:  If you specified more than one column explicitly,
 remove all but one.  If you used a wildcard, explicitly name a
 single column instead.

SYMDEF

 $.,

 Explanation:  These three symbols are different between the US
 and elsewhere in the world.  To change the default symbols, this
 message may be changed.  Note that this string must be three
 characters long otherwise the US's symbols are used.

SYM_EXP

 One of the following symbols was expected:

 Explanation:  You typed an unexpected keyword.

 User Action:  Type a correct keyword.

SYNTAX_ERR

 Syntax error

 Explanation:  A syntax error was detected in a your SQL
 statement.

 User Action:  Correct the syntax error and try the statement
 again.

SYSPAGFOR

 Page format for system relations cannot be MIXED

 Explanation:  The system relations for Rdb/VMS must be placed in
 an area        that contains the uniform page format.

 User Action:   Either create a separate storage area for
 RDB$SYSTEM or change   the default page format to uniform.

SYSPAGUNI

 Page format for system relations being changed to UNIFORM

 Explanation:  The storage area that contain the system relations
 must   have UNIFORM page formats.  Either through the use of the
 defaults, or by directly specifing PAGE FORMAT IS MIXED,
       SQL has been told to use MIXED page format for the area
  containing the system relations.  SQL is overriding that
      to UNIFORM pages.

 User Action:  Nothing.  This is an informational message.  The
 user might     want to change the command if it originated in a
 command        file.  This may avoid confusion later.

S_ALGDIS

        Adjustable lock granularity is disabled

 Explanation:  Used in show commands

 User Action:

S_ALGENABLED

        Adjustable lock granularity is enabled

 Explanation:  Used in show commands

 User Action:

S_ALLINDDBF

 All indexes in database with filename <text>

 Explanation:  Used in show indexes --

S_ALLINDDBH

 All indexes in database with alias <text>

 Explanation:  Used in show indexes --

S_ALLINDDBP

 All indexes in database with pathname <text>

 Explanation:  Used in show indexes --

S_ALLTBLDBF

 All tables in database with filename <text>

 Explanation:  Used in show tables --

S_ALLTBLDBH

 All tables in database with alias <text>

 Explanation:  Used in show tables --

S_ALLTBLDBP

 All tables in database with pathname <text>

 Explanation:  Used in show tables --

S_ALLTYPDBF

 All domains in database with filename <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_ALLTYPDBH

 All Domains in database with alias <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_ALLTYPDBP

 All domains in database with pathname <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_BATCH_UPDATE

 Batch Update

 Explanation:  Used in SHOW TRANSACTION statement> --

S_BLANKS

 <text>

 Explanation:  Used in the SHOW statement -

S_COLHDR1

 Column Name Data Type Domain

 Explanation:  Used in SHOW TABLES statement --

S_COLHDR2

 ----------- --------- ------

 Explanation:  Used in SHOW TABLES statement --

S_COMMENT

 <text>

 Explanation:  Used in SHOW TABLES statement --

S_COMMIT_CONST

 Evaluating constraint <text> at commit time

 Explanation:  Used in SHOW TRANSACTION statement> --

S_COMPUTED

 Computed:  <text>

 Explanation:  Used in the SHOW statement -

S_COMTBL

 Comment on table <text>:

 Explanation:  Used in SHOW TABLES statement --

S_CONCOMMIT

 Evaluated on COMMIT

 Explanation:  Used in SHOW TABLES statement --

S_CONCURRENCY

 Consistency Level 2

 Explanation:  Used in SHOW TRANSACTION statement> --

S_CONNODEFER

 Evaluated on UPDATE, NOT DEFERRABLE

 Explanation:  Used in SHOW TABLES statement --

S_CONSISTENCY

 Consistency Level 3

 Explanation:  Used in SHOW TRANSACTION statement> --

S_CONSSGLLEV

 Single level constraint <text>

 Explanation:  a SINGLE LEVEL table constraint was specified

S_CONVERB

 Evaluated on each VERB

 Explanation:  Used in SHOW TABLES statement --

S_DBCDDPATH

 * data dictionary pathname is <text>

 Explanation:  Used for SHOW ALIAS --

S_DBHAN

 Alias <text>:

 Explanation:  Used for SHOW ALIAS --

S_DB_LCKTIM_INTVL

        Lock timeout interval is <value> seconds

 Explanation:  Used in show commands

 User Action:

S_DEFDB

 Default alias:

 Explanation:  Used for SHOW ALIAS --

S_DESCRIPTION

 Comment:  <text>

 Explanation:  Used in the SHOW statement -

S_DICT

 The current data dictionary is <text>

 Explanation:  Used in the SHOW DICTIONARY statement --

S_FC_COM

                 commit to journal optimization,

 Explanation:  Used in show commands

 User Action:

S_FC_INT

                ( checkpoint interval is <value> blocks,

 Explanation:  Used in show commands

 User Action:

S_FC_NOCOM

                 no commit to journal optimization,

 Explanation:  Used in show commands

 User Action:

S_FC_TIM

                 checkpoint timed every <value> seconds,

 Explanation:  Used in show commands

 User Action:

S_FC_TSN

                 transaction interval is <value> )

 Explanation:  Used in show commands

 User Action:

S_FLDADT

 <text> DATE VMS <text>

 Explanation:  Displays a DATE field definition --

S_FLDB_NS

 <text> TINYINT <text>

 Explanation:  Displays an unscaled BYTE field definition --

S_FLDB_S

 <text> TINYINT(<value>) <text>

 Explanation:  Displays a scaled BYTE field definition --

S_FLDF

 <text> REAL <text>

 Explanation:  Displays an F FLOAT field definition --

S_FLDG

 <text> DOUBLE PRECISION <text>

 Explanation:  Displays a G FLOAT field definition --

S_FLDL_NS

 <text> INTEGER <text>

 Explanation:  Displays an unscaled longword field definition --

S_FLDL_S

 <text> INTEGER(<value>) <text>

 Explanation:  Displays a scaled longword field definition --

S_FLDNL

 <text> NUMERIC(<value>,<value>) <text>

 Explanation:  Displays an unscaled word field definition --

S_FLDNU

 <text> UNSIGNED NUMERIC(<value>,<value>) <text>

 Explanation:  Displays a scaled word field definition --

S_FLDP

 <text> DECIMAL(<value>,<value>) <text>

 Explanation:  Displays an unscaled word field definition --

S_FLDQ_NS

 <text> BIGINT <text>

 Explanation:  Displays an unscaled longword field definition --

S_FLDQ_S

 <text> BIGINT(<value>) <text>

 Explanation:  Displays a scaled longword field definition -

S_FLDSS

 <text> VARBYTE LIST <text>

 Explanation:  Displays a list of varbyte field definition --

S_FLDSS_BLR

 Subtype:  BLR

 Explanation:  Displays a scaled longword field definition --

S_FLDSS_SEGLEN

 Segment Length:  <value>

 Explanation:  Displays a scaled longword field definition --

S_FLDSS_TXT

 Subtype:  TEXT

 Explanation:  Displays a scaled longword field definition --

S_FLDSS_TYP

 Subtype:  <value>

 Explanation:  Displays a scaled longword field definition --

S_FLDT

 <text> CHAR(<value>) <text>

 Explanation:  Displays a text field definition --

S_FLDUNK

 <text> Data type:  <value> <text>

 Explanation:  Displays a scaled longword field definition --

S_FLDVT

 <text> VARCHAR(<value>) <text>

 Explanation:  Displays a varying text field definition --

S_FLDW_NS

 <text> SMALLINT <text>

 Explanation:  Displays an unscaled word field definition --

S_FLDW_S

 <text> SMALLINT(<value>) <text>

 Explanation:  Displays a scaled word field definition --

S_GB_DISABLE

        Global buffers are disabled (number is <value>, user
 limit is <value>)

 Explanation:  Used in show commands

 User Action:

S_GB_ENABLED

        Global buffers are enabled (number is <value>, user limit
 is <value>)

 Explanation:  Used in show commands

 User Action:

S_INSERT_COUNT

 <value> rows inserted

 Explanation:  Used to displays counts of rows used.  --

S_INTEGNPRES

 Integrity is not preserved

 Explanation:  Security overrides data integrity.  Things like
 constraints will be ignored in order not to reveal the contents
 of secure data

S_INTEGPRES

 Integrity is preserved

 Explanation:  Data integrity overrides any security concern.
 Therefore, things like PRIMARY and UNIQUE key constraints will
 not be ignored because of security level

S_LINE

 *-

 Explanation:  Used in the SHOW TABLES * statement

S_LIST_STOMAP_NAME

 <text> Lists Storage Map

 Explanation:  Used in the SHOW STORAGE MAPS statement - only for
 the list storage map.  Other maps use S_STOMAP_NAME.  --

S_LOCK_ER

 Reserving table <text> for exclusive read

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LOCK_EW

 Reserving table <text> for exclusive write

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LOCK_PR

 Reserving table <text> for protected read

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LOCK_PW

 Reserving table <text> for protected write

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LOCK_SR

 Reserving table <text> for shared read

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LOCK_SW

 Reserving table <text> for shared write

 Explanation:  Used in SHOW TRANSACTION statement> --

S_LONG_BLANKS

 <text>

 Explanation:  Used in the SHOW statement -

S_LONG_DESCRIPTION

 description <text>

 Explanation:  Used in the SHOW statement -

S_MULTLEV

 Metadata is not single level

 Explanation:  This is only applicable to an SERdb database.  The
 database was created withoutt he SINGLE LEVEL ONLY root file
 param which means that multiple security levels (e.g.  B1) would
 be allowed.

S_NOWAIT

 Nowait

 Explanation:  Used in SHOW TRANSACTION statement> --

S_PRIV_DB

 Privileges on Alias <text>

 Explanation:  Used in show protection --

S_PRIV_TBL

 Privileges on Table <text>

 Explanation:  Used in show protection --

S_PROT_DB

 Protection on Alias <text>

 Explanation:  Used in show protection --

S_PROT_TBL

 Protection on Table <text>

 Explanation:  Used in show protection --

S_QUERY_HEADER

 Query Header:  <text>

 Explanation:  Used in the SHOW statement -

S_RDBVMSFIL

 * Rdb/VMS database in file <text>

 Explanation:  Used for SHOW ALIAS --

S_READONLY

 Read only

 Explanation:  Used in SHOW TRANSACTION statement> --

S_READ_WRITE

 Read Write

 Explanation:  Used in SHOW TRANSACTION statement> --

S_SERDBSEVMSFIL

 * SERdb database in file <text>

 Explanation:  The database was created as an SERdb:  a secure
 database.  This type of database offers various added security
 features.

S_SNGLEV

 Metadata is single level

 Explanation:  This is only applicable to an SERdb database.  The
 database was created with the SINGLE LEVEL ONLY root file param
 which means that only one security level (e.g.  B1) would be
 allowed.  All attempts to specify other levels will be flagged
 as an error

S_SOURCE

 Source:  <text>

 Explanation:  Used in SHOW TABLES statement --

S_STOAREA_READONLY

 Access is:  Read only

 Explanation:  Used in SHOW STORAGE AREA

S_STOAREA_READWRITE

 Access is:  Read write

 Explanation:  Used in SHOW STORAGE AREA

S_STOAREA_UNIFORM

 Page Format:  Uniform

 Explanation:  Used in the SHOW STORAGE AREAS statement --

S_STOAREA_WRITEONCE

 Access is:  Write once

 Explanation:  Used in SHOW STORAGE AREA

S_STOMAP_NAME

 <text>

 Explanation:  Used in the SHOW STORAGE MAPS statement --

S_SYSINDDBF

 System indexes in database with filename <text>

 Explanation:  Used in show indexes --

S_SYSINDDBH

 System indexes in database with alias <text>

 Explanation:  Used in show indexes --

S_SYSINDDBP

 System indexes in database with pathname <text>

 Explanation:  Used in show indexes --

S_SYSTBLDBF

 System tables in database with filename <text>

 Explanation:  Used in show tables --

S_SYSTBLDBH

 System tables in database with alias <text>

 Explanation:  Used in show tables --

S_SYSTBLDBP

 System tables in database with pathname <text>

 Explanation:  Used in show tables --

S_SYSTYPDBF

 System domains in database with filename <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_SYSTYPDBH

 System domains in database with alias <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_SYSTYPDBP

 System domains in database with pathname <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_TBLINFO1

 Information for table <text>

 Explanation:  Used in the SHOW TABLES * statement --

S_TBLINFO2

 End of information for table <text>

 Explanation:  Used in the SHOW TABLES * statement --

S_TRANSBRIEF

 <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFCOMMENT

 Comment <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFDEF

 Definition for transfer <text>:

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFDEFINER

 Definer <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFDEFNONE

 No definition found

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFDELTA

 Retry frequency <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFDESTDB

 To <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFEPILOG

 Epilogue file <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFERS

 Transfers in transfer monitor database

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFINF1

 Information for transfer <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFINF2

 End of information for transfer <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFLAST

 Last executed <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFLINE

 *-

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFLOGFILE

 Log file <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFMODEE

 Type EXTRACTION

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFMODEER

 Type EXTRACTION ROLLUP

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFMODER

 Type REPLICATION

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNEXT

 Next transfer <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNOEPI

 No epilogue file

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNOLOG

 No log file

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNONE

 No transfers found

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNOPRIV

 <text> No privilege for SHOW

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNOPRO

 No prologue file

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFNOSTS

 Last completion status Transfer has never executed successfully

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFPROLOG

 Prologue file <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFRETRIED

 Number of retries <value> times

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFRETRY

 Number of retries <value> times

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCH

 Schedule for transfer <text>:

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHDAY

 Frequency Every day at <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHDLT

 Frequency Every <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHDPW

 Frequency Every <text> at UW:ZW:ZW.ZW

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHDPW2

 Every <text> at UW:ZW:ZW.ZW

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHMON

 Frequency Every month at <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHNONE

 No schedule found

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHONC

 Frequency One time only

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSCHWEK

 Frequency Every week at <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSOURCE

 <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSRCDB

 From <text> (Authorization ID <text>)

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSRCNOH

 From <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTART

 Start <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTATUS

 Last completion status <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTS

 Status for transfer <text>:

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSACT

 State ACTIVE since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSNONE

 No status found

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSRET

 State RETRYING since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSSCH

 State SCHEDULED since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSSSP

 State SUSPENDED since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSUNS

 State UNSCHEDULED since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRANSFSTSWTR

 State WAITING TO RETRY since <text>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRAN_BASESYS

 Transaction information returned by base system:

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRAN_DBHANDLE

 On alias <text>

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRAN_DECLARE

 Transaction characteristics:

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRAN_DEFDB

 On the default alias

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRAN_HEADER

 Transaction information:

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRAN_NOBASSYS

 No transaction information returned by base system

 Explanation:  Used in SHOW TRANSACTION statement> --

S_TRDPB2AIJ

 AIJ <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AIJALL

 AIJ allocation <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AIJCONT

 AIJ continuous <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AIJEXT

 AIJ extent <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AIJONCE

 AIJ once <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AIJSPL

 AIJ spool file <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2ALG

 ALG <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2ALGDIS

 Adjustable lock granularity is disabled

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2ALGENA

 Adjustable lock granularity is enabled

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2ALLOC

 Allocation is <value> pages

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2AUTO

 Open automatic <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2BADCODE

 (<value> other unknown parameters found)

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2BFLEN

 Buffer size is <value> blocks

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2CDDMNT

 CDD maintained <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2CDDPATH

 CDD pathname <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2CDDREQ

 CDD required <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2CHGSTO

 Change storage <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2CONVERT

 Convert <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2DBRBUFF

 Number of recovery buffers is <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2DEFSTO

 Define storage <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2DELSTO

 Delete storage <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2DESCR

 Description source <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2ENDSTO

 End storage area <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXSGRW

 percent growth is <value> pages )

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXSMAX

 maximum of <value> pages,

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXSMIN

 Snapshot extent is ( minimum of <value> pages,

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXSPGS

 Snapshot extent is <value> pages

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXTBLE

 Extensible <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXTGRO

 percent growth is <value> pages )

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXTMAX

 maximum of <value> pages,

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXTMIN

 Extent is ( minimum of <value> pages,

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2EXTPGS

 Extent is <value> pages

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2FILESPC

 Filespec <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2FILETYP

 File type <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2HEADER

 Target database parameters

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2LAYRACC

 Layered access <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2MANUAL

 Open manual <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2NUMBF

 Number of buffers is <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2NUMNODE

 Number of VAXcluster nodes is <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2NUMUSR

 Number of users is <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2PGSIZE

 Page size is <value> blocks

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2PROT

 Protection <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2READONL

 Read only <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2REQSCO

 Request scope <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SEGAREA

 Segment area <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNAP

 Snapshot <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPALL

 Snapshot allocation is <value> pages

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPDIS

 Snapshot is disabled

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPENA

 Snapshot is enabled

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPEND

 Snapshot is enabled deferred

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPENI

 Snapshot is enabled immediate

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SNPFLG

 SNP flag <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SPAMINT

 Spam interval <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SPAMS

 Spams <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SPMTHR1

 Spam threshold 1 <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SPMTHR2

 Spam threshold 2 <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2SPMTHR3

 Spam threshold 3 <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_TRDPB2STONAME

 Storage name <value>

 Explanation:  Used in the SHOW TRANSFER statement.

S_USRINDDBF

 User indexes in database with filename <text>

 Explanation:  Used in show indexes --

S_USRINDDBH

 User indexes in database with alias <text>

 Explanation:  Used in show indexes --

S_USRINDDBP

 User indexes in database with pathname <text>

 Explanation:  Used in show indexes --

S_USRTBLDBF

 User tables in database with filename <text>

 Explanation:  Used in show tables --

S_USRTBLDBH

 User tables in database with alias <text>

 Explanation:  Used in show tables --

S_USRTBLDBP

 User tables in database with pathname <text>

 Explanation:  Used in show tables --

S_USRTYPDBF

 User domains in database with filename <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_USRTYPDBH

 User domains in database with alias <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_USRTYPDBP

 User domains in database with pathname <text>

 Explanation:  Used in SHOW DOMAINS statement --

S_VALID

 Valid If:  <text>

 Explanation:  Used in the SHOW statement -

S_VERB_CONST

 Evaluating constraint <text> at verb time

 Explanation:  Used in SHOW TRANSACTION statement> --

S_VIDANAM

 * VIDA database with name <text>

 Explanation:  Used for SHOW ALIAS --

S_WAIT

 Wait

 Explanation:  Used in SHOW TRANSACTION statement> --

S_WAIT_INTERVAL

 Wait <value> seconds before timeout

 Explanation:  Used in SHOW TRANSACTION statement.> --

TBLCOLAFT

 You specified both COLUMN and TABLE privileges with a POSITION
 or AFTER clause

 Explanation:  You specified both COLUMN and TABLE privileges in
 a GRANT or REVOKE statement with a POSITION or AFTER clause.
 Unless the ACLs are identical on both the column and the table,
 this could produce misleading results.

 User Action:  Specify the column and table privileges in
 separate GRANT or REVOKE statements.

TBLCURDYN

 List cursor <text> cannot reference dynamic table cursor, <text>

 Explanation:  The list cursor named in the message references a
 table cursor that is dynamic.

 User Action:  The list cursors for the table cursor must also be
 dynamic.

TBLNOTCUR

 Table <text> is not included in cursor <text>

 Explanation:  An UPDATE or DELETE statement that uses the
 CURRENT OF clause must name the same table specified in the
 cursor.

 User Action:  Either change the UPDATE or DELETE statement to
 use the table specified in the cursor, or use a cursor declared
 for the table you specified.

TBL_CDD_NAME

 CDD Pathname:  <text>

 Explanation:  Used by SHOW commands for showing data dictionary
 pathname information.

 User Action:  None.

THRESHIGNO

 Threshold clause with no specific storage area found in
 statement

 Explanation:  You did not specify a storage area for the
 threshold clause.

 User Action:  Please specify the storage area(s) or remove the
 threshold clause.

THRIGNSYS

 Threshold options ignored for system relation area

 Explanation:  The storage area that contain the system relations
 must   have UNIFORM page formats.  Either through the use of the
 defaults, or by directly specifing THRESHOLD options,  SQL has
 been told to apply threshold options for the area
      containing the system relations.  SQL is ignoring those
   options.

 User Action:  Nothing.  This is an informational message.  The
 user might     want to change the command if it originated in a
 command        file.  This may avoid confusion later.

THRNOTSYS

 Theshold option not valid for system relation area

 Explanation:  The storage area for RDB$SYSTEM was defined to
 have threshold         options.  This is not allowed for
 RDB$SYSTEM.

 User Action:  Remove the threshold option from the command and
 try again.

TOKINSBEF

 <text> inserted before error symbol

 Explanation:  When parsing an SQL statement, the parser
 encountered an error.  The message for that error appeared prior
 to this message.  In an attempt to recover from that error, SQL
 inserted the specified token before the token that generated the
 error, and generated this message to help you understand any
 additional messages that follow.

 User Action:  None.  This is an informational message only.

TOKTOOBIG

 Symbol name is too big

 Explanation:  You entered a symbol (token) name with a length
 greater than 32.  The length of a symbol name must be less than
 or equal to 32 characters.

 User Action:  Use a symbol with no more than 32 characters.

TOOBIGBLR

 Request BLR is too large to execute

 Explanation:  Your request is too large to compile.

 User Action:  Break the DML statement into smaller parts.

TOOMANYNAMES

 Too many levels of naming used without multischema

 Explanation:  The user entered the name of an object which was
 qualified with too many names.  When multischema is disabled
 (the default), table names may be qualified only by a schema
 name; column names may be qualified only by a schema and table
 name.

 User Action:  In order to qualify a schema name, table name or
 column name with an additonal name for the catalog, multischema
 must be enabled using the MULTISCHEMA compiler option or the SET
 MULTISCHEMA statement in interactive or dynamic.

TOOMANYTBL

 Table cursor, <text>, references more than one table

 Explanation:  The table cursor named in the message references
 more than one table.

 User Action:  Base the list on a table cursor that references
 only single table.

TRAACT

 A database cannot be attached while a transaction is active

 Explanation:  You issued an ATTACH statement while a transaction
 was still in progress.

 User Action:  You must either COMMIT or ROLLBACK the current
 transaction or wait until the current transaction is terminated
 before attaching another database.

TRAACT_1

 A database cannot be created or altered while a transaction is
 active

 Explanation:  You issued a CREATE DATABASE or an ALTER DATABASE
 statement while a transaction was still in progress.

 User Action:  You must either COMMIT or ROLLBACK the current
 transaction or wait until the current transaction is terminated
 before creating another database or altering an exsisting one.

TRAACT_2

 ROLLBACK or COMMIT the transaction

 Explanation:  You are attempting an operation that cannot be
 executed while the current transaction is still in progress.

 User Action:  You must either COMMIT or ROLLBACK the current
 transaction or wait until the current transaction is terminated
 before attempting the new database activity.

TRAACT_3

 A database cannot be dropped while a transaction is active

 Explanation:  You issued a DROP DATABASE statement while a data
 manipulation transaction was still in progress.

 User Action:  COMMIT or ROLLBACK the transaction, start a new
 transaction, and reissue the DROP DATABASE statement.

TRADBPNEWONL

 Database parameters are only allowed for new database

 Explanation:  You used one of the database parameter clauses in
 a transfer definition in which you used the TO EXISTING clause.
 Database parameters are only allowed with the TO NEW FILENAME
 clause.

 User Action:  Use the TO NEW FILENAME clause or omit the
 database parameters in the transfer definition.

TRAHDLINV

 Transaction handle data type invalid, must be longword

 Explanation:  You specified a transaction handle that was not a
 longword.

 User Action:  You must use !VAL and longword variable.

TRAMODSPC

 Only one transaction mode may be specified for a transaction

 Explanation:  You specified both the READ_WRITE and READ_ONLY
 transaction modes in a DECLARE TRANSACTION statement.

 User Action:  Specify either transaction mode, not both, for a
 single database.  You can specify different transaction modes
 for different databases in a single DECLARE TRANSACTION
 statement, however.

TRANOTOWNER

 This transfer is not the owner of <text> <text>

 Explanation:  The transfer definition attempts to create an
 object which already already exists in the target database and
 which is not owned by this transfer.  That is, it was not
 created by this transfer.

 User Action:  If the objects are not expected to exist in the
 target database when the transfer will be executed, the WITHOUT
 CHECKING option will avoid this error.  Otherwise, those objects
 must be dropped in the target database before the transfer may
 be created.

TRANSFDISTREP

 DISTINCT is not allowed in queries moved by replication
 transfers

 Explanation:  The user entered the DISTINCT keyword in a query
 as part of a CREATE TRANSFER statement which defined a
 replication transfer.

 User Action:  Re-enter the statement without the DISTINCT
 keyword.

TRANSFGRPBY

 GROUP BY is not allowed in queries moved by CREATE TRANSFER

 Explanation:  The user entered a GROUP BY clause in a query as
 part of a CREATE TRANSFER statement.

 User Action:  Re-enter the statement without the GROUP BY
 clause.

TRANSFHAVING

 HAVING is not allowed in queries moved by CREATE TRANSFER

 Explanation:  The user entered a HAVING clause in a query as
 part of a CREATE TRANSFER statement.

 User Action:  Re-enter the statement without the HAVING clause.

TRANSFSUBQRY

 Subqueries are not allowed in queries moved by CREATE TRANSFER

 Explanation:  The user entered a subquery in a query as part of
 a CREATE TRANSFER statement.

 User Action:  Re-enter the statement without the subquery.

TRANSFUNIONALL

 ALL keyword must be specified for union in CREATE TRANSFER

 Explanation:  The user failed to enter the ALL keyword after the
 UNION keyword in the select expression as part of a CREATE
 TRANSFER statemetn.

 User Action:  Re-enter the statement with UNION ALL, not just
 UNION.

TRATOEXEXTR

 Existing target database is not allowed for this transfer type

 Explanation:  You used the TO EXISTING clause in a REPLICATION
 or EXTRACTION ROLLUP transfer definition.  This is only allowed
 for EXTRACTION transfers.  REPLICATION and EXTRACTION ROLLUP
 transfers must create a new database.

 User Action:  Use the EXTRACTION transfer type or the TO NEW
 FILENAME clause in the transfer definition.

TRATOEXPRIV

 Insufficient privilege to create tables in target database

 Explanation:  You used to the TO EXISTING clause specifying a
 database for which you do not have the CREATETAB privilege.

 User Action:  Use the TO NEW FILENAME clause, specify an
 existing target database for which you have the CREATETAB
 privilege, or obtain

TRATOEXRDB

 Existing target database must be an Rdb/VMS database

 Explanation:  You used the TO EXISTING clause specifying a
 database which is not a Rdb/VMS database.

 User Action:  Use the TO NEW FILENAME clause in the transfer
 definition or change the target database to an Rdb/VMS database.

TREE_OVRFLO

 Tree storage overflow

 Explanation:  The internal limit of the AST tree nodes was
 exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

TRIGNOTDEF

 Trigger <text> is not defined

 Explanation:  The specified trigger does not exist in the
 specified schema.

 User Action:  Check the spelling of the trigger name and ensure
 that it is the name of a trigger in the specified schema.

TRIG_EXISTS

 Trigger <text> already exists

 Explanation:  You attempted to create a trigger in the specified
 schema with the name of an existing trigger in that schema.

 User Action:  Choose a different name for the new trigger.

TRNNOTBLS

 No tables were found in the database or schema

 Explanation:  The user entered MOVE TABLES *, but no tables were
 found.

 User Action:  Re-enter the transfer definition for a schema
 which contains tables.

TRNNOVIEWS

 No views were found in the database or schema

 Explanation:  The user entered MOVE VIEWS *, but no views were
 found.

 User Action:  Re-enter the transfer definition for a schema
 which contains views, or omit the MOVE VIEWS clause.

TWOIMPTXN

 Attempt to declare second implicit transaction handle

 Explanation:  An application linked against a shared image has
 more than one implicit transaction handle (PSECT
 RDB$TRANSACTION_HANDLE).  You altered the PSECT attributes
 during linking of the shared image to create two different
 transaction handles.

 User Action:  Don't alter the PSECT attributes of the
 RDB$TRANSACTION_HANDLE PSECT.

TXNNOTLONG

 Transaction handle is not a longword.

 Explanation:  Transaction handles must be defined using the VAX
 longword data type.

 User Action:  Use a longword to declare the transaction handle:
 In COBOL, use PICTURE S9(9) COMP.  In PL/I, use FIXED
 BINARY(31).  In FORTRAN, use INTEGER*4.

TXN_HNDL_IGNORED

 Transaction handle parameter ignored

 Explanation:  Transaction handles currently are not supported.

 User Action:  None; this is an informational message.

UKN_ALT_OPT

 Unknown ALTER DATABASE option

 Explanation:  The ALTER DATABASE statement contains an option
 that is not    understood.

 User Action:  Reenter the statement with the syntax supported by
 this   version of SQL.

UNAOBTDSR

 Unable to obtain database dsri level

 Explanation:  SQL was unable to obtain the database information
 needed to establish its level of DSRI compliance.

 User Action:  Make sure that all individual databases are DSRI
 compliant

UNBDECFIL

 Unable to create declarations file <text>

 Explanation:  SQL attempted to open a DECLARATIONS file but
 could not.

 User Action:  Include a valid directory specification and valid
 declarations name.

UNBTMPFIL

 Unable to open a temporary file called <text>

 Explanation:  SQL attempted to open a temporary file.  It was
 either in the default directory or the directory specified with
 the /OBJ compile switch.

 User Action:  Include a valid directory specification with
 protection level that allows temporary files to created in it.

UNDEFVAR

 Variable <text> is not defined

 Explanation:  You referenced a host variable which is not
 defined.

 User Action:  Either define the variable, or specify the name of
 a variable which is already defined.

UNDPARAM

 Parameter <text> is not declared in procedure <text>

 Explanation:  This error is generated in two situations.  In the
 first, a procedure referred to a parameter which was not
 declared in the procedure.  In the second, you used a column in
 a context where it could be a parameter reference and an
 indicator variable was specified (or a comma omitted).

 User Action:  Define the parameter in the procedure, or use a
 parameter name which is defined in the procedure.

UNDVER

 Underlying versions are:

 Explanation:  Used for SHOW VERSION.

 User Action:  None.  --

UNICONSNOTCB

 Computed column may not have UNIQUE constraint

 Explanation:  You specified a unique constraint for a computed
 column, which does not support this constraint.

 User Action:  Remove the unique constraint from this definition.

UNIKEYEXI

 Column <text> is already part of a unique key

 Explanation:  You specified a unique key definition for a column
 which  is already mentioned in a unique key.   A column may only
 be mentioned in one unique key.

 User Action:  Enter the unique key definition without the column
 which  was part of another unique key.

UNIONEXTROLL

 Unions are only allowed by EXTRACTION ROLLUP transfers

 Explanation:  You have specified for an EXTRACTION or
 REPLICATION transfer a query which is a union.

 User Action:  Use multiple select expressions to achieve the
 desired result.

UNISELLIS

 The standard requires the select lists of the selects for UNION
 to have the same number of columns

 Explanation:  The select lists of the two select expressions in
 this UNION     have a different number of elements.  The ANSI
 and ISO SQL    standards require that they have the same number
 of elements.

 User Action:  If it is important to have only standard features
 in your        program, you should change your selects to have
 the same number        of items in the select list.

UNKTYPE

 <text> is based on an unknown type

 Explanation:  You referred to a host variable which was based on
 a host language the SQL precompiler does not support.

 User Action:  Base the host variable on a host language the SQL
 precompiler supports.

UNMATEND

 Unmatched end

 Explanation:  The Pascal precompiler found more END statements
 than BEGIN statements.  The scope for all variable declaration
 and usage      is at the global level.  This is caused by an
 error in the   precompiler or an error in your program.

 User Action:   Investigate if it is a error in your program.  If
 it is an       error in the precompiler, then please submit an
 SPR.

UNSCOMPBY

 <text>.<text> is not supported in this context

 Explanation:  You included the COMPUTED_BY field named in this
 error message in the SELECT FIELDS clause of a DEFINE TRANSFER
 statement.  This COMPUTED_BY field uses a value expression that
 is unsupported.

 User Action:  Reenter the DEFINE TRANSFER statement and omit the
 COMPUTED_BY field that uses the unsupported value expression.
 Refer to the DEFINE TRANSFER statement in the Data Distributor
 Handbook for information on what value expressions are
 supported.

UNSDATASS

 Unsupported date/time assignment from <text> to <text>

 Explanation:  You attempted an unsupported assignment between
 dates.

 User Action:  Check the documentation for valid date
 assignments.  The two dates must be comparable.  A secondary
 error message may provide a more precise reason for the error.
 The CAST function might be an appropriate workaround for a data
 type mismatch.

UNSDATATYPE

 Host variable <text> is an unsupported data type

 Explanation:  The host variable declaration uses a COMPLEX or
 REAL*16 FORTRAN data type.  These data types are not supported.

 User Action:  Either change the declaration so that only
 supported data types are used, or move the data to another data
 item which only uses supported data types.

UNSDATCVT

 Unsupported DATE conversion

 Explanation:  You tried to ALTER a column with a datatype of
 DATE to a numeric datatype.  This is unsupported.

 User Action:

UNSDATXPR

 Unsupported date expression

 Explanation:  You attempted an operation on a date that is not
 supported.

 User Action:  Check the documentation for valid date
 expressions.  If you are using the preprocessors, you might be
 able to work around the limitation by using a temporary
 variable.

UNSDB2PRIV

 Unsupported DB2 privilege ignored

 Explanation:  A GRANT or REVOKE statement specified a DB2
 privilege which the SQL interface to Rdb/VMS does not support.

 User Action:  None.  SQL ignores the unsupported privileges.

UNSDSCCLA

 Unsupported descriptor class <value>

 Explanation:  The class of the descriptor in an input parameter
 is not supported by the SQL interface to Rdb/VMS.

 User Action:  Use class S, D, DS, or VS.

UNSDTPCVT

 Unsupported data type conversion

 Explanation:  A dynamic SQL program tried to get SQL to perform
 a data type conversion which it does not support.  For example,
 a date field was fetched into a numeric field.  The SQL dynamic
 interface does not support conversions from date to numeric.

 User Action:  Change the data type used to pass data to or from
 the dynamic interface to a data type which can be converted to
 the data type of the data in the database.

UNSIGNED_VAR

 Host variable <text> is an unsigned variable which is illegal is
 SQL statements.

 Explanation:  The named variable is defined as an C unsigned
 variable.  Unsigned variables are illegal in SQL statements.

 User Action:  Use a signed version of this variable in the SQL
 statement.

UNSNUMXPR

 Unsupported numeric expression

 Explanation:  You attempted an operation that is not supported
 on a numeric value expression.  For example:  numeric = numeric
 || numeric;

 User Action:  Check the documentation for valid numeric
 expressions.  If you are using the preprocessors, you might be
 able to work around the limitation by using a temporary
 variable.

UNSPLIATT

 Host variable <text> uses an unsupported PLI attribute

 Explanation:  The host variable declaration uses a PLI attribute
 which is not supported.

 User Action:  Either change the declaration so that only
 supported attributes are used, or move the data to another data
 item which only uses supported attributes.

UNSSTRXPR

 Unsupported string expression

 Explanation:  You attempted an operation on a string that is not
 supported.  For example:  string = string + string;

 User Action:  Check the documentation for valid string
 expressions.  If you are using the preprocessors, you might be
 able to work around the limitation by using a temporary
 variable.

UNSSUPDAT

 Unsupported data type requested

 Explanation:  You requested input or output of an unsupported
 data type from the dynamic interface.

 User Action:  You should review the data types of the variables
 in the dynamic statement and change the offending data type to a
 supported data type.

UNSUPOP

 Operation supported for read-write databases only

 Explanation:  You attempted to perform data definition or
 updates on a VIDA database.  VIDA databases are read-only.

 User Action:  Do not issue any CREATE, INSERT, UPDATE, or DELETE
 statements with a VIDA database.

UNSUPVER

 Operation is unsupported for version of database.

 Explanation:  You tried to do something with a pre-V3.1 database
 that requires version 3.1 or higher.  This can happen  when
 Rdb/Remote is used to access a database of a different
         version than that of the database system.

 User Action:  Convert the database to the current version of
 Rdb/VMS        or do not attempt the operation that caused the
 problem.

UNTSTR

 Unterminated string found

 Explanation:  The matching quote (" or ') for a string was not
 found.

 User Action:  Reenter statement with matching quote character.

UPDCOLPRIV

 UPDATE(column-name) privilege is not supported

 Explanation:  UPDATE(column-name) is a DB2 privilege not
 supported by the SQL interface to Rdb/VMS.  UPDATE privilege
 will be granted on the entire table.

 User Action:  None.

UPDINSCUR

 Cursor <text> is an INSERT ONLY cursor

 Explanation:  The cursor referenced in the statement was defined
 as INSERT ONLY.  Thus, UPDATE, FETCH and DELETE statements are
 illegal.

 User Action:  Either change either the cursor declaration to
 UPDATE, or do not attempt to update the cursor.

UPDREACUR

 Cursor <text> is read-only

 Explanation:  A cursor is read-only if it includes a DISTINCT
 phrase, a function, a GROUP BY, HAVING, or UNION, or more than
 one table in its FROM clause.  Read-only cursors cannot include
 FOR UPDATE clauses and cannot be used in UPDATE or DELETE
 statements.

 User Action:  Either change whatever made the cursor read-only,
 or do not attempt to update the cursor.

USERINVIEW

 USER literals are not permitted in DDL statements

 Explanation:  SQL cannot store a USER literal in a ddl object
 such as a view or a constraint.

 User Action:  You must either explicitly specify the user name
 as string literal in the select list of the view definition, or
 specify USER in a query outside of the view definition.

USERNOTSUP

 The USER clause is not supported by SQL

 Explanation:  The USER clause of the CONNECT statement isn't
 supported by SQL.

 User Action:  Do not use this clause.

USINGCTXNOTALL

 USING CONTEXT is not allowed for this statement

 Explanation:  Your source contains a USING CONTEXT clause with a
 statement that does not allow that clause.

 User Action:  Remove the USING CONTEXT clause from the
 statement.

USRDEFTYP

 Host variable <text> is of an unknown user defined type

 Explanation:  The named variable is of a user defined type that
 wasn't defined within the pre-compilation unit.  User defined
 types must be defined in the same pre-compilation unit for them
 to be legal.

 User Action:  Use a different variable or include the type
 definition in the pre-compilation unit.

VECNOTIND

 Host variable <text> is a vector but is not used as an indicator
 structure

 Explanation:  The host variable is defined as a vector
 (one-dimensional array).  SQL only allows references to vectors
 if they are used as indicator variables for host structures
 (such indicator variables are also called indicator structures
 or indicator vectors).

 User Action:  Either change the host variable declaration so it
 is not an array, or move the data from the array to a variable
 that is not an array.

VEWNOTDEF

 View <text> is not defined in database or schema

 Explanation:  The specified view does not exist in the current
 database or schema.

 User Action:  Attach the proper database schema.  Spell the view
 name correctly.  You may have specified an expression where a
 view name was expected.

WAIMODSPC

 Only one wait mode may be specified for a transaction

 Explanation:  You specified both wait modes in a DECLARE
 TRANSACTION statement.

 User Action:  Specify either WAIT or NOWAIT, not both, in a
 DECLARE TRANSACTION statement.

WARDET

 A warning was detected

 Explanation:  This is the exit status for a preprocessor when an
 warning was detected.

 User Action:  Correct the error in the host language program and
 resubmit the job to the preprocessor.

WARNINGCB

 column attributes and data will be lost on commit

 Explanation:  You used the ALTER statement to change a column
 into a         computed column.  Because of the way this is
 implemented,   all attributes and data existing before the ALTER
 statement      will be lost when you issue a COMMIT statement.

 User Action:  If this behavior is unexpected, use the ROLLBACK
 statement      to undo the effects of the ALTER statement.

WHYTWICE

 Column <text> is specified more than once in the column list of
 a constraint.

 Explanation:  You specified the same column more than once in
 the column list of a UNIQUE, PRIMARY KEY or FOREIGN KEY
 constraint.

 User Action:  Specify each column only once.

WILDALLWILD

 Wildcard may not be followed by non-wildcard

 Explanation:  A CREATE TRANSFER statement was entered with a
 MOVE TABLES clause which specified a wildcard followed by a
 non-wildcard.  For example, A.*.*.B is not allowed; A.*.*.* is
 allowed.

 User Action:  Change the MOVE TABLES clause to make use of
 wildcarding at all subsequent levels once wildcarding has begun.

WISH_LIST

 Feature not yet implemented

 Explanation:  The action you requested requires a feature that
 is not implemented in the current version of this product.

 User Action:  Try to work around the unimplemented feature.

WRICIRREF

 A subquery in an INSERT, UPDATE or DELETE statement referenced
 the subject table

 Explanation:  You tried to use the same table in an INSERT,
 UPDATE or DELETE statement both as the target and in a subquery.
 The current ANSI and ISO SQL standards do not permit this.

 User Action:  If it is important to use only standard features
 in your program, you should remove the subquery which references
 the subject table.

YES_CHAR

 Y

 Explanation:  Used when asking YES/NO questions as the first
 character of a positive response.  This string is
         assumed to be a single character.  --

ZABORT

 User entered Control-Z to abort statement

 Explanation:  You typed a Control-Z to abort the current
 statement.

 User Action:  None.

ZEROSIZE

 Size value is zero.

 Explanation:  You have supplied a zero to be used for
 compression length.

 User Action:  Use a non-zero positive value for compression
 length.

Execute(@)

 @file-spec

 The 'at' sign (@) means "execute" in interactive SQL, just as in DCL.
 When you type @ and the name of an indirect command file, interactive
 SQL executes the statements in the file as if you had typed them one
 at a time at the interactive SQL prompt.  The default file type for
 an indirect command file is .SQL.  You can use the SET VERIFY
 statement to have the statements in the file displayed on the screen
 as they execute.

 The file-spec argument to the @ statement is the name of an indirect
 command file.  You can use either a full VMS file specification, a
 file name, or a logical name.  If you use a file name, interactive
 SQL looks in the current default VMS directory for a file by that
 name.  The file must contain valid interactive SQL statements.

Additional information available:

Examples

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

Format

 DECLARE cursor-name-parameter -----------------+
 +----------------------------------------------+
 ++---+----------------+-> TABLE CURSOR FOR ----+
  |   +-> INSERT ONLY -+                        |
  |   +-> READ ONLY ---+                        |
  |   +-> UPDATE ONLY -+                        |
  | +-------------------------------------------+
  | +--> statement-id-parameter ----------------+
  | +-------------------------------------------+
  | +--+------------------------------------+---+-> ;
  |    +> OPTIMIZE FOR -+-> FAST FIRST  -+--+   |
  |                     +-> TOTAL TIME --+      |
  |                                             |
  +-+----------------+-> LIST CURSOR FOR --+    |
    +-> INSERT ONLY -+                     |    |
    +-> READ ONLY ---+                     |    |
  +----------------------------------------+    |
  +-> statement-id-parameter -------------------+




Additional information available:

INSERT_ONLYREAD_ONLYTABLELIST

parameter1parameter2

parameter1

 A parameter that contains the name of the cursor you want to declare.
 Use a character-string parameter to hold the cursor name that the
 program supplies at run time.

INSERT_ONLY

 Insert-only cursors position themselves on a row that has just been
 inserted so that you can load data values into lists or rows of that
 row.

READ_ONLY

 Read-only cursors can be used to access row information from a result
 table whenever you do not intend to update the database.  For
 example, you could use a read-only cursor to fetch row and column
 information for display.

TABLE

 Specifies a cursor used to access individual rows of result tables.
 If you do not specify a cursor type, SQL declares a table cursor by
 default.

LIST

 Specifies a cursor used to access lists.

 A list is an ordered collection of elements of the data type LIST OF
 VARBYTE (also called LIST OF BYTE VARYING).  A list is equivalent to
 an RDO segmented string.  You can use lists to scan through very
 large data structures from within a language that does not support
 objects of such size.

 Lists exist as a set of elements within a row of a table.  Each list
 cursor must reference a table cursor, which provides the row context.

parameter2

 A parameter that contains an integer that identifies a prepared
 SELECT statement.  Use an integer parameter to hold the statement
 identifier that SQL generates and assigns to the parameter when SQL
 executes a PREPARE statement.

Functions

 Functions calculate values based on a value expression for every
 row in a result table.  Functions are sometimes called
 "statistical expressions" or "aggregate expressions" because
 they calculate a single value for a collection of rows in a
 result table.  Functions calculate a single value.

 The following keywords specify SQL functions.

    AVG                 Average of the values in a column

    CAST                Value from column converted
                        to any other data type (provided that neither
                        data type is LIST OF BYTE VARYING)

    COUNT               Number of rows in a result table

    CURRENT_DATE        DATE data type value containing
                        year, month, and day for date 'today'

    CURRENT_TIME        TIME data type value containing
                        hour, minute, and second for time 'now'

    CURRENT_TIMESTAMP   TIMESTAMP data type value containing year, month,
                        and day for date 'today' and hour, minute, and
                        second for time 'now'

    EXTRACT             Single date/time field value from a column,
                        expressed as an integer

    MAX                 Largest value in a column

    MIN                 Smallest value in a column

    SUM                 Sum of the values in a column

Additional information available:

CAST functionDate and time functionsMore Information

CAST function

  cast-function =

  -> CAST -> ( -> cast-operand AS -+-> data-type ---+-> ) ->
                                   +-> domain-name -+

 The CAST function converts a column of one data type to another
 datatype.  The data type and cast operand that you specify can
 be any data type except LIST OF BYTE VARYING (SEGMENTED STRING).

 If you use an INTERVAL as the data type, then the interval
 qualifier must specify only one field.

 If you specify the name of a domain in the AS clause, Rdb/VMS
 uses the current data type of that domain as the output data
 type of the CAST function.

Additional information available:

Examples

Examples

 The following example converts the average of the SALARY_AMOUNT
 column from scientific notation to an integer with two decimal
 places:

 SQL> SELECT AVG(SALARY_AMOUNT),
 cont>       CAST(AVG(SALARY_AMOUNT) AS INTEGER(2))
 cont> FROM SALARY_HISTORY;

   2.652896707818930E+004        26528.97

 The following example converts host language variables into
 date-time values using the CAST function:

    SQL> UPDATE SCHEDULE
         SET FINISH FINISH = FINISH + CAST(:SLIPPAGE AS INTERVAL
 MONTH)
         WHERE ...;

 The following example finds the longest serving employee still
 with the company:

 SELECT E.LAST_NAME,CURRENT_DATE,JH.JOB_START,
      EXTRACT(MONTH FROM (CURRENT_DATE - CAST(JH.JOB_START AS
 DATE ANSI))
              MONTH(9))
 FROM EMPLOYEES E, JOB_HISTORY JH
 WHERE E.EMPLOYEE_ID = JH.EMPLOYEE_ID AND
       (CURRENT_DATE - CAST(JH.JOB_START AS DATE ANSI)) MONTH (9)
 =
       (SELECT MAX((CURRENT_DATE - CAST(JH.JOB_START AS DATE
 ANSI)) MONTH (9))
 FROM JOB_HISTORY JH WHERE JH.JOB_END IS NULL);
  E.LAST_NAME                   JH.JOB_START
  Nash             1991-04-12   1979-02-23             146
  Gray             1991-04-12   1979-02-10             146
  Myotte           1991-04-12   1979-02-04             146
  Kinmonth         1991-04-12   1979-02-12             146
  Lapointe         1991-04-12   1979-02-20             146
 5 rows selected

 The following example uses the data type of the domain
 STANDARD_DATE to format the BIRTHDAY field.  Although the user
 alters the data type from DATE VMS to DATE ANSI, the SELECT
 statement used to access the data doesn't change.

     SQL> CREATE DOMAIN STANDARD_DATE DATE VMS;
     SQL>
     SQL> SELECT LAST_NAME, FIRST_NAME,
     cont> CAST(BIRTHDAY as STANDARD_DATE)
     cont> FROM EMPLOYEES;
     SQL>
     SQL> ALTER DOMAIN STANDARD_DATE DATE ANSI;
     SQL> SELECT LAST_NAME, FIRST_NAME,
     cont> CAST(BIRTHDAY as STANDARD_DATE)
     cont> from EMPLOYEES;

Date and time functions

 The EXTRACT, CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP
 keywords are accessible from anywhere that an expression is
 allowed in Rdb/VMS.  You can also use these keywords within
 triggers.

 The EXTRACT function selects a single date-time field from a
 DATE, TIME, TIMESTAMP or INTERVAL.  A date-time field is one of
 the following keywords:  YEAR, MONTH, DAY, HOUR, MINUTE, SECOND,
 or WEEKDAY.  If you specify WEEKDAY, then EXTRACT returns an
 integer representing the day of the week.  (Monday is
 represented as day 1, Sunday as day 7.)

 If you specify WEEKDAY, you can only use the data types
 TIMESTAMP and DATE as the extract source.  In all other cases,
 the extract source can be data type DATE, TIME, TIMESTAMP or
 INTERVAL.

Additional information available:

Examples

Examples

 Below is an example of an SQL statement that inserts the date
 into the JOB_START field of an employees record:

    SQL> INSERT INTO EMPLOYEES(JOB_START ...)
                    VALUES (CURRENT_TIMESTAMP, ...);

 If you use the CURRENT_TIMESTAMP keyword more than once within a
 statement, it retains the same value for the date and time.

More Information

 The following notes apply in general to functions:

  o  Rows with null values are not included when SQL evaluates
     functions.  If you specify DISTINCT, redundant values in
     rows are also not included.

  o  SUM calculates the total of the values specified by the
     value expression in its argument.  If there are no rows in
     the result table to which SUM is applied, it returns null.

  o  If a function has as its argument a value expression
     containing a column name that is an outer reference, the
     value expression cannot include an arithmetic operator.
     (The only cases where an outer reference makes sense as the
     argument to a function is in the subquery of a HAVING
     clause, or in a subquery in a select list.)


 Select More_Information to continue.

Additional information available:

More Information

More Information

  o  You cannot nest functions.  This means that a value
     expression used as an argument to a function cannot include
     a function.

  o  The keyword ALL in SUM, AVG, MAX, and MIN has no effect.
     For instance, specifying MAX (ALL EMPLOYEE_ID) is the same
     as saying MAX (EMPLOYEE_ID).

  o  You cannot specify fractional seconds if you use the CURRENT
     keyword in a DEFAULT clause.  Fractional seconds are
     inherited from the domain or column data type.

GRANT ANSI style

 GRANT  ----------->-----------+
                               |
 +---------------<-------------+
 ++-> db-privs-ansi --> ON DATABASE ALIAS -+-> alias -+-+-+
  |                                        +--- , <---+ | |
  +-> table-privs-ansi -> ON +----->----+-+             | |
  |                          +-> TABLE -+ |             | |
  |   +-----------------------------------+             | |
  |   +-+-+-> table-name -+-+---------------------------+ |
  |     | +-> view-name --+ |                           | |
  |     +--------- , <------+                           | |
  |                                                     | |
  +-> column-privs-ansi -> ON COLUMN -+> column-name -+-+ |
                                      +------- , <----+   |
    +----------------------------<------------------------+
    +-> TO -+-+-> identifier-ansi-style -+--+----+
            | +-> PUBLIC ----------------+  |    |
            +------------- , <--------------+    |
        +--------------------<-------------------+
        +--+---------->-----------+-> ;
           +-> WITH GRANT OPTION -+

Additional information available:

WITH_GRANT_OPTION

More Informationcolumn privstable privsdb privsidentifier ansi style

More Information

 The ANSI style GRANT statement creates or adds privileges to an
 entry to the Rdb/VMS access privilege set for a database, table,
 column, or view.  Each entry in an access privilege set consists
 of an identifier and a list of privileges assigned to the
 identifier:

  o  Each identifier specifies a user or PUBLIC.

  o  The set of privileges specifies what operations that user or
     user group can perform on the database, table, or column.

 For ANSI style databases the access privilege set is not
 order-dependent.  The user matches the entry in the access
 privilege set and gets whatever privileges have been granted on
 the database, table, or column and also gets the privileges
 defined for PUBLIC.  A user without an entry in the access
 privilege set will get only the privileges defined for PUBLIC.
 There is always an entry for PUBLIC in the access privilege set,
 even if PUBLIC has no access to the database, table, or column.

column privs

 One or more of the following column privileges you want to add
 to an existing access privilege set entry or create in a new
 one:

 column-privs-ansi =

 ---+-+-+-> 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 database
 level, grants access only to the columns, tables, or database
 specified in the GRANT statement.

table privs

 One or more of the following table privileges you want to add to
 an existing access privilege set entry or create in a new one:

 table-privs-ansi =

 -+--+-+-> SELECT -----------------------------+-+--+-->
  |  | +-> INSERT -----------------------------+ |  |
  |  | +-> 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 database
 level, grants access only to the tables, columns, or database
 specified in the GRANT statement.

db privs

 One or more of the following privileges you want to add to an
 existing access privilege set entry or create in a new one:

 db-privs-ansi =

 ----+---+-+-> SELECT -----+-+----+->
     |   | +-> INSERT -----+ |    |
     |   | +-> OPERATOR ---+ |    |
     |   | +-> DELETE -----+ |    |
     |   | +-> CREATETAB --+ |    |
     |   | +-> ALTER ------+ |    |
     |   | +-> DROP -------+ |    |
     |   | +-> DBCTRL -----+ |    |
     |   | +-> DBADM ------+ |    |
     |   | +-> SHOW -------+ |    |
     |   | +-> REFERENCES -+ |    |
     |   | +-> UPDATE -----+ |    |
     |   | +-> SECURITY ---+ |    |
     |   | +-> DISTRIBTRAN + |    |
     |   +--------, <--------+    |
     +-------> ALL PRIVILEGES ----+

 To grant all privileges on the database, specify the ALL keyword
 instead of a list of privileges.

 Granting ANSI style privileges at the column, table, or database
 level, grants access only to the columns, tables, or database
 specified in the GRANT statement.

 You must declare all databases that you refer to in a GRANT
 statement.  If you use the default database, you must use the
 alias RDB$DBHANDLE to work with the access privilege set for the
 database.

identifier ansi style

 Specifies the identifiers for the new or modified access
 privilege set entry.

 identifier-ansi-style =

 ------> uic-identifier --------->

 The identifiers are standard VMS identifiers.

 In ANSI style databases you are only allowed to specify
 single-user UICs.  No general or system identifiers are allowed.
 They identify only those users who are common to all the groups
 defined by the individual identifiers.  Users who do not match
 all the identifiers are not controlled by that entry.

 Specifying PUBLIC is equivalent to using the UIC identifier
 [*,*].

 When Rdb/VMS creates an ANSI style database, the creator of the
 database gets all privileges and the PUBLIC entry gets no
 privileges.

WITH_GRANT_OPTION

 Allows the user who has been granted a privilege the option of
 granting that privilege to other users.

 The WITH GRANT OPTION clause specifies that the grantees in the
 TO clause may grant the privileges in the privilege list to
 other users for as long as they have the privileges.  When the
 privilege is revoked from the grantee who received the
 privileges with the WITH GRANT OPTION clause, the privileges
 will also be revoked from all the users who received the
 privileges from that grantee (unless these users have received
 the privilege from yet another user who still has the
 privilege).

Interactive kit

 If the interactive, rather than the development, version of the
 SQL distribution kit is installed on your system, you can run
 host language programs but cannot develop them.  You can create
 the sample database SQL_PERSONNEL on your system and try
 interactive examples in the SQL documentation set.  However, you
 cannot try out embedded, module language, or dynamic SQL
 examples because the SQL precompiler and SQL module processor
 are not part of the interactive version of SQL.

Linking programs

 When users link programs processed with either the SQL
 precompiler or the SQL module processor, they must somehow
 specify the SQL interface user library SYS$LIBRARY:SQL$USER.OLB.
 If you define the logical name LNK$LIBRARY as the user library,
 you save users from having to explicitly specify that library
 each time they link their embedded SQL programs.

 To define LNK$LIBRARY, issue this command:

 $ DEFINE/SYSTEM/NOLOG LNK$LIBRARY SYS$LIBRARY:SQL$USER.OLB

 To make sure LNK$LIBRARY is defined each time the system starts
 up, edit the command file SQL$STARTUP.COM and remove the comment
 character in front of the LNK$LIBRARY definition.

 You must also check to see that the system logical name
 LNK$LIBRARY is not already being used.  Your site or other
 products may have already defined the LNK$LIBRARY logical name.
 If so, you should add a numeric suffix to the LNK$LIBRARY
 definition you create and to the definition in SQL$STARTUP.COM.
 See the Rdb/VMS Installation Guide for more information about
 adding a suffix.

 If you do not define LNK$LIBRARY to specify the SQL user
 library, users must explicitly name it when they link programs
 with embedded SQL statements.  For example:

 $ LINK my_prog, SYS$LIBRARY:SQL$USER/LIBRARY

 See the VAX/VMS Linker Reference Manual for more information
 about the LINK command.

literals

 Literals, which are also called constants, specify a value.
 Many SQL clauses require literal values, which can be either
 numeric, character string, or date.  In addition, SQL provides
 three keywords, NULL, USER, and CURRENT_TIMESTAMP, that refer to
 literals.  NULL, USER, and CURRENT_TIMESTAMP are described in
 separate help topics.

Additional information available:

numericcharacter stringdate-time

numeric

 A numeric literal is a string of digits that SQL interprets as a
 decimal number.

 numeric-literal =

 --+------+-+-+-> digit -+-+------------------------+-+-+
   +-> + -+ | +----<-----+ +-> . --+------->------+-+ | |
   +-> - -+ |                      +-+-> digit -+-+   | |
            |                        +----<-----+     | |
            +-> . -+-> digit -+-----------------------+ |
                   +----<-----+                         |
  +-----------------------------------------------------+
  ++---------->-----------------+-->
   +-- E -+------+-+-> digit -+-+
          +-> + -+ +----<-----+
          +-> - -+

Additional information available:

More InformationExamples

More Information

 A numeric literal may be:

  o  A decimal string consisting of digits and an optional
     decimal point.  The maximum length, not counting the decimal
     point, is 19 digits.

  o  A decimal number in scientific notation (E-format),
     consisting of a decimal string mantissa and a signed integer
     exponent, separated by the letter E or D (for G_Floating).

Examples

 SQL allows flexibility in numeric expressions.  You can use
 unary plus and minus, you can use any form of decimal notation,
 and you can embed spaces in E notation.  The following are valid
 numeric strings:

 123
 34.9
 -123
 .25
 123.
 0.33889909
 6.03E+23
 6.03E-23

 If you use a numeric literal to assign a value to a column or a
 variable, the data type of the column or variable determines the
 maximum value you can assign.

character string

 SQL recognizes two types of character string literals:

  o  A quoted character string to represent printable ASCII
     characters

  o  A hexadecimal character string (an X followed by a quoted
     character string) to represent printable and nonprintable
     ASCII characters

 See the section on literals in Chapter 3 of the Reference Manual
 for details.

date-time

 When you refer to a date-time data type with a literal in an SQL
 statement, you must precede the literal with the data type name
 and enclose the literal in single quotation marks.  You must
 provide values for all fields, and values must be within the
 valid range for the field.

 In the following syntax descriptions, 'y', 'd', 'h', and 's'
 stand for fields representing years, days, hours, and seconds,
 respectively.  The letter 'm' stands for the month number when
 it follows a 'y', and the minutes number when it does not.
 Fractions of a second are represented by digits after the
 decimal point.


  o  DATE literals

     DATE 'y-m-d'

     Example:  DATE '1991-12-24'

  o  TIME literals

     TIME 'h:m:s' or 'h:m:s.s'

     Example:  TIME '14:23:45.19'

     TIME represents 24-hour time.

  o  TIMESTAMP literals

     TIMESTAMP 'y-m-d:h:m:s'

     Example:  TIMESTAMP '1992-3-11:14:12:01.00'

  o  INTERVAL literals

     INTERVAL '±y-m' YEAR TO MONTH

     INTERVAL '±d:h:m:s.s' DAY TO SECOND

     Examples:

     INTERVAL '-1-2' YEAR TO MONTH

     INTERVAL '+1:4:30:0.0' DAY TO SECOND

     INTERVAL '1:10' DAY TO HOUR

     INTERVAL '235' MONTH(3)

  o  VMS date format

     For assignment to and from DATE VMS data types, you can use
     a string of numeric characters of the form
     'YYYYMMDDHHMMSSCC'.

     In this string, each letter represents one digit of the
     year, month, day, hour, minute, second, hundredths of a
     second.

 Since intervals can be signed quantities, a leading addition or
 subtraction operator can precede the literal to indicate
 positive (+) or negative (-) intervals.  You must include an
 interval-qualifier in an interval literal.

 SQL does not allow embedded spaces in date-time literals
 although trailing and leading spaces are ignored.

Module language

 MODULE  -+-------->--------+-> LANGUAGE language-name -+
          +-> module-name --+                           |
 +------------------------------------------------------+
 +--+-------------------------+--+
    +-> CATALOG catalog-name -+  |
 +-------------------------------+
 ++-> SCHEMA schema-name --------------------------+----+
  +-> AUTHORIZATION auth-id -----------------------+    |
  +-> SCHEMA schema-name  AUTHORIZATION auth-id ---+    |
    +---------------------------------------------------+
    +-+----------------+------+------------------------+-+
      +-> ALIAS alias -+      ++-> declare-statement -++ |
                               +--------- <-----------+  |
 +-------------------------------------------------------+
 ++-> PROCEDURE procedure-name +-> param-decl +-> ; sql-statement ; -+->
  |                            +----+------+--+                      |
  |                                 +-- , <+                         |
  +--------------------------------<---------------------------------+

Additional information available:

INDICATOR_ARRAY

record typeMore InformationCommand line

record type

 record-type =
 -> RECORD ++> item-name +> data-type --+++> END RECORD ->
           ||            +> record-type +||
           |+---------+-------+----------+|
           |          +-- , <-+           |
           +-> FROM path-name -----+      |
           |+----------------------+      |
           |++-------------------------+--+
           | +> FIXED -----------------+  |
           | +> NULL TERMINATED BYTES -+  |
           | +> NULL TERMINATED        |  |
           |    CHARACTERS ------------+  |
           |                              |
           +-> 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:

More informationexact numeric type

More information

 The FIXED, NULL TERMINATED BYTES, and NULL TERMINATED CHARACTERS
 clauses tell the module processor how to interpret CHAR fields
 for the C programming language.

 If you specify FIXED, the module processor interprets CHAR
 fields as fixed character strings.

 NULL TERMINATED BYTES specifies that CHAR fields are
 null-terminated.  The length field in the dictionary is
 interpreted as the number of bytes in the string.  If n is the
 length in the dictionary, then the number of data bytes is n-1
 and the length of the string is n bytes.  NULL TERMINATED BYTES
 is the default interpretation.

 NULL TERMINATED CHARACTERS specifies that CHAR fields are null-
 terminated, but interpret the length field as a character count.
 If N is the length in the dictionary, then the number of data
 bytes is N and the length of the string is N+1 bytes.

exact numeric type

 exact-numeric-type=

 -------+--> SMALLINT ---+----+--------+----------------+->
        +--> INTEGER ----+    +-> n ---+                |
        +--> BIGINT -----+                              |
        +--> 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 ++-----------------------------------------++>
                  |+-> no-qualifiers ------------------------+|
                  ||                                         ||
                  |+-> /CONSTRAINTS = -+-> IMMEDIATE --+-----+|
                  ||                   +-> DEFERRED  --+     ||
                  ||                   +-> ON ---------+     ||
                  ||                   +-> OFF --------+     ||
                  |+-> /CONTEXT= -+-> NONE ------------------+|
                  ||              +-> ALL -------------------+|
                  ||              +-> procedure-list --------+|
                  |+-> database-options ---------------------+|
                  |+-> /QUERY_TIME_LIMIT = total-seconds ----+|
                  |+-> /QUERY_MAX_ROWS = total-rows ---------+|
                  +-->------------------<---------------------+

Additional information available:

no qualifiersdatabase optionsprocedure-listMore Information
Qualifiers

no qualifiers

 no-qualifiers =
 -> / +->--+-+-> ANSI_AUTHORIZATION ----------------+>
      + NO + +-> ANSI_DATE -------------------------+
             +-> ANSI_IDENTIFIERS ------------------+
             +-> ANSI_PARAMETERS -------------------+
             +-> ANSI_QUOTING ----------------------+
             +-> FLAG_NONSTANDARD ------------------+
             +-> G_FLOAT ---------------------------+
             +-> INITIALIZE_HANDLES ----------------+
             +-> OBJECT -++------->-------+---------+
             +-> LIST ---++> = file-spec -+         +
             +-> QUERY_ESTIMATES -------------------+
             +-> CONNECT ---------------------------+
             +-> VIDA ------------------------------+
             +-> WARN -+---------------------------++
                       +>=( +> warning-option +> ) +
                            +----- , <--------+

database options

 database-options =

 ---+->  /ELN ------------------------------+->
    +->  /NSDS -----------------------------+
    +->  /RDBVMS ---------------------------+
    +->  /RDB030 ---------------------------+
    +->  /RDB031 ---------------------------+
    +->  /RDB040 ---------------------------+
    +->  /RDB041 ---------------------------+
    +->  /VIDA -----------------------------+
    +->  /NOVIDA ---------------------------+

 The database options specify types of supported databases that
 your application can access.

Additional information available:

More Informationwarning optionsMore Information

More Information

 [NO]ANSI_AUTHORIZATION specifies whether or not a module can
 only be executed by the person who compiled it.  The default is
 /NOANSI_AUTHORIZATION, which means that the module can be
 executed by someone other than the person who compiled it.

 [NO]ANSI_DATE specifies whether the default format for columns
 with the DATE or CURRENT_TIMESTAMP data types is ANSI or VMS.
 The default setting is /NOANSI_DATE, where both data types are
 interpreted as VMS format.  A VMS format data type is compatible
 with Rdb/ELN and versions of Rdb/VMS prior to Version 4.1, but
 cannot be used in date/time arithmetic.  The VMS format DATE and
 CURRENT_TIMESTAMP contain YEAR to SECOND fields, like a
 TIMESTAMP.

 Use /ANSI_DATE to change DATE and CURRENT_TIMESTAMP to ANSI
 format, which contains only the YEAR to DAY fields.  You must
 change the date format before creating domains or tables:  you
 cannot modify the data type once you have created a column or
 table.

 [NO]ANSI_IDENTIFIERS specifies whether or not SQL checks
 statements for reserved words from the ANSI 89 and SQL2
 standards.  /NOANSI_IDENTIFIERS is the default.

 [NO]ANSI_PARAMETERS specifies whether or not all parameter names
 must begin with a colon (:).  This rule applies to both
 declarations and references of module language procedure
 parameters.  /NOANSI_PARAMETERS, the current default, specifies
 that no parameter name may begin with a colon.

 [NO]ANSI_QUOTING specifies whether or not you can enclose
 delimited identifiers in subsequent statements within double
 quotation marks.  (Delimited identifiers allow you to specify
 two names as a single name level, so that you do not exceed
 three levels in an object name.) If you specify /ANSI_QUOTING,
 SQL allows qualified names like the following:

 SQL> SHOW TABLE
 "PERS_ALIAS.DEPT1_CATALOG".EAST_SCHEMA.EMPLOYEES;

 If you specify /NOANSI_QUOTING, SQL interprets quoted strings as
 string literals, and issues a warning message that you used
 double quotation marks instead of single ones.  /NOANSI_QUOTING
 is the default.

 [NO]CONNECT:  Specifies whether or not SQL allows multiple user
 connections and access to global databases across modules.

 [NO]FLAG:  Specifies whether SQL flags syntax that does not
 comply with the ANSI/ISO standard.  When /FLAG is specified, SQL
 notifies you of syntax that is not ANSI/ISO standard.  When
 /NOFLAG is specified, SQL does not notify you of syntax that is
 not ANSI/ISO standard.  The default is /NOFLAG.

 [NO]G_FLOAT:  Specifies whether or not the SQL module processor
 assigns a G-floating or D-floating interpretation to the DOUBLE
 data type in a formal parameter list.  /G_FLOAT is the default
 for all languages except COBOL.

 [NO]INITIALIZE_HANDLES:  Specifies whether or not handle values
 in the module should be initialized to zero.  You must
 initialize handles in order to build shared images.  If you need
 to run RDBPRE and RDML applications in SQL, specify
 /INITIALIZE_HANDLES.  /NOINITIALIZE_HANDLES is the default.

 [NO]OBJECT:  Specifies whether or not the SQL module processor
 creates an object file when compilation does not generate fatal
 errors and, if an object file is produced, what the file is
 named.  /OBJECT is the default.

 [NO]LIST:  Determines whether or not the SQL module processor
 creates a listing file containing the original module listing
 along with any error messages from the processing, and, if it
 does, what it is named.  /NOLIST is the default.

 [NO]QUERY_ESTIMATES:  Specifies whether or not SQL returns the
 estimated number of rows and estimated number of disk I/O
 operations in the SQLCA structure.  If you specify the default,
 /QUERY_ESTIMATES, SQL returns the estimated number of rows in
 the field SQLCA.SQLERRD[2] and the estimated number of disk I/O
 operations in the field SQLCA.SQLERRD[3].  The value of
 SQLCA.SQLERRD[2] and SQLCA.SQLERRD[3] is normally zero after you
 execute an OPEN statement for a table.

 [NO]CONNECT:Specifies whether or not SQL allows multiple user
 sessions and access to global databases across modules.  The
 default setting is NOCONNECT.

 [NO]VIDA:  Specifies whether or not the SQL module processor
 will process a program for access to a VIDA database.  The
 default is /NOVIDA.

 [NO]WARN:  Specifies whether or not the SQL module processor
 writes informational and warning messages to your terminal, a
 listing file, or both.  /WARN is the default.

warning options

 warning-option =
                  +-> WARNING ------+->
                  +-> NOWARNING ----+
                  +-> DEPRECATED ---+
                  +-> NODEPRECATED -+

More Information

 If you specify a single warning option, you do not need the
 parentheses.

 The WARNING and NOWARNING options specify whether or not the SQL
 module processor writes warning messages to your terminal, a
 listing file, or both.

 The DEPRECATED and NODEPRECATED options specify whether or not
 the SQL module processor writes diagnostic messages about
 deprecated features.

 Deprecated features are features that are currently allowed but
 will not be allowed in future versions of SQL.  Examples of
 deprecated features are obsolete keywords such as VERB_TIME
 (instead of VERB TIME) or the use of double instead of single
 quotation marks to delimit string literals.  For a complete list
 of deprecated features, see the VAX Rdb/VMS SQL Reference
 Manual.

 The module processor default, /WARN, is equivalent to
 /WARN=(WARNING, DEPRECATED).

procedure-list

 procedure-list =  ---> ( --+-> procedure -----------------++-> ) ->
                            |           +--> : entry-name -+|
                            +-------- , <-------------------+

More Information

 The SQL module processor is the executable image
 SYS$SYSTEM:SQL$MOD.EXE.  To invoke the image, define a symbol.
 $ SQLMOD :== $SQLMOD$
 $ SQLMOD
 INPUT FILE>

 If you invoke the SQL module processor without a file
 specification for an SQL module file, the module processor
 prompts you for the file specification.  You can also specify
 the file as part of the DCL command line.

 The following example shows how you might process a file called
 LIST_EMP_PASSMOD.SQLMOD.  In addition to the file, several
 qualifiers are included on the DCL command line.

 $ SQLMOD :== $SQLMOD$
 $ SQLMOD/G_FLOAT/ANSI_PARAMETERS LIST_EMP_PASSMOD.SQLMOD

Qualifiers

 module-file-spec:  The file specification for an SQL module
 source file.  The default file type for the source file is
 .SQLMOD.

 /CONSTRAINTS=ON or /CONSTRAINTS=OFF:  Sets the default
 constraint evaluation mode for commit-time constraints.  (This
 qualifier does not affect the evaluation of verb-time
 constraints.) The default is OFF:  that is, commit-time
 constraints are evaluated at commit time.  Setting constraints
 ON causes each of the affected constraints to be evaluated
 immediately, as well as at the end of each statement--until the
 SET ALL CONSTRAINTS OFF statement is issued or until the
 transaction completes with a commit or rollback operation.  This
 qualifier can be overridden by the SET ALL CONSTRAINTS
 statement.  SQL users who require ANSI/ISO standard SQL
 compatibility should set constraints ON.  The default of having
 constraints set OFF is probably acceptable for most other users.

 /CONTEXT=NONE or /CONTEXT=ALL:  Instructs the SQL module
 processor to execute module language procedures in the context
 of a particular distributed transaction.  When you use the
 /CONTEXT qualifier, SQL generates an additional parameter for
 the procedures and places the parameter as the last parameter
 declared in the procedure.  You can specify NONE if you want no
 procedure to receive the parameter, or /ALL if you want all
 procedures to receive parameters.

 /CONTEXT=procedure-list:  Specifies that the SQL module
 processor adds a context parameter to each procedure listed.  If
 you specify an entry-name for a procedure in the list, the SQL
 module processor changes the name of that procedure to the name
 you specify.

New features

 (Note that there is no Version 3.0 of VAX SQL.  VAX SQL Version
 2.0 was the last version where VAX SQL was shipped with a
 separate version number.  Beginning with Rdb/VMS Version 3.1,
 SQL is shipped with Rdb/VMS and assumes the Rdb/VMS version
 number.)

 The following topics provide short summaries of new features for
 the SQL interface to Rdb/VMS Version 4.1.  See the release notes
 for VAX Rdb/VMS for details on these features.  The release
 notes for VAX Rdb/VMS are available online in the file
 SYS$HELP:RDBVMS041.RELEASE_NOTES.  (You need only type the first
 three letters of the topic name at the prompt.)

Additional information available:

BIGINT

ANSI extended dynamic cursorsANSI extension flaggerAuthorization identifiers
Carry over locksC Support for CDDCAST functionColons in module language parameters
ConnectionsConstraint keyword changedDate and time data typesDate and time functions
Date arithmeticDefault lock waitDROP TABLE restrictedError literals
Execution modeJournal fast commitGlobal buffersLIMIT TO and ORDER BY
Multischema databasesObsolete featuresOnline database modifications
Optimizer interfaceQuery governorReserved word identifiersRun time SQL
Terminology changesThresholds for logical areasUNIQUE predicate
Warning modeWrite Once storage areas

ANSI extended dynamic cursors

 SQL now features partial ANSI/ISO standard support for extended
 dynamic cursors.

 You can already use a parameter instead of coding the statement
 names in the SQL statements that process statements dynamically
 -- CLOSE, DECLARE CURSOR, DECLARE STATEMENT, DESCRIBE, EXECUTE,
 EXECUTE IMMEDIATE, FETCH, OPEN, PREPARE, and RELEASE.
 Specifying a parameter lets SQL supply identifiers to programs
 at run time.

 In Version 4.1, you can use either an integer parameter to
 contain the statement identifier returned by SQL, or a character
 string parameter to contain the name of the statement that you
 pass to SQL.

ANSI extension flagger

 The SET FLAGGER statement displays informational messages when
 you issue a statement containing non-standard syntax (Digital
 extensions to ANSI/ISO standard syntax) in interactive SQL.
 These messages are disabled by default.  The SQL SHOW FLAGGER
 MODE statement shows the current default flagger mode.

Authorization identifiers

 To comply with the ANSI/ISO standard, use the AUTHORIZATION
 clause of the CREATE SCHEMA statement to specify an
 authorization identifier for each schema.  When you specify
 multischema mode, SQL uses the authorization identifier for
 privilege checking at the schema level.  If you do not specify
 an authorization identifier, you must specify a default schema,
 and SQL bases privilege checking on the user name of that
 schema's creator, except in SQL Module Language.  You can
 specify a different authorization name for an SQL Module
 Language module by specifying the AUTHORIZATION clause in that
 module.

 For ANSI-compliant behavior, specify the /ANSI_AUTHORIZATION
 option on the module language command line or
 /SQLOPTIONS=(ANSI_AUTHORIZATION) on the precompiler command line
 so that a module can only be executed by the person who compiled
 it.

 Prior to Rdb/VMS Version 4.1, SQL used the term "authorization
 id" to mean an arbitrary name assigned to a database object by a
 user, and the term "alias" to mean a temporary name for a table
 to qualify an ambiguous column name.  In Version 4.1, the
 arbitrary name assigned by a user to a database object is known
 as an "alias", and the temporary name for a table is known as a
 "correlation name".

 In Version 4.1, the DECLARE SCHEMA statement, which specified
 the alias in prior versions, is deprecated syntax.  The DECLARE
 ALIAS statement replaces DECLARE SCHEMA in SQL module language
 DECLARE sections, in precompiler context files and in SQL
 statements embedded in host language programs to be precompiled.
 ATTACH replaces DECLARE SCHEMA in interactive and dynamic SQL,
 and CONNECT replaces DECLARE SCHEMA RUNTIME FILENAME.

BIGINT

 Beginning with Version 4.1, the QUADWORD data type is called
 BIGINT.

Carry over locks

 The lock carry-over optimization holds record and area locks
 across transactions.  This optimization requires the NOWAIT
 signal lock, which may lead to long delays when processes are
 executing long statements.

 To avoid delays in acquiring the NOWAIT signal lock, you can
 disable this lock optimization by specifying the CARRY OVER
 LOCKS DISABLED argument in a CREATE or ALTER DATABASE statement.

C Support for CDD

 SQL Module Language and the SQL Precompiler include new
 qualifiers to support new interpretations of CHAR data type
 fields extracted from data dictionary definitions and used in C
 programs.  For syntax, see the Help topics Module_language
 record_type and INSERT.

CAST function

 SQL provides the CAST function to let you convert the value in a
 column from one data type to any other data type, provided
 neither is the data type LIST OF BYTE VARYING.  For more
 information, type HELP FUNCTIONS.

Colons in module language parameters

 SQL now allows optional use of colons as prefixes to formal
 parameters in module language procedures as required by the
 ANSI/ISO standard for module language processors.

Connections

 Connections allow you to control when applications attach and
 detach from an Rdb/VMS database, permits SQL access to request
 handles for migration of RDBPRE/RDML applications to SQL, and
 provides a global database context, called an SQL environment,
 that lets you write an SQL module for concurrent access to one
 or more Rdb/VMS databases.

 The ATTACH statement lets you specify the default database for
 subsequent SQL statements.  The CONNECT and DISCONNECT
 statements let you add databases to or remove databases from the
 default SQL environment.  (The FINISH statement is superseded by
 DISCONNECT DEFAULT.) The SET CONNECT statement lets you select a
 new default connection from any active connections that you have
 specified during your session.

 Use the /CONNECT option on the SQL module language processor
 command line or the /SQLOPTION=(CONNECT) clause on the
 precompiler command line to provide a global database context
 for modules in your application.

Constraint keyword changed

 The SQL SET ALL CONSTRAINTS statement keywords ON and OFF have
 changed to IMMEDIATE and DEFERRED to comply with the ANSI SQL2
 standard.  The ON and OFF keyword are allowed, but their use is
 not standard.

Date and time data types

 SQL provides DATE ANSI, DATE VMS, TIME, TIMESTAMP and INTERVAL
 data types that allow you to execute more complex queries that
 reference dates, times, and intervals.  For more information,
 type HELP DATA_TYPES DATE.

Date and time functions

 SQL provides CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP and
 EXTRACT functions to let you extract date/time fields, convert
 text into date and time fields, and fetch the current system
 values for date and time.  For more information, type HELP
 FUNCTIONS.

Date arithmetic

 You can use variables and constants of the SQL date and time
 data types in arithmetic expressions.  For more information,
 type HELP ARITH_EXPR DATE.

Default lock wait

 You can specify a number of seconds to wait during a lock
 conflict as a LOCK TIMEOUT INTERVAL in either the CREATE
 DATABASE or ALTER DATABASE statement.

DROP TABLE restricted

 In Version 4.1, the DROP TABLE and DROP VIEW statements default
 behaviors are RESTRICT, not CASCADE.  You must delete all items
 (views, constraints, inde or triggers) that refer to the
 specified table or view before you can delete that table or
 view.

Error literals

 SQL now provides symbolic literals for the numeric error values
 (For example, SQL$DEADLOCK for -913) returned in the SQLCODE
 structure or numeric data type values (For example, SQL$_CHAR
 for 453) returned in the SQLDA structure.  Rdb/VMS will supply
 symbolic literals in an include file for each major computer
 language.  Because you will not have to hardcode error values in
 programs, error processing and detection will be easier.

Execution mode

 You can use the SQL SET EXECUTE command to control whether SQL
 executes interactive statements as you issue them or merely
 returns diagnostic or optimization messages.  The SQL SHOW
 EXECUTION MODE statement shows the current default execution
 mode.

Journal fast commit

 You can specify JOURNAL FAST COMMIT on the ALTER DATABASE
 statement to take advantage of a different transaction
 processing algorithm that enhances performance in some
 environments.  When you enable fast commit processing, Rdb/VMS
 keeps updated pages in the buffer pool and does not write the
 pages to disk when a transaction commits.  The process writes
 only redo information to the After-image Journal (.AIJ) file:
 updated pages can remain in the buffer pool (in memory) until a
 user-specified threshold (called a checkpoint) is reached.  At
 checkpoint, all the updated pages for multiple transactions are
 written to disk.  If a transaction fails, Rdb/VMS must rollback
 the current, failed transaction and reprocess all the committed
 transactions since the last checkpoint.

 You can only specify JOURNAL FAST COMMIT if you disable
 snapshots, preventing online database backup.  For other
 restrictions that apply to JOURNAL FAST COMMIT, see the SQL
 Reference Manual.  For syntax type HELP ALTER DATABASE ALTER
 JOURNAL.

Global buffers

 Different user processes in a cluster can map shared pages of
 the database to virtual memory to eliminate unnecessary database
 file reads.  For more information, see the ALTER DATABASE and
 CREATE DATABASE topics.

LIMIT TO and ORDER BY

 Prior to Version 4.1, you could use the LIMIT TO and ORDER BY
 clauses within DECLARE CURSOR CREATE VIEW, and certain
 interactive SELECT statements.  Version 4.1 allows you to use
 LIMIT TO and ORDER BY clauses in any subqueries, including
 singleton SELECT statements.

 For syntax, see the SELECT statement help.

Multischema databases

 Although single-schema databases are still the default for SQL,
 you can now optionally group your data definitions within
 multiple schemas, contained in catalogs within one database.

 Use the CREATE DATABASE MULTISCHEMA IS ON clause to create a new
 database with the multischema attribute, and the CREATE CATALOG
 and CREATE SCHEMA statements to populate the multischema
 database.  The EXTERNAL NAME IS clause for each schema element
 CREATE statement lets you give unique names to definitions in a
 multischema database so that you can access them easily using
 interfaces that do not support multischema naming (such as RDO).

 The SHOW CATALOGS statement displays catalogs.  The DROP CATALOG
 and DROP SCHEMA statements let you remove catalogs or schemas
 from a multischema database.

 By default, SQL uses multischema naming when you attach to a
 multischema database.  In the ATTACH statement or the DECLARE
 ALIAS statement, the MULTISCHEMA IS OFF clause lets you attach
 to a multischema database without using multischema naming.  Use
 either statement with the MULTISCHEMA IS ON clause to enable
 multischema naming again.

Obsolete features

 The following features that were allowed in earlier versions of
 SQL will be flagged with diagnostic messages in SQL Version V4.0
 when you use them in programs:

  o  The DECLARE SCHEMA statement is replaced by ATTACH in
     interactive SQL and DECLARE ALIAS in precompiled SQL and SQL
     module language.

     You must enclose the attach expression, including the
     database handle (now called an alias) in single quotation
     marks.

     DECLARE SCHEMA AUTHORIZATION PERS FILENAME PERSONNEL; in
     V4.0 syntax ATTACH 'ALIAS PERS FILENAME PERSONNEL'; in V4.1
     syntax.

  o  The CREATE SCHEMA statement is replaced by CREATE DATABASE,
     except when it refers to a logical schema in a multischema
     database.  You can no longer use qualifiers that specify
     physical database attributes in the CREATE SCHEMA statement.

  o  The ALTER SCHEMA statement is replaced by ALTER DATABASE.

  o  The SHOW SCHEMA statement is replaced by SHOW DATABASE.

  o  The FINISH statement is replaced by DISCONNECT DEFAULT.
     which does an automatic ROLLBACK.

  o  The REVOKE ON SCHEMA AUTHORIZATION statement is replaced by
     REVOKE ON DATABASE ALIAS.

  o  The DROP SCHEMA statement is replaced by DROP DATABASE.

  o  The DROP SCHEMA FILENAME statement is replaced by DROP
     DATABASE FILENAME.

  o  The DROP SCHEMA PATHNAME statement is replaced by DROP
     DATABASE PATHNAME.

  o  The DROP SCHEMA AUTHORIZATION statement is replaced by DROP
     DATABASE ALIAS.

  o  The SHOW SCHEMA statement shows schemas in a multischema
     database but returns an error message in a database without
     the multischema attribute.

  o  The statement INTEGRATE is replaced by INTEGRATE DATABASE.

  o  Use of double quotation marks, except to delimit a remote
     node password or a reserved word.

  o  The qualifiers ON and OFF in the SET ALL CONSTRAINTS
     statement, the module language qualifier /CONSTRAINTS=, and
     the precompiler qualifier /SQLOPTIONS=CONSTRAINTS have been
     replaced by IMMEDIATE and DEFERRED.

  o  The DATE data type no longer means a VMS timestamp
     (28-JAN-1991 12:25:44.43).  Use the TIMESTAMP data type for
     a VMS timestamp.  The default DATE data type will be in the
     format DD-MMM-YYYY.

  o  The keyword SCHEMA in EXPORT and IMPORT is replaced by
     DATABASE.

  o  The keyword AUTHORIZATION in DROP SCHEMA, and EXPORT SCHEMA
     is replaced by ALIAS.

  o  The GRANT ON SCHEMA AUTHORIZATION statement is replaced by
     GRANT ON DATABASE ALIAS.

  o  The IMPORT SCHEMA AUTHORIZATION statement is replaced by
     IMPORT DATABASE FROM filespec [ALIAS alias].

  o  Beginning with Version 4.1, the QUADWORD data type is called
     BIGINT.


 For details about these features, see the VAX Rdb/VMS SQL
 Reference Manual.

Online database modifications

 You can modify some of the database parameters while other users
 are bound to the database and have transactions in progress.  A
 list of those parameters that can be modified online appears in
 the SQL Reference Manual.

Optimizer interface

 The optimizer interface provides feedback from the Rdb/VMS
 optimizer to the application.  Using the optimizer interface,
 applications can:

  o  Specify the overall retrieval strategy.  For syntax, see the
     DECLARE CURSOR OPTIMIZE FOR clause.

  o  Check cost estimates for a query before executing it.  For
     syntax, see the module language option /[NO]QUERY_ESTIMATES
     and the precompiler option /[NO]SQLOPTIONS=QUERY_ESTIMATES.

  o  Request a more restrictive lock for records that will be
     updated, to reduce locking overhead and deadlocks that
     result from upgrading locks from READ to WRITE.  For syntax,
     see the DECLARE CURSOR UPDATE ONLY clause.

Query governor

 The query governor lets you establish limits for user queries
 that might consume excessive system resources.  You can use the
 query governor to specify a maximum number of seconds or a
 maximum number of rows per query.  Whichever value is reached
 first stops the output.

 You can use the query governor through interactive SQL, or by
 specifying new qualifiers for the precompiler or module language
 compiler.  The query governor also controls dynamic SQL queries.

 The precompiler /SQLOPTIONS= qualifiers are
 QUERY_TIME_LIMIT=total-seconds and QUERY_MAX_ROWS=total-rows.
 The module language command line qualifiers are
 /QUERY_TIME_LIMIT=total-seconds and /QUERY_MAX_ROWS=total-rows.
 For interactive SQL syntax, see the SET statement topic.

Reserved word identifiers

 You can use reserved words as identifiers, provided you enclose
 them in double quotes (").  Use the interactive SQL statement
 SET ANSI IDENTIFIERS, the module language command line option
 /ANSI_IDENTIFIERS or the precompiler command line option
 /OPTIONS=(ANSI_IDENTIFIERS) to use reserved words as
 identifiers.

Run time SQL

 The Rdb/VMS run time only (RTO) software is designed to let
 users run existing executable DML programs that access existing
 Rdb/VMS databases.  The Version 4.1 RTO kit provides interactive
 SQL access to such databases.  For a list of SQL statements
 available on the run time only kit, type HELP RUN_TIME_ONLY_KIT.

Terminology changes

 Prior to Rdb/VMS Version 4.1, SQL used the term "authorization
 id" to mean an arbitrary name assigned to a database object by a
 user, and the term "alias" to mean a temporary name for a table
 to qualify an ambiguous column name.

 In Version 4.1, the arbitrary name assigned by a user to a
 database object is known as an "alias", and the temporary name
 for a table is known as a "correlation name".

Thresholds for logical areas

 You can specify a different threshold for each logical area that
 is created by a storage map.  Specify THRESHOLDS ARE in the
 STORE clause of the CREATE STORAGE MAP or CREATE INDEX
 statement.  For more information, see CREATE INDEX and CREATE
 STORAGE MAP topics.

UNIQUE predicate

 Prior to Rdb/VMS Version 4.1, SQL used the UNIQUE predicate
 keyword as a boolean that returns a true value when exactly one
 record satisfies a record select expression.  For Version 4.1,
 the use of the UNIQUE predicate keyword is deprecated:  use the
 SINGLE keyword instead.

Warning mode

 The SET WARNING DEPRECATE statement displays diagnostic messages
 when you issue a statement containing obsolete syntax in
 interactive SQL.  The SQL SHOW WARNING MODE statement shows the
 current default warning mode.

Write Once storage areas

 You can now create storage areas for segmented string and list
 data on write-once read-many (WORM) optical disks.  Specify the
 WRITE ONCE option of the storage area parameter clause in the
 CREATE STORAGE AREA, CREATE DATABASE, or ALTER DATABASE
 statement.

Precompiler

 SQL uses a single precompiler, SQL$PRE, to preprocess programs
 written in Ada, C, COBOL, FORTRAN, Pascal, and PL/I.  The
 precompiler lets you embed DML and DDL statements in programs
 that will access Rdb/VMS databases.  You can define symbols to
 invoke the precompiler for your host language:

      $ SADA :== $SYS$SYSTEM:SQL$PRE/ADA
      $ SCC  :== $SYS$SYSTEM:SQL$PRE/CC
      $ SCOB :== $SYS$SYSTEM:SQL$PRE/COBOL
      $ SFOR :== $SYS$SYSTEM:SQL$PRE/FORTRAN
      $ SPAS :== $SYS$SYSTEM:SQL$PRE/PASCAL
      $ SPLI :== $SYS$SYSTEM:SQL$PRE/PLI

Additional information available:

USING_CONTEXT

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 -+                                      |
   +--------------------------<--------------------------+

Additional information available:

More InformationQualifiersSQLOPTIONS qualifiers

More Information

 You can invoke the precompiler in one of two ways:

  o  Enter the input file name on the same line as the invoke
     statement.

  o  Invoke the precompiler without an input file name and wait
     for the INPUT prompt to enter the input file name.

 The SQL$PRE precompiler accepts compile switches on the command
 line and at the INPUT prompt.  Precede all compile switches with
 a slash (/).  If you enter the compile switches on the command
 line, you can include compile switches ahead of the input file
 specification as well as after it.  Leave at least one space
 between the last switch and the input file specification.
 SQL$PRE does not prompt for compile switches.

 SQL$PRE produces two output files in your default directory:

  o  A host language source file

     The precompiler assigns the language default file type to
     the host language source file.  For example:

     Original source file:  PROGRAMB.SCO

     Host language source file:  PROGRAMB.COB

  o  An object file

     Object files have an .OBJ file type.  Using a compile
     switch, you can instruct SQL$PRE to write the object file to
     another directory.  For example, if SCOB is a symbol for
     "$SYS$SYSTEM:SQL$PRE/COBOL":

     $ SCOB PROGRAMC/OBJECT=$222$DISK3:[PAYROLL.OBJS]

 SQL$PRE lists the following information in the host language
 source file:

  o  Date and time the program was compiled

  o  Version of the precompiler used

  o  Underlying versions of Rdb/VMS, if any

  o  Command line used to precompile the program

  o  Precompile errors, if any

Qualifiers

 host-file-spec:  The file specification for a host language
 source file that contains embedded SQL statements.  The default
 file type for the source file depends on the host language
 specified in the language qualifier:

 Language          Default File Type
 --------          -----------------
 Ada               .SQLADA
 C                 .SC
 COBOL             .SCO
 FORTRAN           .SFO
 PL/I              .SPL

 ADA,CC,COBOL,FORTRAN,PASCAL,PLI:  Refers to the host language in
 which the program containing SQL statements is written.  You
 must supply a language qualifier.

 [NO]OBJECT:  Specifies whether or not the SQL precompiler
 creates an object file when compilation does not generate fatal
 errors and, if an object file is produced, what the file is
 named.  /OBJECT is the default.

 [NO]G_FLOAT:  Specifies whether or not the SQL precompiler
 assigns a G-floating or D-floating interpretation to the DOUBLE
 data type in a formal parameter list.  /G_FLOAT is the default
 for all languages except COBOL.

 For information on the optional qualifiers that follow
 /SQLOPTIONS, see the Help topic PRECOMPILER COMMAND_LINE
 SQLOPTIONS_QUALIFIERS MORE.

 [NO]ANSI:  Specifies whether the SQL precompiler accepts
 terminal format COBOL or ANSI format COBOL.  The default is
 terminal format COBOL (NOANSI).

SQLOPTIONS qualifiers

 opt-qualifiers =
 ---+-+------++-> ANSI_AUTHORIZATION ---------------------+->
    | +> NO -++-> ANSI_DATE ------------------------------+
    |         +-> ANSI_IDENTIFIERS------------------------+
    |         +-> ANSI_QUOTING ---------------------------+
    |         +-> FLAG_NONSTANDARD------------------------+
    |         +-> INITIALIZE_HANDLES ---------------------+
    |         +-> QUERY_ESTIMATES ------------------------+
    |         +-> CONNECT --------------------------------+
    |         +-> WARN +----------------------------------+
    |                  +> = ( -+-> warning-option -+-> ) -+
    |                          +------ , <---------+      |
    +-> CONSTRAINT_MODE= -+-> IMMEDIATE ------------------+
    |                     +-> DEFERRED -------------------+
    |                     +-> ON -------------------------+
    |                     +-> OFF ------------------------+
    +-> database-options ---------------------------------+
    +-> QUERY_TIME_LIMIT = total-seconds -----------------+
    +-> QUERY_MAX_ROWS = total-rows ----------------------+

Additional information available:

More informationdatabase optionswarning options

More information

 /SQLOPTIONS=[NO]ANSI_AUTHORIZATION:  Specifies whether or not a
 module can only be executed by the person with the default
 authorization identifier.  Unless you specify a different
 authorization identifier using an AUTHORIZATION clause in the
 module, the default authorization identifier for a module is
 that of the person who created the module.  The default setting
 is SQLOPTIONS=(NOANSI_AUTHORIZATION).

 /SQLOPTIONS=[NO]ANSI_DATE:  Specifies the default interpretation
 for columns with the DATE or CURRENT_TIMESTAMP data type.  The
 VMS format DATE and CURRENT_TIMESTAMP contain YEAR to SECOND
 fields, like a TIMESTAMP.  The ANSI format DATE contains only
 the YEAR to DAY fields.  You can change DATE and
 CURRENT_TIMESTAMP to ANSI format with the qualifier
 /SQLOPTIONS=(ANSI_DATE).  The default setting is
 /SQLOPTIONS=(NOANSI_DATE), where both data types are interpreted
 as VMS format.

 /SQLOPTIONS=[NO]ANSI_IDENTIFIERS:  Specifies whether or not SQL
 checks statements that use reserved words as user-supplied
 names.  If you specify the /SQLOPTIONS= (ANSI_IDENTIFIERS)
 qualifier, SQL checks statements for reserved words from the
 ANSI 89 Standard and the ANSI/ISO SQL2 Draft Standard.  A SQL
 Reference Manual appendix lists these reserved words.  You must
 enclose reserved words in double quotation marks to supply them
 as user-supplied names in SQL statements.

 /SQLOPTIONS=[NO]ANSI_QUOTING:  Specifies whether or not you can
 enclose identifiers within double quotation marks.  If you set
 SQLOPTIONS=(ANSI_QUOTING), SQL allows qualified names like the
 following:

 SQL> SHOW TABLE
 "PERS_ALIAS.DEPT1_CATALOG".EAST_SCHEMA.EMPLOYEES;

 Such qualified names, called delimited identifiers, are needed
 for naming objects in multischema databases.

 /SQLOPTIONS=[NO]FLAG_NONSTANDARD:  Specifies whether SQL flags
 syntax that does not comply with the ANSI/ISO standard.  When
 you specify FLAG, SQL issues an informational message after you
 issue a statement containing syntax that is not standard.
 NOFLAG is the default.

 /SQLOPTIONS=[NO]INITIALIZE_HANDLES:  Specifies whether or not
 handle values in the module should be initialized to zero.  You
 must initialize handles in order to build shared images.  If you
 need to run RDBPRE and RDML applications in SQL, specify
 INITIALIZE_HANDLES.  NOINITIALIZE_HANDLES is the default.

 /SQLOPTIONS=[NO]QUERY_ESTIMATES:  Specifies whether or not SQL
 returns the estimated number of rows and estimated number of
 disk I/O operations in the SQLCA structure.  If you specify the
 default, /QUERY_ESTIMATES, SQL returns the estimated number of
 rows in the field SQLCA.SQLERRD[2] and the estimated number of
 disk I/O operations in the field SQLCA.SQLERRD[3].  The value of
 SQLCA.SQLERRD[2] and SQLCA.SQLERRD[3] is normally zero after you
 execute an OPEN statement for a table.

 /SQLOPTIONS=[NO]CONNECT:  Specifies whether or not SQL allows
 multiple user connections and access to global databases across
 modules.  The default is /SQLOPTIONS=NOCONNECT.

 /SQLOPTIONS=[NO]WARN:  Specifies whether or not the SQL
 precompiler writes informational and warning messages to the
 preprocessed host language source file and to SYS$ERROR and
 SYS$OUTPUT (if different from SYS$ERROR).  SQLOPTIONS=WARN is
 the default.

 /SQLOPTIONS=(CONSTRAINT_MODE=ON) and
 /SQLOPTIONS=(CONSTRAINT_MODE=OFF):  Set the default constraint
 evaluation mode for commit-time constraints.  (These qualifiers
 do not affect the evaluation of verb-time constraints.) The
 default is OFF:  that is, commit-time constraints are evaluated
 at commit time.  Setting constraints ON causes each of the
 affected constraints to be evaluated immediately, as well as at
 the end of each statement--until the SET ALL CONSTRAINTS OFF
 statement is issued or until the transaction completes with a
 commit or rollback operation.  This qualifier can be overridden
 by the SET ALL CONSTRAINTS statement.  SQL users who require
 ANSI/ISO standard SQL compatibility should set constraints ON.
 The default of having constraints set OFF is probably acceptable
 for most other users.

 For a list of the database options, see the database_options
 subtopic under sqloptions_qualifiers.

 /SQLOPTIONS=(QUERY_TIME_LIMIT=total-seconds):  Limits the number
 of records returned during query processing by counting the
 number of seconds used to process the query and returning an
 error message if the query exceeds the total number of seconds
 specified.  The default is unlimited time for the query compile.
 Dynamic SQL options will be inherited from the compilation
 qualifier.

 /SQLOPTIONS=(QUERY_MAX_ROWS=total-rows):  Limits the number of
 records returned during query processing by counting the number
 of rows returned by the query and returning an error message if
 the query exceeds the total number of rows specified.  The
 default is an unlimited number of record fetches.  Dynamic SQL
 options will be inherited from the compilation qualifier.

database options

 database-options =

 ---+->  ELN ------------------------------+->
    +->  NSDS -----------------------------+
    +->  RDBVMS ---------------------------+
    +->  RDB030 ---------------------------+
    +->  RDB031 ---------------------------+
    +->  RDB040 ---------------------------+
    +->  RDB041 ---------------------------+
    +->  VIDA -----------------------------+
    +->  NOVIDA ---------------------------+

 The database options specify types of supported databases that
 your application can access.  The precompiler database option
 can be overridden by an attach to a database at run time.  On
 the DECLARE statement, SQL sets the database options of the
 specified database.  Most database options specify a version of
 Rdb/VMS, wth the following exceptions:

 /SQLOPTIONS=[NO]RDBELN:  Specifies whether the SQL precompiler
 processes a program for access to a VAXELN database.

 /SQLOPTIONS=[NO]NSDS:  Specifies whether the SQL precompiler
 processes a program for access to a database created with the
 Non-SQL-Data Server for RdbAccess for VAX RMS.

 /SQLOPTIONS=[NO]VIDA:  Specifies whether the SQL precompiler
 correctly processes a program for access to a VIDA database.  If
 you specify /SQLOPTIONS=VIDA, the precompiler will access the
 program for VIDA unless a specific DECLARE ALIAS statement
 indicates NOVIDA.  If you do not specify VIDA in one of these
 places, but you try to access a VIDA database, you may get an
 error message.  If you do specify VIDA in these places, but
 attempt to access an Rdb/VMS database, then certain features
 will not work as expected for the current version of Rdb/VMS.
 The default is /SQLOPTIONS=NOVIDA.

warning options

 warning-option =
                  +-> 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).

Ada Host Variables

 The Ada precompiler now allows you to define host variables used
 in SQL statements in terms of the definitions in another
 package.  This package is defined in the ANSI/ISO standard for
 embedded SQL.  The name of the package is SQL_STANDARD, and its
 definition is in the file SYS$COMMON:[SYSLIB]SQL$STANDARD.ADA.
 You must compile this package and add it to your library in
 order to use it.

USING_CONTEXT

 EXEC SQL ----> 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 executable SQL statements that are involved in
 the distributed transaction must include a USING CONTEXT clause.

Additional information available:

More Information

More Information

 You cannot pass a context structure to the following statements
 because you cannot execute them when a transaction is already
 started:  CREATE DATABASE, DROP PATHNAME, DROP DATABASE.

 You cannot pass a context structure to the following statements
 because you cannot use them in transactions started by explicit
 calls to the DECdtm system services:  COMMIT, DISCONNECT,
 ROLLBACK.

 You cannot pass a context structure to the following statements
 because they do not execute within the scope of a transaction
 and they are independent of any transaction context:  ATTACH,
 CONNECT, DESCRIBE, DISCONNECT, RELEASE, SET CONNECT, and
 Extended Dynamic DECLARE CURSOR.

predicate

 predicate =
 -+-+--------+--+-> basic-predicate ----------------+-+-->
  | +-> 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

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

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

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

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 ----------->-----------+
                               |
 +---------------<-------------+
 ++> db-privs-ansi -----> ON DATABASE ALIAS -+-> alias -+-+-+
  |                                          +--- , <---+ | |
  +-> table-privs-ansi -> ON +----->----+-+               | |
  |                          +-> TABLE -+ |               | |
  |   +-----------------------------------+               | |
  |   +-+-+-> table-name -+-+----------------->-----------+ |
  |     | +-> view-name --+ |                             | |
  |     +--------- , <------+                             | |
  |                                                       | |
  +-> column-privs-ansi -> ON COLUMN -+-> column-name --+-+ |
                                      +------- , <------+   |
    +----------------------------<--------------------------+
    +-> FROM -+-+-> identifier-ansi-style -+--+-----------> ;
              | +-> PUBLIC ----------------+  |
              +------------- , <--------------+

Additional information available:

More Informationcolumn privs ansitable privs ansidb privs ansi
identifier ansi style

More Information

 The REVOKE statement removes privileges from the Rdb/VMS access
 privilege set for a database, table, or column.  Each entry in
 an access privilege set consists of an identifier and a list of
 privileges assigned to the identifier:

  o  Each identifier specifies a user or PUBLIC.

  o  The set of privileges specifies what operations that user or
     user group can perform on the database or table.

 For ANSI style databases the access privilege set is not
 order-dependent.  The user matches the entry in the access
 privilege set and gets whatever privileges have been granted on
 the database, table, or column and also gets the privileges
 defined for PUBLIC.  A user without an entry in the access
 privilege set will get only the privileges defined for PUBLIC.
 There is always an entry for PUBLIC in the access privilege set,
 even if PUBLIC has no access to the database, table, or column.

Additional information available:

More Information

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 -----------------------------+ |  |
  |  | +-> 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.

db privs ansi

 One or more of the following privileges you want to remove from
 an existing access privilege set entry or create in a new one:

 db-privs-ansi =

 ----+---+-+-> SELECT -----+-+----+->
     |   | +-> INSERT -----+ |    |
     |   | +-> OPERATOR ---+ |    |
     |   | +-> DELETE -----+ |    |
     |   | +-> CREATETAB --+ |    |
     |   | +-> ALTER ------+ |    |
     |   | +-> DROP -------+ |    |
     |   | +-> DBCTRL -----+ |    |
     |   | +-> DBADM ------+ |    |
     |   | +-> SHOW -------+ |    |
     |   | +-> REFERENCES -+ |    |
     |   | +-> UPDATE -----+ |    |
     |   | +-> SECURITY ---+ |    |
     |   | +-> DISTRIBTRAN + |    |
     |   +--------, <--------+    |
     +-------> ALL PRIVILEGES ----+

 To revoke all privileges on the database, specify the ALL
 keyword instead of a set of privileges.

 You must attach all databases that you refer to in a REVOKE
 statement.  If you use the default database declaration, you
 must use the alias RDB$DBHANDLE to work with the access
 privilege set for the database.

identifier ansi style

 Specifies the identifiers for the new or modified access
 privilege set entry.

 identifier-ansi-style =

 ------> uic-identifier --------->

 The identifiers are standard VMS identifiers.

 In ANSI style databases you are only allowed to specify
 single-user UICs.  No general or system identifiers are allowed.
 They identify only those users who are common to all the groups
 defined by the individual identifiers.  Users who do not match
 all the identifiers are not controlled by that entry.

 Specifying PUBLIC is equivalent to using the UIC identifier
 [*,*].

 When Rdb/VMS creates an ANSI style database, the creator of the
 database gets all privileges and the PUBLIC entry gets no
 privileges.

Sample Databases

 To help you learn and test Rdb/VMS features, Rdb/VMS provides
 online files that you can execute to create the following sample
 databases:

  o  PERSONNEL

     The PERSONNEL database is a single-file database.  You can
     build it using the SQL or RDO interfaces, and you can choose
     to integrate the database with the data dictionary.

  o  MF_PERSONNEL

     The MF_PERSONNEL database is a multifile database.  You can
     build it using the SQL or RDO interfaces, and you can choose
     to integrate the database with the data dictionary.

  o  CORPORATE_DATA

     The CORPORATE_DATA database is a single-file database that
     demonstrates the use of the multischema feature of SQL.  You
     can build it using only SQL.  You cannot store the data
     definitions in the data dictionary.


 The PERSONNEL and MF_PERSONNEL databases contain the same do-
 mains, tables, and columns.  The CORPORATE_DATA database con-
 tains slightly different domains, tables, and columns.

 When you build the single-file PERSONNEL database, the command
 procedure builds a database called PERSONNEL.RDB, regardless of
 the interface language used.  When you build the multifile
 MF_PERSONNEL database, the command procedure builds a database
 called MF_PERSONNEL.RDB (plus related stroage area files),
 regardless of the interface language used.  Note that you can
 use either the SQL or RDO interface to work with the resulting
 database or databases, regardless of whether the database was
 created using SQL or RDO command files.

 When you build the multischema CORPORATE_DATA database, the
 command procedure builds a database called CORPORATE_DATA.RDB.
 You can use only SQL to build the database.  Although you can
 use RDO to work with the database, RDO does not allow you to
 take advantage of the multischema feature.

 The single-file database occupies approximately 2200 disk
 blocks.  The multifile version of the same database occupies
 about 2900 disk blocks.  The multischema database occupies about
 2900 blocks.

Additional information available:

Creating Sample Databases

Creating Sample Databases

 You use a single command procedure (RDM$DEMO:PERSONNEL.COM) to
 create the various forms of the sample databases.

 By default, the command procedure builds the single-file
 PERSONNEL database using SQL data definitions.  It does not use
 the data dictionary.  Use the following command to build this
 database:

       $ @RDM$DEMO:PERSONNEL

 You can specify parameters when you invoke the procedure to
 create alternative versions of the sample databases.  The fol-
 lowing shows the format of the command you enter to create a
 sample database:

       $ @RDM$DEMO:PERSONNEL interface-language database-form
 dictionary multischema

 The four parameters specify the following choices:


 1.  Interface language:  Enter SQL or RDO.

     Use of either SQL or RDO as the data definition language.
     SQL is the default.

     There are slight differences between the the SQL and the RDO
     definitions of PERSONNEL and MF_PERSONNEL.

 2.  Database-form:  Enter S or M.

     Creation of either a single-file or multifile database.  A
     single-file database is the default.

 3.  Dictionary:  Enter CDD or NOCDD.

     Whether or not to store data definitions in the data dic-
     tionary.  The default is not to store data definitions in
     the data dictionary.

 4.  Multischema:  Enter MSDB or omit parameter.

     Creation of a multischema database, CORPORATE_DATA.  Note
     that for the first three parameters you must specify the SQL
     interface, the single-file database form, and that data def-
     initions not be stored in the data dictionary.  The
     following example demonstrates how to create the multischema
     database:

           $ @RDM$DEMO:PERSONNEL SQL S NOCDD MSDB


     To specify the second, third or fourth parameters, you must
     include any previous parameters.  You can use upper case,
     lower case, or mixed case to specify the parameters.

     For example, to build the the multifile version using SQL
     data definitions and storing the data definitions in the
     data dic- tionary, enter the following command:

           $ @RDM$DEMO:PERSONNEL SQL M CDD


 The log of the database definition statements used in creating
 the database is placed in a file called PERSONNEL.LOG in the
 same directory as the database files.  The file is named
 PERSONNEL.LOG regardless of which options you specified or
 accepted as defaults (for example, regardless of whether you
 created a single-file or multifile database).

select expr

 select-expr =

 -+-+-> select-clause -----+-+--------------------+-+
  | +->( select-expr ) ----+ +-> order-by-clause -+ |
  | +---------<------------+                        |
  | +->UNION -+-------+----+                        |
  |           +->ALL -+    |                        |
  +-------<----------------+                        |
  +-------------------------------------------------+
  +-+--------------------+--------------------------->
    +-> limit-to-clause -+

Additional information available:

FROMWHEREGROUP_BYHAVINGUNION

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 --++> correlation-name +| |
           +---------- , <------------------------+ |
 +--------------------------------------------------+
 ++--------->--------++------------->--------------++
  +> WHERE predicate ++> GROUP BY -+> column-name ++|
                                   +------- , <---+ |
 +--------------------------------<-----------------+
 ++---------->----------+--+--------------------+-+
  +-> HAVING predicate -+  +-> limit-to-clause -+ |
 +------------------------------------------------+
 ++-------------------+------------------------------>
  +-> order-by-clause +

Additional information available:

More Information

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 --------+       | |
      | | +-> correlation-name -+       | |
      | +---> value-expr ---------------+ |
      +------------ , <-------------------+

Additional information available:

More Information

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

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

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 --+ +-> correlation-name -+ ||
           +---------- , <----------------------------+|
   +------------------------------<--------------------+
   +> WHERE predicate -+------------->-----------------++
                       +-> GROUP BY -+-> column-name -++|
                                     +------- , <-----+ |
   +----------------------------------------------------+
   ++--------------------+-----------------------------> ;
    +> HAVING predicate -+

Additional information available:

INTO

More Information

More Information

 A singleton select statement is a special form of the SELECT
 statement that is legal only in programs, not in interactive
 SQL.  A singleton select specifies a one-row result table.  It
 includes an additional clause, INTO, to assign the values in the
 row to parameters in a program.

INTO

 Names parameters representing program storage that will receive
 values from the columns of the one-row result table.  If a
 parameter named in the list is corresponds to a program host
 structure, SQL considers the reference the same as a reference
 to each of the elements of the host structure.

 If the number of parameters specified, either explicitly or by
 reference to a host structure, does not match the number of
 values in the row of the result table, SQL generates an error
 when it precompiles the program or processes the SQL module
 containing the singleton select statement.

 If columns in the result table from a singleton select include
 null values, the corresponding parameters must include indicator
 parameters.

Value expression

 value-expr =
 -+-++------+-+---> char-value-expr ---+-+----------+>
  | |+-> + -+ +---> datetime-function -+ +-> + -+-+ |
  | |+-> - -+ +---> DBKEY -------------+ +-> - -+ | |
  | |         +---> (value-expr) ------+ +-> * -+ | |
  | |                                    +-> / -+ | |
  | +-----------------------------------<---------+ |
  +> char-value-expr -+> || -> char-value-expr  --+-+
                      +-------------<-------------+

Additional information available:

char value exprdate-time functionMore Information

char value expr

 char-value-expr =
 ---+-> CAST --> ( -> cast-operand AS data-type -> ) -+->
    +-> column-name ----------------------------------+
    +-> literal --------------------------------------+
    +-> USER -----------------------------------------+
    +-> parameter ------------------------------------+
    +-> (col-select-expr) ----------------------------+
    +-> SUBSTRING (char-value-expr FROM --+           |
      +-----------------------------------+           |
      +> start-position +--------------------+ ) -----+
                        +> FOR string-length +

date-time function

  date-time-function =

  +>CURRENT_DATE -----------------------------------+->
  +>CURRENT_TIME ------+--------------------+-------+
  |                    +-> time-precision --+       |
  +>CURRENT_TIMESTAMP -+------------------------+---+
  |                    +-> timestamp-precision -+   |
  +>EXTRACT ---------+                              |
   +-----------------+                              |
   +->( -> date-time-field FROM extract-source -> ) +

More Information

 A value expression is a symbol or string of symbols used to
 represent or calculate a single value.  When you use a value
 expression in a statement, SQL retrieves or calculates the value
 associated with the expression and uses that value when
 executing the statement.

 Value expressions are also called scalar expressions or simply
 expressions.

 Select More_Information to continue.

Additional information available:

More Information

More Information

 There are several different types of value expressions:

  o  A column name represents a value in table rows.

  o  A function calculates values for every row of a result
     table.  SQL functions are CAST, EXTRACT, CURRENT_DATE,
     CURRENT_TIME, CURRENT_TIMESTAMP, SUM, AVG, MAX, MIN, and
     COUNT.

  o  A literal directly specifies a value.

  o  A parameter represents a value in a host program.

  o  The DBKEY keyword represents the value of an internal
     pointer, called a database key, to a table row.

  o  A column select expression used as a value expression
     specifies a one-value result table.

  o  A character value expression represents a value that belongs
     to the CHAR, VARCHAR, or LONG VARCHAR data type.  You can
     link two character value expressions together using the
     concatenation operator.

  o  A substring specifies a portion of a character value
     expression that you can manipulate using arithmetic
     operators.

 You can also combine certain value expressions with arithmetic
 operators to form a value expression.

 Literals, functions, DBKEYS and column select expressions are
 described in separate Help topics.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026