home *** CD-ROM | disk | FTP | other *** search
/ PC Treasures, Inc. / pctreasures.mdf / WINDOWS / adabas / f_0001 / env / sql.enh < prev    next >
Text File  |  1999-11-01  |  308KB  |  3,935 lines

  1. ENG|09          |     0|  |   SQL.enh   6.1.1.16   1997-10-22
  2. ENG|09          |     1|  |                             SQL Help Functions
  3. ENG|09          |     2|  |                             ------------------
  4. ENG|09          |     4| M|            #01Connecting^and^Disconnecting    (CONNECT)
  5. ENG|09          |     5| M|            #02Data^Definition                 (CREATE, ALTER, DROP)
  6. ENG|09          |     6| M|            #03Data^Manipulation               (INSERT, UPDATE, DELETE)
  7. ENG|09          |     7| M|            #04Data^Retrieval                  (SELECT)
  8. ENG|09          |     8| M|            #05Common^Elements
  9. ENG|09          |     9| M|            #06Transaction^Concept             (COMMIT, ROLLBACK, LOCK)
  10. ENG|09          |    10| M|            #07Authorization                   (CREATE USER, GRANT, REVOKE)
  11. ENG|09          |    11| M|            #11Statistics,^Monitoring
  12. ENG|09          |    12| M|            #10SQL Syntax Reference
  13. ENG|09          |    13| M|            #12System Tables
  14. ENG|09          |    14|RM|            #09SQLMODEs
  15. ENG|0901        |     1|  |                         Connecting and Disconnecting
  16. ENG|0901        |     2|  |                         ----------------------------
  17. ENG|0901        |     4| M|                     #01Opening^a^Database^Session       (CONNECT)
  18. ENG|0901        |     5| M|                     #02Closing^a^Database^Session
  19. ENG|0901        |     6|RM|                     #03ISOLATION^LEVEL
  20. ENG|090101      |     1|  |    Opening a Database Session  (CONNECT)
  21. ENG|090101      |     3| I|    Connecting to the database is done by issuing a ##091028<connect^statement>. If
  22. ENG|090101      |     4|  |    a valid combination of <user name> and value for the <password spec> is
  23. ENG|090101      |     5|  |    specified,  the user opens a session, obtaining access to the database;
  24. ENG|090101      |     6|  |    a transaction is opened implicitly. Thus the user is the  current  user
  25. ENG|090101      |     7|  |    in  the  session. The database system ADABAS is able to execute correct
  26. ENG|090101      |     8|  |    programs that are written according to the ANSI standard (ANSI  X3.135-
  27. ENG|090101      |     9|  |    1992,  Entry  SQL), or according to the definition of the DB2 Version 3
  28. ENG|090101      |    10|  |    or according to the definition of ORACLE7. One of  the  above-mentioned
  29. ENG|090101      |    11|  |    definitions  can  be  choosen  by  specifying  SQLMODE  <sqlmode spec>.
  30. ENG|090101      |    12|  |    Default is SQLMODE ADABAS.
  31. ENG|090101      |    13|  |    There is  the  option  to  specify  some  parameters  in  the  <connect
  32. ENG|090101      |    14|  |    statement>  which,  within  the  limits  valid for the user, can be set
  33. ENG|090101      |    15|S |    specifically for this session.
  34. ENG|090101      |    19|  |    A user connect is to be performed from a C program. The user  wants  to
  35. ENG|090101      |    20|  |    work  in  SQLMODE  ANSI,  define  a  maximum  inactivity timeout of 300
  36. ENG|090101      |    21|  |    seconds, use a session-specific cache of 20 KB and a special  character
  37. ENG|090101      |    22|  |    set  for  the terminal as well as ensure the highest possible degree of
  38. ENG|090101      |    23|  |    data consistency, restricting simultaneous access to the data.
  39. ENG|090101      |    25| E|    EXEC SQL
  40. ENG|090101      |    26| E|      CONNECT         :username
  41. ENG|090101      |    27| E|      IDENTIFIED BY   :password
  42. ENG|090101      |    28| E|      SQLMODE         ANSI
  43. ENG|090101      |    29| E|      TIMEOUT         300
  44. ENG|090101      |    30| E|      CACHELIMIT      5
  45. ENG|090101      |    31| E|      ISOLATION LEVEL 3
  46. ENG|090101      |    32| E|      TERMCHAR SET    termxdeu;
  47. ENG|090101      |    34|RI|                                                                    ##091028Syntax
  48. ENG|090102      |     1|  |    Closing a Database Session
  49. ENG|090102      |     3| I|    An active database session is ended by issuing the ##09102801<release^statement>.
  50. ENG|090102      |     4|  |    COMMIT WORK RELEASE concludes the current transaction, without  opening
  51. ENG|090102      |     5|  |    a  new  one.  The  session  of the user is ended. ROLLBACK WORK RELEASE
  52. ENG|090102      |     6|  |    aborts the current transaction without opening a new one. Any  database
  53. ENG|090102      |     7|  |    modifications  performed during the transaction are undone. The session
  54. ENG|090102      |     8|  |    of the user is ended.
  55. ENG|090102      |    10|  |    The database session of the active database user is to be ended  within
  56. ENG|090102      |    11|  |    a  program.  When  doing so, the last transaction should be regarded as
  57. ENG|090102      |    12|  |    correct and be concluded.
  58. ENG|090102      |    14| E|    COMMIT WORK RELEASE
  59. ENG|090102      |    16|RI|                                                                    ##09102801Syntax
  60. ENG|090103      |     1|  |    ISOLATION LEVEL
  61. ENG|090103      |     3| I|    The specification of an ISOLATION LEVEL within the  ##091028<connect^statement>
  62. ENG|090103      |     4|  |    can  be  used  to  influence  the relation between the highest possible
  63. ENG|090103      |     5|  |    degree of concurrency of different applications and the consistency  of
  64. ENG|090103      |     6|  |    the  data. Default for the ISOLATION LEVEL is 1. The lower the value of
  65. ENG|090103      |     7|  |    the <isolation spec> the higher the degree of concurrency and the lower
  66. ENG|090103      |     8|  |    the guaranteed consistency. This makes it always necessary  to  find  a
  67. ENG|090103      |     9|  |    compromise  between  concurrency  and consistency, which best suits the
  68. ENG|090103      |    10|  |    requirements of an application. The following  phenomena  are  possible
  69. ENG|090103      |    11|  |    for the different ISOLATION LEVELs:
  70. ENG|090103      |    12|  |                           | ISO 0 | ISO  1|       | ISO  2| ISO  3
  71. ENG|090103      |    13|  |                           | ISO 0 | ISO 10| ISO 15| ISO 20| ISO 30
  72. ENG|090103      |    14|  |       --------------------+-------+-------+-------+-------+-------
  73. ENG|090103      |    15| M|       #01Dirty^Read          |   +   |   -   |   -   |   -   |   -
  74. ENG|090103      |    16| M|       #02Non-Repeatable^Read |   +   |   +   |   +   |   -   |   -
  75. ENG|090103      |    17|RM|       #03Phantom             |   +   |   +   |   +   |   +   |   -
  76. ENG|09010301    |     1|  |    Dirty Read Phenomenon
  77. ENG|09010301    |     3|  |    A  row is modified in a transaction T1, and a transaction T2 reads this
  78. ENG|09010301    |     4|  |    row before T1 has been concluded with the <commit statement>.  T1  then
  79. ENG|09010301    |     5|  |    performs  the <rollback statement>; i.e., T2 has read a row which never
  80. ENG|09010301    |     6|  |    actually  existed.  This  phenomenon  is  known  as  the   dirty   read
  81. ENG|09010301    |     7|R |    phenomenon.
  82. ENG|09010302    |     1|  |    Non-Repeatable Read Phenomenon
  83. ENG|09010302    |     3|  |    A  transaction T1 reads a row. A transaction T2 then updates or deletes
  84. ENG|09010302    |     4|  |    this row, concluding with the <commit statement>.  If  T1  subsequently
  85. ENG|09010302    |     5|  |    reads  the  row  again, T1 either receives the updated row or a message
  86. ENG|09010302    |     6|  |    saying that the row no longer exists. This phenomenon is known  as  the
  87. ENG|09010302    |     7|R |    non-repeatable read phenomenon.
  88. ENG|09010303    |     1|  |    Phantom Read Phenomenon
  89. ENG|09010303    |     3|  |    A  transaction  T1  executes an <sql statement> S, which reads a set of
  90. ENG|09010303    |     4|  |    rows SR satisfying a <search condition>. A  transaction  T2  then  uses
  91. ENG|09010303    |     5|  |    either  the  <insert  statement> or the <update statement> to create at
  92. ENG|09010303    |     6|  |    least one additional row which also satisfies the  <search  condition>.
  93. ENG|09010303    |     7|  |    If  S  is subsequently re-executed within T1, the set of read rows will
  94. ENG|09010303    |     8|R |    differ from SR. This phenomenon is known as the phantom phenomenon.
  95. ENG|0902        |     1|  |                               Data Definition
  96. ENG|0902        |     2|  |                               ---------------
  97. ENG|0902        |     4| M|             #01Creating^a^Table                     (CREATE TABLE)
  98. ENG|0902        |     5| M|             #02Altering^a^Table                     (ALTER TABLE)
  99. ENG|0902        |     6| M|             #03Dropping^a^Table                     (DROP TABLE)
  100. ENG|0902        |     7| M|             #04Defining^Domains                     (CREATE DOMAIN)
  101. ENG|0902        |     8| M|             #05Dropping^Domains                     (DROP DOMAIN)
  102. ENG|0902        |     9| M|             #06Synonyms                             (CREATE/DROP SYNONYM)
  103. ENG|0902        |    10| M|             #13Creating^a^Snapshot^Table      (CREATE SNAPSHOT)
  104. ENG|0902        |    11| M|             #14Dropping^a^Snapshot^Table      (DROP SNAPSHOT)
  105. ENG|0902        |    12| M|             #15Snapshot^Logs                       (CREATE/DROP SNAPSHOT LOG)
  106. ENG|0902        |    13| M|             #07Creating^Views                       (CREATE VIEW)
  107. ENG|0902        |    14| M|             #08Dropping^Views                       (DROP VIEW)
  108. ENG|0902        |    15| M|             #09Secondary^Indexes                    (CREATE/DROP INDEX)
  109. ENG|0902        |    17| M|             #10Renaming                             (RENAME)
  110. ENG|0902        |    18|SM|             #11Check^for^Existence                  (EXISTS)
  111. ENG|0902        |    19|RM|             #16Comments                          (COMMENT ON)
  112. ENG|090201      |     1|  |                               Creating a Table
  113. ENG|090201      |     2|  |                               ----------------
  114. ENG|090201      |     4| M|                   #01Basic^Structure
  115. ENG|090201      |     5| M|                   #02Data^Types
  116. ENG|090201      |     6| M|                   #03Primary^Key^Concept
  117. ENG|090201      |     7| M|                   #04Constraint^Definition
  118. ENG|090201      |     8| M|                   #05Referential^Constraint^Definition
  119. ENG|090201      |     9| M|                   #06Distribution
  120. ENG|090201      |    10| M|                   #07Copying^a^Table^Structure
  121. ENG|090201      |    11|RM|                   #08Copying^a^Table^Structure^and^Data^Rows
  122. ENG|09020101    |     1|  |    Basic Structure
  123. ENG|09020101    |     3| I|    A base table is created by using the ##091010<create^table^statement>. The data
  124. ENG|09020101    |     4|  |    types of the individual table columns are defined  in  this  statement,
  125. ENG|09020101    |     5|  |    and  it is possible to define there a primary key as well as conditions
  126. ENG|09020101    |     6|  |    for and relationships  between  table  columns.  As  a  result  of  the
  127. ENG|09020101    |     7|  |    execution  of  this  SQL  statement  data  is  stored  in  the  catalog
  128. ENG|09020101    |     8|  |    describing the table. This data is called meta data. It  is  stored  on
  129. ENG|09020101    |     9|  |    the  HOME  SERVERDB of the executing user. Any table rows inserted with
  130. ENG|09020101    |    10|SI|    the ##091024<insert^statement> are also stored on this SERVERDB.
  131. ENG|09020101    |    19|  |    A customer table is to be defined containing the  first  name  and  the
  132. ENG|09020101    |    20|  |    name,  a  customer  number,  title,  zip code, address, and budget. The
  133. ENG|09020101    |    21|  |    customer number has to serve as  the  primary  key.  The  budget  of  a
  134. ENG|09020101    |    22|  |    customer  is  to be checked as to whether it lies in the range of $1000
  135. ENG|09020101    |    23|  |    and $10000. If the value is not within this range, the data row  is  to
  136. ENG|09020101    |    24|  |    be rejected. The name column is to be provided as mandatory column.
  137. ENG|09020101    |    26| E|    CREATE TABLE customer
  138. ENG|09020101    |    27| E|    ( cno        FIXED  (4),
  139. ENG|09020101    |    28| E|      title      CHAR   (7),
  140. ENG|09020101    |    29| E|      firstname  CHAR  (10),
  141. ENG|09020101    |    30| E|      name       CHAR  (10) NOT NULL,
  142. ENG|09020101    |    31| E|      zip        CHAR   (5),
  143. ENG|09020101    |    32| E|      address    CHAR  (25),
  144. ENG|09020101    |    33| E|      budget     FIXED (7,2) CHECK budget BETWEEN 1000.0 AND 10000.0,
  145. ENG|09020101    |    34| E|      PRIMARY    KEY   (cno) )
  146. ENG|09020101    |    36|RI|                                                                    ##091010Syntax
  147. ENG|09020102    |     1|  |    Data Types
  148. ENG|09020102    |     3|  |    To store various pieces of information in a table, different data types
  149. ENG|09020102    |     4|  |    are available for the definition of table columns.
  150. ENG|09020102    |     6|  |    A  table  is  to  be  defined  in  which  different letter texts can be
  151. ENG|09020102    |     7|  |    administered.
  152. ENG|09020102    |     9| E|    CREATE TABLE letters
  153. ENG|09020102    |    10| E|    ( lno              FIXED (4),
  154. ENG|09020102    |    11| E|      created          DATE,
  155. ENG|09020102    |    12| E|      shortdescription CHAR (250) ASCII,
  156. ENG|09020102    |    13| E|      contents         LONG,
  157. ENG|09020102    |    14| E|      PRIMARY  KEY     (lno) )
  158. ENG|09020102    |    16|RI|                                                                    ##09101001Syntax
  159. ENG|09020103    |     1|  |    Primary Key Concept
  160. ENG|09020103    |     3| I|    The primary key of a table is created by  using  the  ##0910100301<key^definition>.
  161. ENG|09020103    |     4| I|    Each ##091010<create^table^statement> may contain at most one <key definition>.
  162. ENG|09020103    |     5|  |    If a table is defined without a key column, ADABAS implicitly generates
  163. ENG|09020103    |     6|  |    a  key  column  SYSKEY  CHAR(8)  BYTE. This column is not visible for a
  164. ENG|09020103    |     7|  |    SELECT * . It can, however, be specified explicitly. In  this  case  it
  165. ENG|09020103    |     8|S |    has the same function as a key column.
  166. ENG|09020103    |    19|  |    A  table is to be created which can be used to administer the different
  167. ENG|09020103    |    20|  |    types of room in a hotel together with the prices  and  the  number  of
  168. ENG|09020103    |    21|  |    rooms. Hotel number and room type have to serve as key.
  169. ENG|09020103    |    23| E|    CREATE TABLE room
  170. ENG|09020103    |    24| E|    ( hno        FIXED  (4),
  171. ENG|09020103    |    25| E|      roomtype   CHAR   (6),
  172. ENG|09020103    |    26| E|      max_free   FIXED (3,0),
  173. ENG|09020103    |    27| E|      price      FIXED (6,2),
  174. ENG|09020103    |    28| E|      PRIMARY    KEY   (hno, roomtype) )
  175. ENG|09020103    |    30|RI|                                                                    ##091010Syntax
  176. ENG|09020104    |     1|  |    Constraint Definition
  177. ENG|09020104    |     3| I|    A ##09101004<constraint^definition> defines a condition that must be satisfied by
  178. ENG|09020104    |     4|  |    all  rows  of the table. This <constraint definition> is checked when a
  179. ENG|09020104    |     5|  |    row is inserted and when a column occurring within this  definition  is
  180. ENG|09020104    |     6|  |    updated.   When   this   <constraint   definition>   is  violated,  the
  181. ENG|09020104    |     7|SI|    ##091024<insert^statement> or the ##091025<update^statement> fails.
  182. ENG|09020104    |    19|  |    A table is to be created which can be used to administer the  different
  183. ENG|09020104    |    20|  |    types  of  room  of  a hotel together with the prices and the number of
  184. ENG|09020104    |    21|  |    rooms. For the number of rooms and for the price  of  room  constraints
  185. ENG|09020104    |    22|  |    are to be defined.
  186. ENG|09020104    |    24| E|    CREATE TABLE room
  187. ENG|09020104    |    25| E|    ( hno        FIXED  (4),
  188. ENG|09020104    |    26| E|      roomtype   CHAR   (6),
  189. ENG|09020104    |    27| E|      max_free   FIXED (3,0) CONSTRAINT max_free >= 0,
  190. ENG|09020104    |    28| E|      price      FIXED (6,2) CONSTRAINT price BETWEEN 0.00 AND 5000.00,
  191. ENG|09020104    |    29| E|      PRIMARY    KEY   (hno, roomtype) )
  192. ENG|09020104    |    31|RI|                                                                    ##09101004Syntax
  193. ENG|09020105    |     1|  |    Referential Constraint Definition
  194. ENG|09020105    |     3| I|    A   ##09101005<referential^constraint^definition>   defines  a  1:n  relationship
  195. ENG|09020105    |     4|  |    between two tables. This means that more  than  one  matching  row  can
  196. ENG|09020105    |     5| I|    exist  for  each  row of the <referenced table>. A ##0910100501<delete^rule> can be
  197. ENG|09020105    |     6|  |    specified to define the effects that the deletion of  a  row  from  the
  198. ENG|09020105    |     7|  |    <referenced  table>  will  have  on  the referencing table: whether the
  199. ENG|09020105    |     8|  |    deletion is to fail when there  are  still  matching  rows  (RESTRICT),
  200. ENG|09020105    |     9|  |    whether  all  matching  rows  are  to  be  deleted as well (CASCADE) or
  201. ENG|09020105    |    10|  |    whether the NULL value (SET NULL) or the DEFAULT value (SET DEFAULT) is
  202. ENG|09020105    |    11|S |    to be assigned to the matching rows.
  203. ENG|09020105    |    19|  |    A table is to be created which can be used to administer the  different
  204. ENG|09020105    |    20|  |    types  of  room  of  a hotel together with the prices and the number of
  205. ENG|09020105    |    21|  |    rooms. In addition, it must be ensured that rooms can only be  inserted
  206. ENG|09020105    |    22|  |    for  existing  hotels  and  that all rooms are deleted, when a hotel is
  207. ENG|09020105    |    23|  |    deleted.
  208. ENG|09020105    |    25| E|    CREATE TABLE room
  209. ENG|09020105    |    26| E|    ( hno        FIXED  (4),
  210. ENG|09020105    |    27| E|      roomtype   CHAR   (6),
  211. ENG|09020105    |    28| E|      max_free   FIXED (3,0) CONSTRAINT max_free >= 0,
  212. ENG|09020105    |    29| E|      price      FIXED (6,2) CONSTRAINT price BETWEEN 0.00 AND 5000.00,
  213. ENG|09020105    |    30| E|      PRIMARY    KEY   (hno, roomtype),
  214. ENG|09020105    |    31| E|      FOREIGN    KEY   (hno) REFERENCES hotel ON DELETE CASCADE )
  215. ENG|09020105    |    33|RI|                                                                    ##09101005Syntax
  216. ENG|09020106    |     1|  |    Distribution
  217. ENG|09020106    |     3| I|    The specification ##09101006<table^option> WITH REPLICATION has the  effect  that
  218. ENG|09020106    |     4|  |    copies  of  the  meta  data and of the data of a table are available on
  219. ENG|09020106    |     5|  |    every SERVERDB of the distributed database,  so  that  this  table  can
  220. ENG|09020106    |     6|  |    always   be   accessed   from  the  current  SERVERDB  without  network
  221. ENG|09020106    |     7|  |    communication. Inserting, updating  or  deleting  data  rows,  however,
  222. ENG|09020106    |     8|  |    leads  to  network  communication,  because these modifications must be
  223. ENG|09020106    |     9|S |    made in all SERVERDBs.
  224. ENG|09020106    |    19|  |    A table is to be created which can be used to administer the  different
  225. ENG|09020106    |    20|  |    types  of  room  of  a hotel together with the prices and the number of
  226. ENG|09020106    |    21|  |    rooms. In addition, it must be ensured that rooms can only be  inserted
  227. ENG|09020106    |    22|  |    for  existing  hotels  and  that all rooms are deleted, when a hotel is
  228. ENG|09020106    |    23|  |    deleted. Furthermore, this table has to be available on every SERVERDB.
  229. ENG|09020106    |    25| E|    CREATE TABLE room
  230. ENG|09020106    |    26| E|    ( hno        FIXED  (4)  KEY,
  231. ENG|09020106    |    27| E|      roomtype   CHAR   (6)  KEY,
  232. ENG|09020106    |    28| E|      max_free   FIXED (3,0) CONSTRAINT max_free >= 0,
  233. ENG|09020106    |    29| E|      price      FIXED (6,2) CONSTRAINT price BETWEEN 0.00 AND 5000.00,
  234. ENG|09020106    |    30| E|      FOREIGN KEY (hno) REFERENCES hotel ON DELETE CASCADE )
  235. ENG|09020106    |    31| E|    WITH REPLICATION
  236. ENG|09020106    |    33|RI|                                                                    ##091010Syntax
  237. ENG|09020107    |     1|  |    Copying a Table Structure
  238. ENG|09020107    |     3|  |    The specification 'LIKE <source table>' has the effect  that  an  empty
  239. ENG|09020107    |     4|  |    base  table  is  created which, from the point of view of the executing
  240. ENG|09020107    |     5|  |    user, has the same structure as the  table  <source  table>;  i.e.,  it
  241. ENG|09020107    |     6|  |    includes  all columns with the same column names and column definitions
  242. ENG|09020107    |     7|  |    as the <source table>, which are known to the user. This point of  view
  243. ENG|09020107    |     8|  |    need  not  be  identical to the actual structure of the <source table>,
  244. ENG|09020107    |     9|  |    since the user may not  know  all  the  columns  because  of  privilege
  245. ENG|09020107    |    10|  |    limitations.
  246. ENG|09020107    |    12|  |    A new room table is to be defined with a structure identical to that of
  247. ENG|09020107    |    13|  |    the existing room table.
  248. ENG|09020107    |    15| E|    CREATE TABLE newroom LIKE room
  249. ENG|09020107    |    17|RI|                                                                    ##091010Syntax
  250. ENG|09020108    |     1|  |    Copying a Table Structure and Data Rows
  251. ENG|09020108    |     3| I|    Specifying  a  ##09105501<query^expression>  within  the ##091010<create^table^statement>
  252. ENG|09020108    |     4|  |    creates a base table which has the same structure as the  result  table
  253. ENG|09020108    |     5| I|    defined   by  the  <query  expression>.  If  a  ##09101008<table^description>  is
  254. ENG|09020108    |     6| I|    specified, and if it contains ##09101001<column^definition>s, then  each  <column
  255. ENG|09020108    |     7|  |    definition>  may  only  consist  of  a <column name>, and the number of
  256. ENG|09020108    |     8|  |    <column definition>s must equal the number of  columns  in  the  result
  257. ENG|09020108    |     9| I|    table  generated by the <query expression>. The ##0910100101<data^type> of the i-th
  258. ENG|09020108    |    10|  |    column of the generated base table corresponds  to  that  of  the  i-th
  259. ENG|09020108    |    11|S |    column in the result table generated by the <query expression>.
  260. ENG|09020108    |    19|  |    A  new  table  is to be defined consisting of the columns hotelname and
  261. ENG|09020108    |    20|  |    cityname and containing all hotels in Detroit.
  262. ENG|09020108    |    22| E|    CREATE TABLE detroithotels (hotelname, cityname)
  263. ENG|09020108    |    23| E|    AS SELECT    hotel.name, city.name
  264. ENG|09020108    |    24| E|       FROM      hotel, city
  265. ENG|09020108    |    25| E|       WHERE     hotel.zip = city.zip
  266. ENG|09020108    |    26| E|       AND       city.name  = 'Detroit'
  267. ENG|09020108    |    28|RI|                                                                    ##091010Syntax
  268. ENG|090202      |     1|  |    Altering a Table
  269. ENG|090202      |     3| I|    The ##091011<alter^table^statement>  serves  to  modify  the  structure  of  an
  270. ENG|090202      |     4|  |    existing  base table. In this way, columns can be added or dropped, for
  271. ENG|090202      |     5|  |    example. The data type of a column can be altered, extended or provided
  272. ENG|090202      |     6|  |    with a new <constraint definition>. The definition of the  primary  key
  273. ENG|090202      |     7|  |    can be modified.
  274. ENG|090202      |     9|  |    The table customer is to be extended by a column containing the monthly
  275. ENG|090202      |    10|  |    travel budget.
  276. ENG|090202      |    12| E|    ALTER TABLE  customer
  277. ENG|090202      |    13| E|          ADD    travelbudget FIXED (6,2)
  278. ENG|090202      |    15|RI|                                                                    ##091011Syntax
  279. ENG|090203      |     1|  |    Dropping a Table
  280. ENG|090203      |     3| I|    The ##091012<drop^table^statement> drops all meta data and rows of a base table
  281. ENG|090203      |     4|  |    as  well  as  all  view  definitions,  indexes,  privileges,  synonyms,
  282. ENG|090203      |     5|  |    triggers, and <referential constraint>s that depend on this base table.
  283. ENG|090203      |     6|  |    If a table dropped in  the  course  of  a  <drop  table  statement>  is
  284. ENG|090203      |     7|  |    addressed   in  a  DB  procedure,  this  procedure  is  marked  as  not
  285. ENG|090203      |     8|  |    executable.
  286. ENG|090203      |    10|  |    If RESTRICT is specified and view tables or synonyms are based  on  the
  287. ENG|090203      |    11|  |    specified table, the <drop table statement> fails.
  288. ENG|090203      |    13|  |    If  all  data  linked  to  this  base  table by <referential constraint
  289. ENG|090203      |    14| I|    definition>s with corresponding ##0910100501<delete^rule> are to be processed  with
  290. ENG|090203      |    15| I|    the  specified  <delete  rule>,  first  a  ##091026<delete^statement>  must  be
  291. ENG|090203      |    16|  |    performed for this base table which then must be followed  by  a  <drop
  292. ENG|090203      |    17|S |    table statement>.
  293. ENG|090203      |    19|  |    The  table  containing the data of the rooms of the different hotels is
  294. ENG|090203      |    20|  |    to be dropped.
  295. ENG|090203      |    22| E|    DROP TABLE  room
  296. ENG|090203      |    24|RI|                                                                    ##091012Syntax
  297. ENG|090204      |     1|  |    Defining Domains (CREATE DOMAIN)
  298. ENG|090204      |     3| I|    The ##091013<create^domain^statement> serves to define a domain  which  can  be
  299. ENG|090204      |     4| I|    used  in  the  ##091010<create^table^statement> and ##091011<alter^table^statement> for
  300. ENG|090204      |     5|  |    the definition of a column. This  domain  contains  a  data  type  and,
  301. ENG|090204      |     6| I|    optionally, a ##091010010201<default^spec> and/or a ##09101004<constraint^definition>. All data
  302. ENG|090204      |     7|  |    inserted  into  a  table  column by using a domain as a range of values
  303. ENG|090204      |     8|  |    must  satisfy  the  domain  conditions;  otherwise  the   corresponding
  304. ENG|090204      |     9| I|    ##091024<insert^statement> or ##091025<update^statement> fails.
  305. ENG|090204      |    11|  |    A domain is to be defined to ensure a correct entry of zip codes.
  306. ENG|090204      |    13| E|    CREATE DOMAIN zip_dom CHAR (5) CONSTRAINT zip_dom
  307. ENG|090204      |    14| E|       LIKE '(0-9)(0-9)(0-9)(0-9)(0-9)'
  308. ENG|090204      |    16|RI|                                                                    ##091013Syntax
  309. ENG|090205      |     1|  |    Dropping Domains (DROP DOMAIN)
  310. ENG|090205      |     3| I|    The  ##091014<drop^domain^statement>  serves  to  drop  a  defined  domain. The
  311. ENG|090205      |     4|  |    dropping has no effect on tables in which this domain was used for  the
  312. ENG|090205      |     5|  |    definition of columns.
  313. ENG|090205      |     7|  |    The  domain  for  ensuring  the  correct  entry  of  zip codes is to be
  314. ENG|090205      |     8|  |    dropped.
  315. ENG|090205      |    10| E|    DROP DOMAIN zip_dom
  316. ENG|090205      |    12|RI|                                                                    ##091014Syntax
  317. ENG|090206      |     1|  |    Synonyms
  318. ENG|090206      |     3| I|    The ##091015<create^synonym^statement> serves to  define  an  alternative  name
  319. ENG|090206      |     4|  |    (synonym)  for  a table. A table can also be addressed by this synonym.
  320. ENG|090206      |     5|  |    An    existing    synonym    can    be    dropped    by    using    the
  321. ENG|090206      |     6| I|    ##091015<drop^synonym^statement>,    it   can   be   renamed   by   using   the
  322. ENG|090206      |     7| I|    ##091015<rename^synonym^statement>.
  323. ENG|090206      |     9|  |    A synonym is to be defined for the table customer belonging to the user
  324. ENG|090206      |    10|  |    sqltravel00. This synonym is to be renamed and finally to be dropped.
  325. ENG|090206      |    12| E|    CREATE SYNONYM c00 FOR sqltravel00.customer
  326. ENG|090206      |    14|  |    RENAME SYNONYM c00 TO cus00
  327. ENG|090206      |    15|  |    DROP   SYNONYM cus00
  328. ENG|090206      |    17|RI|                                                                    ##091015Syntax
  329. ENG|090207      |     1|  |    Creating Views (CREATE VIEW)
  330. ENG|090207      |     3| I|    Views are defined with the  ##091016<create^view^statement>.  Afterwards  these
  331. ENG|090207      |     4|  |    views  can  be  processed  like  base  tables. They help to support the
  332. ENG|090207      |     5|  |    authorizing procedures, e.g. allowing that different views  on  to  the
  333. ENG|090207      |     6|  |    common, identical data are given to different users.
  334. ENG|090207      |     8|  |    If  OR  REPLACE is specified, a view table that might exist is replaced
  335. ENG|090207      |     9|  |    by the specified definition. The existing privileges are also valid for
  336. ENG|090207      |    10|  |    the new view table. If there is no view table with the specified  name,
  337. ENG|090207      |    11|  |    OR REPLACE has no effect.
  338. ENG|090207      |    13|  |    The  optional specification WITH CHECK OPTION for an updatable view has
  339. ENG|090207      |    14| I|    the effect that the  ##091024<insert^statement>  or  ##091025<update^statement>  cannot
  340. ENG|090207      |    15|  |    create  any rows on the view which subsequently would not be selectable
  341. ENG|090207      |    16|  |    by  using  this  view;  i.e.,  the  resulting  rows  must  satisfy  the
  342. ENG|090207      |    17|SI|    ##091056<search^condition> of the view table.
  343. ENG|090207      |    19|  |    Creating a non-updatable join view containing the domiciles in addition
  344. ENG|090207      |    20|  |    to the names of the customers.
  345. ENG|090207      |    22| E|    CREATE VIEW  customercity
  346. ENG|090207      |    23| E|    AS SELECT    firstname, name, address, name city
  347. ENG|090207      |    24| E|       FROM      customer cu, city ci
  348. ENG|090207      |    25| E|      WHERE      cu.zip = ci.zip
  349. ENG|090207      |    27|  |    Creating  an  updatable  view table containing the columns of the table
  350. ENG|090207      |    28|  |    customer that are required for this purpose.
  351. ENG|090207      |    30|  |    CREATE VIEW  customerview
  352. ENG|090207      |    31|  |    AS SELECT    cno, title, name, zip, address
  353. ENG|090207      |    32|  |       FROM      customer
  354. ENG|090207      |    34|RI|                                                                    ##091016Syntax
  355. ENG|090208      |     1|  |    Dropping Views (DROP VIEW)
  356. ENG|090208      |     3| I|    The ##091016<drop^view^statement> drops the view table and all  synonyms,  view
  357. ENG|090208      |     4|  |    tables,  and  privileges  depending  on  this  view  table.  The tables
  358. ENG|090208      |     5|  |    underlying the view table remain unaffected.
  359. ENG|090208      |     7|  |    If RESTRICT is specified and view tables or synonyms are based  on  the
  360. ENG|090208      |     8|  |    specified table, the <drop view statement> fails.
  361. ENG|090208      |    10|  |    The view customercity is to be dropped.
  362. ENG|090208      |    12| E|    DROP VIEW customercity
  363. ENG|090208      |    14|RI|                                                                    ##091016Syntax
  364. ENG|090209      |     1|  |    Secondary Indexes
  365. ENG|090209      |     3| I|    An  index is defined with the ##091018<create^index^statement>. Indexes support
  366. ENG|090209      |     4|  |    the access to base tables by using non-key columns. Their  maintenance,
  367. ENG|090209      |     5|  |    however,   means   additional   overhead   in   connection   with   the
  368. ENG|090209      |     6| I|    ##091024<insert^statement>,  ##091025<update^statement>,  and  ##091026<delete^statement>.  The
  369. ENG|090209      |     7|  |    specification  ASC  or  DESC can be used to support the processing in a
  370. ENG|090209      |     8|  |    certain order that corresponds to the index definition. A defined index
  371. ENG|090209      |     9| I|    is dropped with the ##091018<drop^index^statement>.
  372. ENG|090209      |    11|  |    To accelerate the search for certain customer names, an index is to  be
  373. ENG|090209      |    12|  |    defined on the customer table.
  374. ENG|090209      |    14| E|    CREATE INDEX custname ON customer ( name ASC, firstname DESC )
  375. ENG|090209      |    16|  |    The index custname is to be dropped.
  376. ENG|090209      |    18|RI|    DROP INDEX custname                                             ##091018Syntax
  377. ENG|090210      |     1|  |    Renaming
  378. ENG|090210      |     3|  |    There  is  a series of rename SQL statements for renaming tables, table
  379. ENG|090210      |     4|  |    columns, synonyms, and views. In detail, the following  SQL  statements
  380. ENG|090210      |     5|  |    are available to rename
  381. ENG|090210      |     7| I|    tables         : ##091019<rename^table^statement>
  382. ENG|090210      |     8| I|    table columns  : ##091020<rename^column^statement>
  383. ENG|090210      |     9| I|    synonyms       : ##091015<rename^synonym^statement>
  384. ENG|090210      |    10| I|    views          : ##091016<rename^view^statement>
  385. ENG|090210      |    12|  |    The  table  column  name  of  the  table  customer  is to be renamed as
  386. ENG|090210      |    13|  |    surname.
  387. ENG|090210      |    15|RE|    RENAME COLUMN customer.name TO surname
  388. ENG|090211      |     1|  |    Check for Existence
  389. ENG|090211      |     3| I|    With the ##091023<exists^table^statement>, a user can find out whether  a  base
  390. ENG|090211      |     4|  |    table, view table, snapshot table or a synonym does exist.
  391. ENG|090211      |     6|  |    It is to be found out whether the table customermaster exists.
  392. ENG|090211      |     8| E|    EXISTS TABLE customermaster
  393. ENG|090211      |    10|RI|                                                                    ##091023Syntax
  394. ENG|090213      |     1|  |    Creating a Snapshot Table (CREATE SNAPSHOT)
  395. ENG|090213      |     3| I|    A table created by the ##091063<create^snapshot^statement> is called a snapshot
  396. ENG|090213      |     4|  |    table.  Structure  and contents of the snapshot table are equivalent to
  397. ENG|090213      |     5| I|    the result table defined by the ##09105501<query^expression>.  The  data  of  the
  398. ENG|090213      |     6|  |    snapshot  table  is  physically stored and the contents of the snapshot
  399. ENG|090213      |     7|  |    table are not always identical to the result of the <query expression>.
  400. ENG|090213      |     9|  |    The meta data and the contents of the snapshot table are stored on  the
  401. ENG|090213      |    10|  |    SERVERDB where the current user has opened his sesssion.
  402. ENG|090213      |    12|  |    The  rows  of  a  snapshot  table  cannot  be  changed  by  the <insert
  403. ENG|090213      |    13|  |    statement>, <update statement> or <delete statement>. The  contents  of
  404. ENG|090213      |    14|  |    the  snapshot table can only be tallied with the contents of the result
  405. ENG|090213      |    15|  |    table   defined   by   the   <query   expression>    by    using    the
  406. ENG|090213      |    16| I|    ##091061<refresh^statement>.  A  snapshot  log,  if available, will be used for
  407. ENG|090213      |    17|S |    this purpose.
  408. ENG|090213      |    19|  |    A snapshot  table  customerbudget  is  to  be  created  containing  the
  409. ENG|090213      |    20|  |    customer   numbers  and  budgets  of  all  Californian  customers.  The
  410. ENG|090213      |    21|  |    specifications are to come from the table customer.
  411. ENG|090213      |    23| E|    CREATE SNAPSHOT customerbudget
  412. ENG|090213      |    24| E|    AS SELECT cno, budget
  413. ENG|090213      |    25| E|         FROM customer
  414. ENG|090213      |    26| E|        WHERE state >= 'CA'
  415. ENG|090213      |    27|RI|                                                                    ##091063Syntax
  416. ENG|090214      |     1|  |    Dropping a Snapshot Table (DROP SNAPSHOT)
  417. ENG|090214      |     3|  |    The metadata and all rows  of  the  snapshot  table  are  dropped.  All
  418. ENG|090214      |     4|  |    indexes,  synonyms  and  view  tables defined on the snapshot table are
  419. ENG|090214      |     5|  |    dropped.
  420. ENG|090214      |     7|  |    The tables underlying the snapshot table remain unaffected.
  421. ENG|090214      |     9|  |    The snapshot table customerbudget containing the customer  numbers  and
  422. ENG|090214      |    10|  |    budgets of the Californian customers is to be dropped.
  423. ENG|090214      |    12| E|    DROP SNAPSHOT customerbudget
  424. ENG|090214      |    13|RI|                                                                    ##091063Syntax
  425. ENG|090215      |     1|  |    Snapshot Logs (CREATE/DROP SNAPSHOT LOG)
  426. ENG|090215      |     3| I|    The ##091064<create^snapshot^log^statement> creates a snapshot log for the base
  427. ENG|090215      |     4|  |    table  identified  by  <table  name>.  In a snapshot log, ADABAS stores
  428. ENG|090215      |     5|  |    information about the modified rows of the table. This information  can
  429. ENG|090215      |     6| I|    be  used  later  with  a ##091061<refresh^statement> to update a snapshot table
  430. ENG|090215      |     7| I|    without having to execute the  complete  ##09105501<query^expression>.  Only  the
  431. ENG|090215      |     8|  |    modifications  made since the last execution of the <refresh statement>
  432. ENG|090215      |     9|  |    will be executed instead.
  433. ENG|090215      |    11|  |    A snapshot log is to be created for the base table and  to  be  dropped
  434. ENG|090215      |    12|  |    immediately.
  435. ENG|090215      |    14| E|    CREATE SNAPSHOT LOG ON customer
  436. ENG|090215      |    15| E|    /
  437. ENG|090215      |    16| E|    DROP SNAPSHOT LOG ON customer
  438. ENG|090215      |    17|RI|                                                                    ##091064Syntax
  439. ENG|090216      |     1|  |    Comments (COMMENT ON)
  440. ENG|090216      |     3| I|    The  ##091065<comment^on^statement>  creates a comment for a database object in
  441. ENG|090216      |     4|  |    the catalog. The specified object must exist.
  442. ENG|090216      |     6|  |    A comment for the column firstname in  the  table  customer  is  to  be
  443. ENG|090216      |     7|  |    stored.
  444. ENG|090216      |     9| E|    COMMENT ON COLUMN customer.firstname IS
  445. ENG|090216      |    10| E|    'The firstname is NULL if a company is concerned.'
  446. ENG|090216      |    11|RI|                                                                    ##091065Syntax
  447. ENG|0903        |     1|  |                              Data Manipulation
  448. ENG|0903        |     2|  |                              -----------------
  449. ENG|0903        |     4| M|        #01Inserting^Rows                                     (INSERT)
  450. ENG|0903        |     5| M|        #02Copying^Data^of^Other^Tables                       (INSERT..SELECT)
  451. ENG|0903        |     6| M|        #03Updating^Rows                                      (UPDATE)
  452. ENG|0903        |     7| M|        #04Updating^a^Single^Row^Previously^Selected          (UPDATE..CURRENT OF)
  453. ENG|0903        |     8| M|        #05Deleting^Rows                                      (DELETE)
  454. ENG|0903        |     9| M|        #06Deleting^a^Single^Row^Previously^Selected          (DELETE..CURRENT OF)
  455. ENG|0903        |    10| M|        #08Refreshing^a^Snapshot^Table              (REFRESH SNAPSHOT)
  456. ENG|0903        |    11| M|        #09Clearing^a^Snapshot^Log           (CLEAR SNAPSHOT LOG)
  457. ENG|0903        |    12|RM|        #07Generating^a^Unique^Value                          (STAMP)
  458. ENG|090301      |     1|  |    Inserting Rows (INSERT)
  459. ENG|090301      |     3| I|    The  ##091024<insert^statement> inserts a new row into a table. If the names of
  460. ENG|090301      |     4|  |    some table columns  are  specified,  the  values  to  be  inserted  are
  461. ENG|090301      |     5|  |    assigned  to  these  columns. Columns which have not been indicated are
  462. ENG|090301      |     6|  |    set either to the null value or to the default value specified  in  the
  463. ENG|090301      |     7|  |    table  definition.  If  no  column names are specified, a value must be
  464. ENG|090301      |     8|  |    specified for each table column - in the order determined in the  table
  465. ENG|090301      |     9|S |    definition.
  466. ENG|090301      |    19|  |    A new data row only containing values in the mandatory columns is to be
  467. ENG|090301      |    20|  |    inserted into the table customer.
  468. ENG|090301      |    22| E|    INSERT INTO customer ( cno, name, budget )
  469. ENG|090301      |    23| E|    VALUES               ( 6798, 'Newman', 6000.0 )
  470. ENG|090301      |    25|  |    Another  data  row  is  to be inserted entirely into the database, with
  471. ENG|090301      |    26|  |    specifications for all columns.
  472. ENG|090301      |    28|  |    INSERT customer
  473. ENG|090301      |    29|  |    VALUES ( 8973, 'Mrs', 'Frances', 'Baker', 77908,
  474. ENG|090301      |    30|  |             'Woodland  56', 5687 )
  475. ENG|090301      |    32|RI|                                                                    ##091024Syntax
  476. ENG|090302      |     1|  |    Copying Data of Other Tables  (INSERT..SELECT)
  477. ENG|090302      |     3| I|    If a ##09105501<query^expression> is used in the ##091024<insert^statement> to insert new
  478. ENG|090302      |     4|  |    rows into a table, the  result  of  this  <query  expression>  will  be
  479. ENG|090302      |     5|  |    inserted into the specified table.
  480. ENG|090302      |     7|  |    All double room data of the table room is to be inserted into the table
  481. ENG|090302      |     8|  |    doubleroom  - the definition of which is identical to that of the table
  482. ENG|090302      |     9|  |    room.
  483. ENG|090302      |    11| E|    INSERT doubleroom
  484. ENG|090302      |    12| E|    SELECT *
  485. ENG|090302      |    13| E|    FROM   room
  486. ENG|090302      |    14| E|    WHERE  roomtype = 'DOUBLE'
  487. ENG|090302      |    16|RI|                                                                    ##091024Syntax
  488. ENG|090303      |     1|  |    Updating Rows
  489. ENG|090303      |     3| I|    The ##091025<update^statement> can be used to update single  column  values  in
  490. ENG|090303      |     4| I|    already  existing  table rows. An optional sequence of ##091058<key^spec>s or a
  491. ENG|090303      |     5| I|    ##091056<search^condition> can be used to select the data rows to  be  updated.
  492. ENG|090303      |     6|  |    If  neither  a  sequence  of  <key  spec>s  nor a <search condition> is
  493. ENG|090303      |     7|  |    specified, all rows of the specified table will be updated.
  494. ENG|090303      |     9|  |    The price of single rooms is to be increased by 10% for the hotel  with
  495. ENG|090303      |    10|  |    the hotel number 60.
  496. ENG|090303      |    12| E|    UPDATE room
  497. ENG|090303      |    13| E|    SET    price   = price * 1.1
  498. ENG|090303      |    14|SE|    KEY    hno     = 60, roomtype = 'SINGLE'
  499. ENG|090303      |    19|  |    The  prices  of  all  single rooms of all hotels are to be increased by
  500. ENG|090303      |    20|  |    10%.
  501. ENG|090303      |    22|  |    UPDATE room
  502. ENG|090303      |    23|  |    SET    price = price * 1.1
  503. ENG|090303      |    24|  |    WHERE  roomtype = 'SINGLE'
  504. ENG|090303      |    26|RI|                                                                    ##091025Syntax
  505. ENG|090304      |     1|  |    Updating a Single Row Previously Selected  (UPDATE..CURRENT OF)
  506. ENG|090304      |     3| I|    Specifying the option 'CURRENT OF' in the ##09102501<update^statement> selects  a
  507. ENG|090304      |     4|  |    row from a table by means of a cursor position within a result table. A
  508. ENG|090304      |     5|  |    named  result  table  must have been generated beforehand either with a
  509. ENG|090304      |     6| I|    ##091002<declare^cursor^statement> or  with  a  ##09100110<named^select^statement>.  This
  510. ENG|090304      |     7| I|    result  table  must  have been defined with the ##09100108<update^clause>. If the
  511. ENG|090304      |     8|  |    cursor is positioned on a row of the result  table,  the  corresponding
  512. ENG|090304      |     9|  |    row  will  be  updated.  The  corresponding row is the row of the table
  513. ENG|090304      |    10| I|    specified in the ##09100103<from^clause> of the ##091059<query^statement>, from which the
  514. ENG|090304      |    11|S |    row of the result table was formed.
  515. ENG|090304      |    19|  |    That data row is to be updated in the table room which  corresponds  to
  516. ENG|090304      |    20|  |    the data row to which the cursor in the result table resultroom points.
  517. ENG|090304      |    22| E|    SELECT   resultroom (hno)
  518. ENG|090304      |    23| E|    FROM     room
  519. ENG|090304      |    24| E|    WHERE    roomtype = 'SINGLE'
  520. ENG|090304      |    25| E|    FOR UPDATE
  521. ENG|090304      |    26| E|    /
  522. ENG|090304      |    27| E|    FETCH    resultroom  INTO  :hotelnumber
  523. ENG|090304      |    28| E|    /
  524. ENG|090304      |    29| E|    UPDATE   room
  525. ENG|090304      |    30| E|    SET      price = price * 1.15
  526. ENG|090304      |    31| E|    WHERE CURRENT OF resultroom
  527. ENG|090304      |    33|RI|                                                                    ##09102501Syntax
  528. ENG|090305      |     1|  |    Deleting Rows  (DELETE)
  529. ENG|090305      |     3| I|    The  ##091026<delete^statement>  deletes single rows from a table. The optional
  530. ENG|090305      |     4| I|    sequence of ##091058<key^spec>s or a ##091056<search^condition> can be used  to  select
  531. ENG|090305      |     5|  |    the data rows to be deleted. If neither a sequence of <key spec>s nor a
  532. ENG|090305      |     6|  |    <search  condition>  is specified, all rows of the specified table will
  533. ENG|090305      |     7|  |    be deleted.
  534. ENG|090305      |     9|  |    The hotel with the hotel number 80 is to  be  deleted.  A  <referential
  535. ENG|090305      |    10|  |    constraint  definition> has the effect that all rooms of this hotel are
  536. ENG|090305      |    11|  |    also deleted from the table room.
  537. ENG|090305      |    13| E|    DELETE hotel
  538. ENG|090305      |    14|SE|    KEY    hno = 80
  539. ENG|090305      |    19|  |    All hotels which offer rooms for prices greater than $300.- are  to  be
  540. ENG|090305      |    20|  |    deleted from the table hotel. A <referential constraint definition> has
  541. ENG|090305      |    21|  |    the  effect  that  all rooms belonging to these hotels are also deleted
  542. ENG|090305      |    22|  |    from the table room.
  543. ENG|090305      |    24|  |    DELETE hotel
  544. ENG|090305      |    25|  |    WHERE  hno  IN ( SELECT hno
  545. ENG|090305      |    26|  |                     FROM   room
  546. ENG|090305      |    27|  |                     WHERE  price > 300.00 )
  547. ENG|090305      |    29|RI|                                                                    ##091026Syntax
  548. ENG|090306      |     1|  |    Deleting a Single Row Previously Selected  (DELETE..CURRENT OF)
  549. ENG|090306      |     3| I|    Specifying the option 'CURRENT OF' in the ##09102601<delete^statement> selects  a
  550. ENG|090306      |     4|  |    row from a table by means of a cursor position within a result table. A
  551. ENG|090306      |     5|  |    named  result  table  must have been generated beforehand either with a
  552. ENG|090306      |     6| I|    ##091002<declare^cursor^statement> or  with  a  ##09100110<named^select^statement>.  This
  553. ENG|090306      |     7| I|    result  table  must  have been defined with the ##09100108<update^clause>. If the
  554. ENG|090306      |     8|  |    cursor is positioned on a row of the result  table,  the  corresponding
  555. ENG|090306      |     9|  |    row  will  be  deleted.  The  corresponding row is the row of the table
  556. ENG|090306      |    10| I|    specified in the ##09100103<from^clause> of the ##091059<query^statement>, from which the
  557. ENG|090306      |    11|S |    row of the result table was formed.
  558. ENG|090306      |    19|  |    That  data  row  is  to  be  deleted  from  the  table  customer  which
  559. ENG|090306      |    20|  |    corresponds  to  the  data  row to which the cursor in the result table
  560. ENG|090306      |    21|  |    resultcustomer points.
  561. ENG|090306      |    23| E|    SELECT  resultcustomer (name)
  562. ENG|090306      |    24| E|    FROM    customer
  563. ENG|090306      |    25| E|    WHERE   title = 'Mr'
  564. ENG|090306      |    26| E|    FOR UPDATE
  565. ENG|090306      |    27| E|    /
  566. ENG|090306      |    28| E|    FETCH   resultcustomer
  567. ENG|090306      |    29| E|    INTO    :name
  568. ENG|090306      |    30| E|    /
  569. ENG|090306      |    31| E|    DELETE FROM  customer
  570. ENG|090306      |    32| E|    WHERE CURRENT OF resultcustomer
  571. ENG|090306      |    34|RI|                                                                    ##09102601Syntax
  572. ENG|090307      |     1|  |    Generating a Unique Value  (NEXT STAMP)
  573. ENG|090307      |     3|  |    For tables defined without key columns, there is an implicitly  created
  574. ENG|090307      |     4|  |    column  SYSKEY  CHAR(8)  BYTE  which contains a system key generated by
  575. ENG|090307      |     5| I|    ADABAS.  The  ##091027<next^stamp^statement>  assigns  the  next  unique  value
  576. ENG|090307      |     6|  |    generated  by  ADABAS to the variable denoted by <parameter name>. This
  577. ENG|090307      |     7|  |    value is then no longer found in  a  SYSKEY  column.  The  <next  stamp
  578. ENG|090307      |     8|  |    statement>  cannot be used in interactive mode; it can only be embedded
  579. ENG|090307      |     9|  |    into a programming language. A possible usage is to ensure  referential
  580. ENG|090307      |    10|  |    integrity  when  data rows are inserted into tables that are associated
  581. ENG|090307      |    11| I|    with one another by ##09101005<referential^constraint^definition>s.
  582. ENG|090307      |    13|  |    The next unique value is to be generated and stored in a variable.
  583. ENG|090307      |    15| E|    NEXT STAMP :key
  584. ENG|090307      |    16|RI|                                                                    ##091027Syntax
  585. ENG|090308      |     1|  |    Refreshing a Snapshot Table (REFRESH SNAPSHOT)
  586. ENG|090308      |     3|  |    The contents of the snapshot table are updated; i.e.,  after  execution
  587. ENG|090308      |     4| I|    of  the  ##091061<refresh^statement>, the snapshot table contains the result of
  588. ENG|090308      |     5| I|    the ##09105501<query^expression> defined for the ##091063<create^snapshot^statement>.  If
  589. ENG|090308      |     6|  |    indexes were defined for the snapshot table, these are updated as well.
  590. ENG|090308      |     8|  |    If  COMPLETE  is specified, the existing contents of the snapshot table
  591. ENG|090308      |     9|  |    are deleted and completely recreated. If  COMPLETE  is  not  specified,
  592. ENG|090308      |    10|  |    then  it depends on the definition of the <query expression> and on the
  593. ENG|090308      |    11|  |    definition of a snapshot log  whether  only  the  modifications  on  an
  594. ENG|090308      |    12|  |    underlying  table  need  to  be  executed  in the snapshot table or the
  595. ENG|090308      |    13|S |    contents of the snapshot table are completely to be recreated.
  596. ENG|090308      |    19|  |    The snapshot table customerbudget is to be refreshed.
  597. ENG|090308      |    21| E|    REFRESH SNAPSHOT customerbudget
  598. ENG|090308      |    22|RI|                                                                    ##091061Syntax
  599. ENG|090309      |     1|  |    Clearing a Snapshot Log (CLEAR SNAPSHOT LOG)
  600. ENG|090309      |     3| I|    The ##091062<clear^snapshot^log^statement> completely deletes the  contents  of
  601. ENG|090309      |     4| I|    the  snapshot  log of the specified table. The next ##091061<refresh^statement>
  602. ENG|090309      |     5|  |    for snapshot tables based on the specified table has  the  effect  that
  603. ENG|090309      |     6|  |    the  snapshot  table  is  deleted  and  recreated although the <refresh
  604. ENG|090309      |     7|  |    statement> was specified without COMPLETE.
  605. ENG|090309      |     9|  |    The snapshot log of the table customer is to be cleared.
  606. ENG|090309      |    11|  |    CLEAR SNAPSHOT LOG ON customer
  607. ENG|090309      |    12|RI|                                                                    ##091062Syntax
  608. ENG|0904        |     1|  |                                Data Retrieval
  609. ENG|0904        |     2|  |                                --------------
  610. ENG|0904        |     4| M|          #01Structure^of^the^SELECT^Statement
  611. ENG|0904        |     5| I|          ##09040704FETCH
  612. ENG|0904        |     6| M|          #02Joining^Tables                  (Join)
  613. ENG|0904        |     7| M|          #03Outer^Join
  614. ENG|0904        |     8| M|          #04Subqueries                      (Subquery)
  615. ENG|0904        |     9| M|          #05Correlated^Subquery
  616. ENG|0904        |    10| M|          #06Set^Operations                  (UNION, INTERSECT, EXCEPT)
  617. ENG|0904        |    11| M|          #07Processing^Result^Tables
  618. ENG|0904        |    12| M|          #08Single^Row^Processing
  619. ENG|0904        |    13|RM|          #09Search^Strategy                 (EXPLAIN)
  620. ENG|090401      |     1|  |                         Structure of the Select Statement
  621. ENG|090401      |     2|  |                         ---------------------------------
  622. ENG|090401      |     4| M|                       #01Application                     (SELECT)
  623. ENG|090401      |     5| M|                       #02Selection
  624. ENG|090401      |     6| M|                       #03Projection
  625. ENG|090401      |     7| M|                       #04Grouping                        (GROUP BY, HAVING)
  626. ENG|090401      |     8| M|                       #05Sorting                         (ORDER BY)
  627. ENG|090401      |     9| M|                       #06FOR^UPDATE
  628. ENG|090401      |    10| M|                       #07LOCK^Option
  629. ENG|090401      |    11|RM|                       #08FOR^REUSE
  630. ENG|09040101    |     1|  |    Application
  631. ENG|09040101    |     3|  |    The SELECT statement can be used to generate any section from the data.
  632. ENG|09040101    |     4|  |    The number of rows in the result  table  can  be  limited  by  choosing
  633. ENG|09040101    |     5|  |    certain  columns  or  expressions  as well as by specifying appropriate
  634. ENG|09040101    |     6|  |    search conditions.
  635. ENG|09040101    |     8|  |    All data of customers with customer numbers greater than 3400 stored in
  636. ENG|09040101    |     9|  |    the table customer is to be displayed.
  637. ENG|09040101    |    11| E|    SELECT  *
  638. ENG|09040101    |    12| E|    FROM    customer
  639. ENG|09040101    |    13| E|    WHERE   cno > 3400
  640. ENG|09040101    |    15|RI|                                                                    ##091001Syntax
  641. ENG|09040102    |     1|  |    Selection
  642. ENG|09040102    |     3|  |    Specifying a search condition generates a result table  with  the  same
  643. ENG|09040102    |     4|  |    structure  as  the  underlying  base  table(s).  This result table only
  644. ENG|09040102    |     5|  |    contains data rows that satisfy  the  search  condition.  Several  base
  645. ENG|09040102    |     6| I|    tables can be associated with one another by a ##090402join.
  646. ENG|09040102    |     8|  |    All  data  of the hotels with hotel numbers between 50 and 80 stored in
  647. ENG|09040102    |     9|  |    the table hotel is to be displayed.
  648. ENG|09040102    |    11| E|    SELECT  *
  649. ENG|09040102    |    12| E|    FROM    hotel
  650. ENG|09040102    |    13| E|    WHERE   hno BETWEEN 50 AND 80
  651. ENG|09040102    |    15|RI|                                                                    ##091001Syntax
  652. ENG|09040103    |     1|  |    Projection
  653. ENG|09040103    |     3|  |    A result table based on the data of the  underlying  base  table(s)  is
  654. ENG|09040103    |     4|  |    generated  by  the  selection  of expressions. This result table can be
  655. ENG|09040103    |     5|  |    structured freely.
  656. ENG|09040103    |     7|  |    For the hotel with the hotel number 50, the possible  maximum  turnover
  657. ENG|09040103    |     8|  |    is to be found out for each type of room.
  658. ENG|09040103    |    10| E|    SELECT  price * max_free, max_free, roomtype
  659. ENG|09040103    |    11| E|    FROM    room
  660. ENG|09040103    |    12| E|    WHERE   hno = 50
  661. ENG|09040103    |    14|RI|                                                                    ##091001Syntax
  662. ENG|09040104    |     1|  |    Grouping
  663. ENG|09040104    |     3| I|    The  ##09100105<group^clause>  allows  some  functions to be applied to groups of
  664. ENG|09040104    |     4|  |    rows within a result table. All rows of a group have the same values in
  665. ENG|09040104    |     5|  |    the grouping columns. The specification of  attributes  for  groups  is
  666. ENG|09040104    |     6|  |    optional.
  667. ENG|09040104    |     8|  |    The average price for each type of room is to be found out.
  668. ENG|09040104    |    10|  |    SELECT    FIXED (AVG (price), 5, 2), roomtype
  669. ENG|09040104    |    11|  |    FROM      room
  670. ENG|09040104    |    12|S |    GROUP BY  roomtype
  671. ENG|09040104    |    19|  |    The  number  of hotels is to be found out per room type offered by more
  672. ENG|09040104    |    20|  |    than 10 hotels.
  673. ENG|09040104    |    22| E|    SELECT    COUNT (roomtype), roomtype
  674. ENG|09040104    |    23| E|    FROM      room
  675. ENG|09040104    |    24| E|    GROUP BY  roomtype
  676. ENG|09040104    |    25| E|    HAVING    COUNT (roomtype) > 10
  677. ENG|09040104    |    27|RI|                                                                    ##091001Syntax
  678. ENG|09040105    |     1|  |    Sorting
  679. ENG|09040105    |     3|  |    The result table can optionally be sorted in  ascending  or  descending
  680. ENG|09040105    |     4| I|    order by using the ##09100107<order^clause>.
  681. ENG|09040105    |     6|  |    All  customer  data is to be displayed in descending order according to
  682. ENG|09040105    |     7|  |    the zip codes and,  within  the  same  zip  code,  in  ascending  order
  683. ENG|09040105    |     8|  |    according to the names.
  684. ENG|09040105    |    10| E|    SELECT    *
  685. ENG|09040105    |    11| E|    FROM      customer
  686. ENG|09040105    |    12| E|    ORDER BY  zip DESC, name ASC
  687. ENG|09040105    |    14|RI|                                                                    ##091001Syntax
  688. ENG|09040106    |     1|  |    FOR UPDATE
  689. ENG|09040106    |     3| I|    An  ##09100108<update^clause>  can be used to achieve that a result table becomes
  690. ENG|09040106    |     4|  |    updatable.  This  allows  a   cursor   to   be   used   in   subsequent
  691. ENG|09040106    |     5| I|    ##091025<update^statement>s,       ##091026<delete^statement>s,      ##09102902<lock^statement>s,
  692. ENG|09040106    |     6| I|    ##091005<select^direct^statement>s or ##091007<select^ordered^statement>s by  means  of
  693. ENG|09040106    |     7|  |    CURRENT  OF. A row to be processed is identified in the underlying base
  694. ENG|09040106    |     8|  |    table by means of the cursor  position.  The  <update  clause>  has  no
  695. ENG|09040106    |     9|  |    significance for other formats of the above mentioned SQL statements as
  696. ENG|09040106    |    10|S |    well as in interactive mode,
  697. ENG|09040106    |    19|  |    All  data  of  the rooms in the hotel with the hotel number 50 is to be
  698. ENG|09040106    |    20|  |    selected and prepared for further processing via SQL  statements  (e.g.
  699. ENG|09040106    |    21|  |    UPDATE).
  700. ENG|09040106    |    23| E|    SELECT  *
  701. ENG|09040106    |    24| E|    FROM    room
  702. ENG|09040106    |    25| E|    WHERE   hno = 50
  703. ENG|09040106    |    26| E|    FOR UPDATE
  704. ENG|09040106    |    28|RI|                                                                    ##091001Syntax
  705. ENG|09040107    |     1|  |    LOCK Option
  706. ENG|09040107    |     3| I|    The  ##09100109<lock^option>  serves to set a lock for each selected row. In this
  707. ENG|09040107    |     4|  |    way, data rows can be protected against further access, when it must be
  708. ENG|09040107    |     5|  |    ensured, e.g., that a data row to be updated after being  read  is  not
  709. ENG|09040107    |     6|  |    changed  in  the meantime by other users. The optional specification of
  710. ENG|09040107    |     7| I|    an ##090103ISOLATION^LEVEL has the effect that the ISOLATION LEVEL specified in
  711. ENG|09040107    |     8| I|    the ##091028<connect^statement> is overridden  for  the  SQL  statement  to  be
  712. ENG|09040107    |     9|  |    performed.
  713. ENG|09040107    |    11|  |    The data row of the customer Jackson is to be read and locked.
  714. ENG|09040107    |    13| E|    SELECT  *
  715. ENG|09040107    |    14| E|    FROM    customer
  716. ENG|09040107    |    15| E|    WHERE   name = 'Jackson'
  717. ENG|09040107    |    16| E|    WITH LOCK EXCLUSIVE
  718. ENG|09040107    |    17| E|    ISOLATION LEVEL 3
  719. ENG|09040107    |    18|RI|                                                                    ##091001Syntax
  720. ENG|09040108    |     1|  |    FOR REUSE
  721. ENG|09040108    |     3| I|    If  the  result table is to be used in a subsequent ##091001<select^statement>,
  722. ENG|09040108    |     4|  |    it must be named and should be specified with FOR REUSE.
  723. ENG|09040108    |     6|  |    All rooms that cost $100.-- are to be selected and the result table  is
  724. ENG|09040108    |     7|  |    to be kept for further processing.
  725. ENG|09040108    |     9| E|    SELECT  room100 (*)
  726. ENG|09040108    |    10| E|    FROM    room
  727. ENG|09040108    |    11| E|    WHERE   price = 100
  728. ENG|09040108    |    12| E|    FOR REUSE
  729. ENG|09040108    |    14|RI|                                                                    ##091001Syntax
  730. ENG|090402      |     1|  |    Joining Tables (JOIN)
  731. ENG|090402      |     3|  |    Every  row of a table can be associated with every row of one (or more)
  732. ENG|090402      |     4| I|    other tables (join). ##0910570201<comp^op> for the comparison of column  values  of
  733. ENG|090402      |     5|  |    different  tables  can  be  used  to restrict the number of rows in the
  734. ENG|090402      |     6|  |    result table.
  735. ENG|090402      |     8|  |    The  names,  addresses  and  domiciles  of  all  customers  are  to  be
  736. ENG|090402      |     9|  |    displayed.
  737. ENG|090402      |    11| E|    SELECT  firstname, name, address, name city
  738. ENG|090402      |    12| E|    FROM    customer cu, city ci
  739. ENG|090402      |    13| E|    WHERE   cu.zip = ci.zip
  740. ENG|090402      |    15|RI|                                                                    ##09105706Syntax
  741. ENG|090403      |     1|  |    OUTER JOIN
  742. ENG|090403      |     3|  |    When  it  must be ensured that every row of a table is contained in the
  743. ENG|090403      |     4|  |    result table at least once, the <outer  join  indicator>  (+)  must  be
  744. ENG|090403      |     5| I|    specified  on  that  side  of  ##0910570201<comp^op> where the specification of the
  745. ENG|090403      |     6|  |    other table is made. Even if it is not possible to find  at  least  one
  746. ENG|090403      |     7|  |    counterpart  for  a  table row in the other table, a row for the result
  747. ENG|090403      |     8|  |    table will be built from it. When doing so, the NULL value is used  for
  748. ENG|090403      |     9|  |    the  output  columns  which  are  usually formed from the other table's
  749. ENG|090403      |    10|S |    columns.
  750. ENG|090403      |    19|  |    All reservations for the different hotels are to be displayed. Even the
  751. ENG|090403      |    20|  |    names of those hotels are to be shown for which  no  reservations  have
  752. ENG|090403      |    21|  |    been made.
  753. ENG|090403      |    23| E|    SELECT  name, hno, rno
  754. ENG|090403      |    24| E|    FROM    hotel h, reservation r
  755. ENG|090403      |    25| E|    WHERE   h.hno = r.hno (+)
  756. ENG|090403      |    26|RI|                                                                    ##09105706Syntax
  757. ENG|090404      |     1|  |    Subqueries (Subquery)
  758. ENG|090404      |     3| I|    A  ##091055<subquery> is a special form of the <query expression>. It specifies
  759. ENG|090404      |     4|  |    a result table which can be used in certain predicates and when  column
  760. ENG|090404      |     5|  |    values are being changed.
  761. ENG|090404      |     7|  |    The hotel that offers the most expensive room is to be selected.
  762. ENG|090404      |     9| E|    SELECT  name, zip, address
  763. ENG|090404      |    10| E|    FROM    hotel, room
  764. ENG|090404      |    11| E|    WHERE   hotel.hno = room.hno
  765. ENG|090404      |    12| E|    AND     room.price = ( SELECT MAX (price)
  766. ENG|090404      |    13| E|                           FROM   room )
  767. ENG|090404      |    15|RI|                                                                    ##091055Syntax
  768. ENG|090405      |     1|  |    Correlated Subquery
  769. ENG|090405      |     3| I|    Subqueries  can  be  nested. A ##091055<subquery> containing subqueries is at a
  770. ENG|090405      |     4|  |    higher   level   than   the    subqueries    included.    Within    the
  771. ENG|090405      |     5| I|    ##091056<search^condition>  of a <subquery>, column names may occur that belong
  772. ENG|090405      |     6| I|    to tables contained in the ##09100103<from^clause> of higher-level subqueries.  A
  773. ENG|090405      |     7|  |    <subquery> of this kind is called a correlated subquery.
  774. ENG|090405      |     9|  |    If  a correlated subquery is used, the values of one or more columns of
  775. ENG|090405      |    10|  |    a temporary result row at a higher level are included  in  the  <search
  776. ENG|090405      |    11|  |    condition>  of a <subquery> at a lower level, whereby the result of the
  777. ENG|090405      |    12|  |    subquery is used for the definite  qualification  of  the  higher-level
  778. ENG|090405      |    13|S |    temporary result row.
  779. ENG|090405      |    19|  |    For  every city, the names of all hotels are to be found out which have
  780. ENG|090405      |    20|  |    prices that are less than the average prices of the particular zip code
  781. ENG|090405      |    21|  |    area.
  782. ENG|090405      |    23| E|    SELECT name, zip
  783. ENG|090405      |    24| E|    FROM   hotel X, room
  784. ENG|090405      |    25| E|    WHERE  x.hno = room.hno
  785. ENG|090405      |    26| E|    AND    room.price < ( SELECT AVG (room.price)
  786. ENG|090405      |    27| E|                          FROM   hotel, room
  787. ENG|090405      |    28| E|                          WHERE  hotel.hno = room.hno
  788. ENG|090405      |    29| E|                          AND    hotel.zip = x.zip )
  789. ENG|090405      |    31|RI|                                                                    ##091055Syntax
  790. ENG|090406      |     1|  |    Set Operations
  791. ENG|090406      |     3| I|    Two ##09105501<query^expression>s T1 and T2 can be associated with each other  by
  792. ENG|090406      |     4|  |    using the operators UNION, EXCEPT, and INTERSECT. For example: T1 UNION
  793. ENG|090406      |     5|  |    [ALL] T2.
  794. ENG|090406      |     7|  |    UNION    : The result table contains all rows of T1 and T2.
  795. ENG|090406      |     9|  |    EXCEPT   : The  result  table  contains  all  rows  of T1 which have no
  796. ENG|090406      |    10|  |               duplicate rows in T2.
  797. ENG|090406      |    12|  |    INTERSECT: The result table contains  all  rows  of  T1  which  have  a
  798. ENG|090406      |    13|  |               duplicate row in T2.
  799. ENG|090406      |    15|  |    It  is  true  of  EXCEPT  and  INTERSECT  that  a row of T2 can only be
  800. ENG|090406      |    16|  |    duplicate row of just one row of T1.
  801. ENG|090406      |    17|  |    If ALL is not specified, DISTINCT is implicitly assumed for the  <query
  802. ENG|090406      |    18|S |    expression>s belonging to T1 and T2.
  803. ENG|090406      |    19|  |    If  parentheses  are  missing, INTERSECT will be evaluated before UNION
  804. ENG|090406      |    20|  |    and EXCEPT. UNION and EXCEPT have  the  same  precedence  and  will  be
  805. ENG|090406      |    21|  |    evaluated from left to right in case that parentheses are missing.
  806. ENG|090406      |    23|  |    The  numbers of those hotels are to be displayed for which at least one
  807. ENG|090406      |    24|  |    reservation exists.
  808. ENG|090406      |    26| E|    SELECT  hno  FROM  hotel
  809. ENG|090406      |    27| E|    INTERSECT
  810. ENG|090406      |    28| E|    SELECT  hno  FROM  reservation
  811. ENG|090406      |    30|RI|                                                                    ##09105501Syntax
  812. ENG|090407      |     1|  |                          Processing Result Tables
  813. ENG|090407      |     2|  |                          ------------------------
  814. ENG|090407      |     4| M|                                #01General
  815. ENG|090407      |     5| M|                                #02DECLARE^CURSOR
  816. ENG|090407      |     6| M|                                #03OPEN^CURSOR
  817. ENG|090407      |     7| M|                                #04FETCH
  818. ENG|090407      |     8|RM|                                #05CLOSE
  819. ENG|09040701    |     1|  |    General
  820. ENG|09040701    |     3|  |    The processing of result tables is to take  place  from  programs  only
  821. ENG|09040701    |     4|  |    when a result table is to be processed row by row. In interactive mode,
  822. ENG|09040701    |     5| I|    this  facility  has  no  significance.  The  ##091002<declare^cursor^statement>
  823. ENG|09040701    |     6|  |    defines a result table with the name <result table  name>.  Before  the
  824. ENG|09040701    |     7|  |    result  table  can  be  used,  it  must  be  generated  by a subsequent
  825. ENG|09040701    |     8| I|    ##091002<open^cursor^statement>. If this has been done, individual rows can  be
  826. ENG|09040701    |     9| I|    read  from  the  result  table  by  using  ##091003<fetch^statement>s. When the
  827. ENG|09040701    |    10|  |    processing is finished, the result table will be closed  by  using  the
  828. ENG|09040701    |    11| I|    ##091002<close^statement>.
  829. ENG|09040701    |    13|RI|                                                                    ##091002Syntax
  830. ENG|09040702    |     1|  |    <declare cursor statement>
  831. ENG|09040702    |     3| I|    The   ##091002<declare^cursor^statement>  defines  a  named  result  table.  To
  832. ENG|09040702    |     4| I|    generate this result table, an ##091002<open^cursor^statement>  specifying  the
  833. ENG|09040702    |     5|  |    name of this result table is needed.
  834. ENG|09040702    |     7|  |    A result table containing the first names and names of the customers is
  835. ENG|09040702    |     8|  |    to be defined.
  836. ENG|09040702    |    10| E|    DECLARE customername CURSOR FOR SELECT firstname, name
  837. ENG|09040702    |    11| E|                                    FROM   customer
  838. ENG|09040702    |    13|RI|                                                                    ##091002Syntax
  839. ENG|09040703    |     1|  |    <open cursor statement>
  840. ENG|09040703    |     3| I|    The  ##091002<open^cursor^statement>  generates  the result table with the name
  841. ENG|09040703    |     4| I|    previously specified in the ##091002<declare^cursor^statement>.
  842. ENG|09040703    |     6|  |    The result table customername just defined is to be generated.
  843. ENG|09040703    |     8| E|    OPEN  customername
  844. ENG|09040703    |    10|RI|                                                                    ##091002Syntax
  845. ENG|09040704    |     1|  |    <fetch statement>
  846. ENG|09040704    |     3| I|    The ##091003<fetch^statement> assigns the values  of  a  result  table  row  to
  847. ENG|09040704    |     4|  |    parameters.
  848. ENG|09040704    |     6|  |    The next data row is to be read from the result table.
  849. ENG|09040704    |     8| E|    FETCH customername INTO :firstname, :name
  850. ENG|09040704    |    10|RI|                                                                    ##091003Syntax
  851. ENG|09040705    |     1|  |    <close statement>
  852. ENG|09040705    |     3| I|    The  ##091002<close^statement>  closes a result table. Afterwards access to the
  853. ENG|09040705    |     4|  |    result table is no longer possible.  If  the  result  table  is  to  be
  854. ENG|09040705    |     5| I|    reconsidered,  it  must  be  reopened  by an ##091002<open^cursor^statement>. A
  855. ENG|09040705    |     6|  |    subsequent <fetch statement> will reproduce the first data row  of  the
  856. ENG|09040705    |     7|  |    result table.
  857. ENG|09040705    |     9|  |    The result table customername is to be closed.
  858. ENG|09040705    |    11| E|    CLOSE customername
  859. ENG|09040705    |    13|RI|                                                                    ##091002Syntax
  860. ENG|090408      |     1|  |                              Single Row Processing
  861. ENG|090408      |     2|  |                              ---------------------
  862. ENG|090408      |     4| M|     #01SELECT^DIRECT:^searched
  863. ENG|090408      |     5| M|     #02SELECT^DIRECT:^positioned     (CURRENT OF)
  864. ENG|090408      |     6| M|     #03SELECT^ordered:^searched      (FIRST, LAST, NEXT, PREV)
  865. ENG|090408      |     7|RM|     #04SELECT^ordered:^positioned    (FIRST, LAST, NEXT, PREV with CURRENT OF)
  866. ENG|09040801    |     1|  |    SELECT DIRECT: searched
  867. ENG|09040801    |     3| I|    The  ##091004<select^direct^statement:^searched> selects a table row by using a
  868. ENG|09040801    |     4|  |    key value specification. The SQL statement is used to directly access a
  869. ENG|09040801    |     5|  |    row of a table by specifying a key value. For  tables  defined  without
  870. ENG|09040801    |     6|  |    key columns, there is the implicitly created column SYSKEY CHAR(8) BYTE
  871. ENG|09040801    |     7|  |    which  contains  a key generated by ADABAS. The table column SYSKEY can
  872. ENG|09040801    |     8|  |    therefore be used in the SQL statement to access a specified table row.
  873. ENG|09040801    |    10|  |    The customer with the customer number 3400 is to be found out.
  874. ENG|09040801    |    12| E|    SELECT DIRECT *
  875. ENG|09040801    |    13| E|    FROM   customer
  876. ENG|09040801    |    14| E|    KEY    cno = 3400
  877. ENG|09040801    |    16|RI|                                                                    ##091004Syntax
  878. ENG|09040802    |     1|  |    SELECT DIRECT: positioned
  879. ENG|09040802    |     3| I|    The ##091005<select^direct^statement:^positioned> selects a table row by  means
  880. ENG|09040802    |     4|  |    of  a  cursor  position.  A named result table must have been generated
  881. ENG|09040802    |     5| I|    beforehand, either by using a ##091002<declare^cursor^statement> or by using  a
  882. ENG|09040802    |     6| I|    ##09100110<named^select^statement>.  The result table must have been defined with
  883. ENG|09040802    |     7| I|    the ##09100108<update^clause>. When the cursor is positioned  on  a  row  of  the
  884. ENG|09040802    |     8|  |    result  table,  then  column values are selected from the corresponding
  885. ENG|09040802    |     9|  |    row and are assigned to parameters. The corresponding row  is  the  row
  886. ENG|09040802    |    10| I|    from   the  table  that  is  specified  in  the  ##09100103<from^clause>  of  the
  887. ENG|09040802    |    11| I|    ##091059<query^statement> and from which  the  row  of  the  result  table  was
  888. ENG|09040802    |    12|S |    formed.
  889. ENG|09040802    |    19|  |    A  row  is  to  be read from the table customer. Which row will be read
  890. ENG|09040802    |    20|  |    depends on the position of the cursor which points to a row within  the
  891. ENG|09040802    |    21|  |    result     table     resultcustomer    generated    by    a    previous
  892. ENG|09040802    |    22| I|    ##09100110<named^select^statement> and the option FOR UPDATE.
  893. ENG|09040802    |    24| E|    SELECT     resultcustomer (name)
  894. ENG|09040802    |    25| E|    FROM       customer
  895. ENG|09040802    |    26| E|    WHERE      title = 'Mrs'
  896. ENG|09040802    |    27| E|    FOR UPDATE
  897. ENG|09040802    |    28| E|    /
  898. ENG|09040802    |    29| E|    FETCH      resultcustomer  INTO  :name
  899. ENG|09040802    |    30| E|    /
  900. ENG|09040802    |    31| E|    SELECT DIRECT cno, title, firstname, name, zip, address
  901. ENG|09040802    |    32| E|    INTO          :cno, :title, :firstname, :name, :zip, :address
  902. ENG|09040802    |    33| E|    FROM          customer
  903. ENG|09040802    |    34| E|    WHERE CURRENT OF resultcustomer
  904. ENG|09040802    |    36|RI|                                                                    ##091005Syntax
  905. ENG|09040803    |     1|  |    SELECT ordered: searched
  906. ENG|09040803    |     3| I|    The ##091006<select^ordered^statement:^searched> selects the first or last row,
  907. ENG|09040803    |     4|  |    or, in relation to a position, the next or previous row in  an  ordered
  908. ENG|09040803    |     5|  |    table.  The  order  is defined by a key or by an index. The position is
  909. ENG|09040803    |     6|  |    defined by the specification of key values and index values.
  910. ENG|09040803    |     8|  |    The customer with the next customer number following the customer  with
  911. ENG|09040803    |     9|  |    the customer number 3400 is to be selected.
  912. ENG|09040803    |    11| E|    SELECT NEXT  cno, title, firstname, name, zip, address
  913. ENG|09040803    |    12| E|    INTO         :cno, :title, :firstname, :name, :zip, :address
  914. ENG|09040803    |    13| E|    FROM         customer
  915. ENG|09040803    |    14| E|    KEY          cno = 3400
  916. ENG|09040803    |    16|RI|                                                                    ##091006Syntax
  917. ENG|09040804    |     1|  |    SELECT ordered: positioned
  918. ENG|09040804    |     3| I|    The  ##091007<select^ordered^statement:^positioned>  selects  the first or last
  919. ENG|09040804    |     4|  |    row, or, in relation to a position, the next  or  previous  row  in  an
  920. ENG|09040804    |     5|  |    ordered  table.  The  order  is  defined  by  a key or by an index. The
  921. ENG|09040804    |     6|S |    position is defined by a cursor position.
  922. ENG|09040804    |    19|  |    From the table customer, the next row is to be read. Which row  is  the
  923. ENG|09040804    |    20|  |    next depends on the position of the cursor which points to a row within
  924. ENG|09040804    |    21|  |    the    result    table   resultcustomer   generated   by   a   previous
  925. ENG|09040804    |    22| I|    ##09100110<named^select^statement> and the option FOR UPDATE.
  926. ENG|09040804    |    24| E|    SELECT     resultcustomer (name)
  927. ENG|09040804    |    25| E|    FROM       customer
  928. ENG|09040804    |    26| E|    WHERE      title = 'Mrs'
  929. ENG|09040804    |    27| E|    FOR UPDATE
  930. ENG|09040804    |    28| E|    /
  931. ENG|09040804    |    29| E|    FETCH      resultcustomer  INTO  :name
  932. ENG|09040804    |    30| E|    /
  933. ENG|09040804    |    31| E|    SELECT NEXT  cno, title, firstname, name, zip, address
  934. ENG|09040804    |    32| E|    INTO         :cno, :title, :firstname, :name, :zip, :address
  935. ENG|09040804    |    33| E|    FROM         customer
  936. ENG|09040804    |    34| E|    WHERE CURRENT OF resultcustomer
  937. ENG|09040804    |    35|RI|                                                                    ##091007Syntax
  938. ENG|090409      |     1|  |    Search Strategy (EXPLAIN)
  939. ENG|090409      |     3| I|    The ##091008<explain^statement> describes the internal search strategy  applied
  940. ENG|090409      |     4|  |    by  ADABAS  when searching certain rows in given tables. This statement
  941. ENG|090409      |     5|  |    indicates in particular whether  and  in  which  form  key  columns  or
  942. ENG|090409      |     6|  |    indexes  are  used  for  the  search. This SQL statement can be used to
  943. ENG|090409      |     7|  |    check the effects which the creation or dropping of indexes  will  have
  944. ENG|090409      |     8|  |    for  the  selection  of  the  search  strategy  for  the  specified SQL
  945. ENG|090409      |     9|  |    statement. It is also possible to estimate the time which  ADABAS  will
  946. ENG|090409      |    10|  |    need to process the specified SQL statement. The specified query is not
  947. ENG|090409      |    11|S |    performed during the execution of this SQL statement.
  948. ENG|090409      |    19|  |    The  search  strategy  used  to  display  the names and travel data for
  949. ENG|090409      |    20|  |    existing reservations in a certain order is to be found out.
  950. ENG|090409      |    22| E|    EXPLAIN SELECT   firstname, name, arrival, departure
  951. ENG|090409      |    23| E|            FROM     customer, reservation
  952. ENG|090409      |    24| E|            WHERE    customer.cno = reservation.cno
  953. ENG|090409      |    25| E|            ORDER BY name
  954. ENG|090409      |    27|  |    In principle, the following result table is generated:
  955. ENG|090409      |    29|  |    OWNER      |TABLENAME   |COLU|STRATEGY                       |PAGECOUNT |
  956. ENG|090409      |    30|  |    -----------|------------|----|-------------------------------|----------|
  957. ENG|090409      |    31|  |    SQLTRAVEL00|RESERVATION |    |TABLE SCAN                     |       132|
  958. ENG|090409      |    32|  |    SQLTRAVEL00|CUSTOMER    |CNO |JOIN VIA KEY COLUMN            |       222|
  959. ENG|090409      |    33|  |    SQLTRAVEL00|            |    | RESULT IS COPIED, COSTVALUE IS|       485|
  960. ENG|090409      |    35|  |    Explanations for the individual columns can be found in the precompiler
  961. ENG|090409      |    36|S |    manuals.
  962. ENG|090409      |    37|RI|                                                                    ##091008Syntax
  963. ENG|0905        |     1|  |                                Common Elements
  964. ENG|0905        |     2|  |                                ---------------
  965. ENG|0905        |     4| M|                                #01Functions
  966. ENG|0905        |     5| M|                                #02Expression
  967. ENG|0905        |     6| M|                                #03Predicates
  968. ENG|0905        |     7|RM|                                #04Search^Condition
  969. ENG|090501      |     1|  |                                  Functions
  970. ENG|090501      |     2|  |                                  ---------
  971. ENG|090501      |     4| M|                           #01Arithmetical^Functions
  972. ENG|090501      |     5| M|                           #09Trigonometric^Functions
  973. ENG|090501      |     6| M|                           #02String^Functions
  974. ENG|090501      |     7| M|                           #03Date^Functions
  975. ENG|090501      |     8| M|                           #04Time^Functions
  976. ENG|090501      |     9| M|                           #05Extraction^Functions
  977. ENG|090501      |    10| M|                           #06Special^Functions
  978. ENG|090501      |    11| M|                           #07Conversion^Functions
  979. ENG|090501      |    12| M|                           #10User-defined^Functions
  980. ENG|090501      |    13|RM|                           #08Set^Functions
  981. ENG|09050101    |     1|  |                            Arithmetical Functions
  982. ENG|09050101    |     2|  |                            ----------------------
  983. ENG|09050101    |     4| M|                                 #01TRUNC,^ROUND
  984. ENG|09050101    |     5| M|                                 #02NOROUND
  985. ENG|09050101    |     6| M|                                 #03FIXED
  986. ENG|09050101    |     7| M|                                 #04CEIL,^FLOOR
  987. ENG|09050101    |     8| M|                                 #05SIGN,^ABS
  988. ENG|09050101    |     9| M|                                 #06POWER,^EXP
  989. ENG|09050101    |    10| M|                                 #09SQRT
  990. ENG|09050101    |    11| M|                                 #10LN,^LOG
  991. ENG|09050101    |    12| M|                                 #11PI
  992. ENG|09050101    |    13| M|                                 #07LENGTH
  993. ENG|09050101    |    14|RM|                                 #08INDEX
  994. ENG|0905010101  |     1|  |    TRUNC ( x [, <number digits>] )
  995. ENG|0905010101  |     3|  |    The function TRUNC allows a value to be truncated to a specified number
  996. ENG|0905010101  |     4|  |    of digits to the right or to the left of the decimal sign.  If  <number
  997. ENG|0905010101  |     5|  |    digits> is not specified, then 0 is assumed for it.
  998. ENG|0905010101  |     7|  |    ROUND ( x [, <number digits>] )
  999. ENG|0905010101  |     9|  |    The  function  ROUND allows a value to be rounded to a specified number
  1000. ENG|0905010101  |    10|  |    of digits to the right or to the left of the decimal sign.  If  <number
  1001. ENG|0905010101  |    11|S |    digits> is not specified, then 0 is assumed for it.
  1002. ENG|0905010101  |    19|  |        x    | TRUNC (x,-1) | TRUNC (x,2) | ROUND (x,-1) | ROUND (x,2)
  1003. ENG|0905010101  |    20|  |    ---------|--------------|-------------|--------------|-------------
  1004. ENG|0905010101  |    21|  |     150.525 |      150     |    150.52   |      150     |    150.53
  1005. ENG|0905010101  |    22|  |      78.050 |       70     |     78.05   |       80     |     78.05
  1006. ENG|0905010101  |    23|  |     128.225 |      120     |    128.22   |      130     |    128.23
  1007. ENG|0905010101  |    25|RI|                                                                    ##09105301Syntax
  1008. ENG|0905010102  |     1|  |    NOROUND ( x )
  1009. ENG|0905010102  |     3|  |    The function NOROUND prevents the result of the <expression> from being
  1010. ENG|0905010102  |     4|  |    rounded  in  the case of an <update statement> or an <insert statement>
  1011. ENG|0905010102  |     5|  |    with <query expression>. Without a NOROUND specification the result  of
  1012. ENG|0905010102  |     6|  |    the  <expression>  will be rounded when its data type differs from that
  1013. ENG|0905010102  |     7|  |    of the target column. If the non-rounded number does not correspond  to
  1014. ENG|0905010102  |     8|  |    the data type of the target column, an error message is output.
  1015. ENG|0905010102  |    10|  |    Data type of column:   |  FIXED (5, 2) |  FIXED (6, 3)
  1016. ENG|0905010102  |    11|  |                       x   | NOROUND ( x ) | NOROUND ( x )
  1017. ENG|0905010102  |    12|  |                  ---------|---------------|---------------
  1018. ENG|0905010102  |    13|  |                   150.525 |     error     |    150.525
  1019. ENG|0905010102  |    14|  |                   378.050 |     378.05    |    378.050
  1020. ENG|0905010102  |    15|  |                    28.225 |     error     |    128.225
  1021. ENG|0905010102  |    17|RI|                                                                    ##09105301Syntax
  1022. ENG|0905010103  |     1|  |    FIXED ( x, [<digits>[, <fractional digits>]] )
  1023. ENG|0905010103  |     3|  |    The  function FIXED outputs a number in a format of the data type FIXED
  1024. ENG|0905010103  |     4|  |    (<digits>, <fractional digits>). The fractional digits are  rounded  to
  1025. ENG|0905010103  |     5|  |    <fractional  digits>  digits  after  the decimal sign, if necessary. If
  1026. ENG|0905010103  |     6|  |    <fractional digits> is not specified, then the value  0  is  implicitly
  1027. ENG|0905010103  |     7|  |    assumed.  If <digits> is not specified, then the value 18 is implicitly
  1028. ENG|0905010103  |     8|  |    assumed.
  1029. ENG|0905010103  |    10|  |         x   | FIXED (x, 6, 2) | FIXED (x, 3)
  1030. ENG|0905010103  |    11|  |    ---------|-----------------|---------------
  1031. ENG|0905010103  |    12|  |     150.525 |      150.53     |      151
  1032. ENG|0905010103  |    13|  |      78.050 |       78.05     |       78
  1033. ENG|0905010103  |    14|  |     128.225 |      128.23     |      128
  1034. ENG|0905010103  |    16|RI|                                                                    ##09105301Syntax
  1035. ENG|0905010104  |     1|  |    CEIL ( x )
  1036. ENG|0905010104  |     3|  |    The function CEIL produces the smallest integer value that  is  greater
  1037. ENG|0905010104  |     4|  |    or  equal  to  x.  The result is a fixed point number with 0 fractional
  1038. ENG|0905010104  |     5|  |    digits.
  1039. ENG|0905010104  |     7|  |    FLOOR ( x )
  1040. ENG|0905010104  |     9|  |    The function FLOOR produces the greatest integer  value  that  is  less
  1041. ENG|0905010104  |    10|  |    than  or  equal  to  x.  The  result  is  a  fixed  point number with 0
  1042. ENG|0905010104  |    11|  |    fractional digits.
  1043. ENG|0905010104  |    13|  |    If it is not possible to represent the result of CEIL (x) or FLOOR  (x)
  1044. ENG|0905010104  |    14|S |    in a fixed point number, an error message is output.
  1045. ENG|0905010104  |    19|  |         x    | CEIL ( x ) | FLOOR ( x )
  1046. ENG|0905010104  |    20|  |    ----------|------------|-------------
  1047. ENG|0905010104  |    21|  |      50.525  |     51     |     50
  1048. ENG|0905010104  |    22|  |     -21.950  |    -21     |    -22
  1049. ENG|0905010104  |    23|  |     -49.825  |    -49     |    -50
  1050. ENG|0905010104  |    24|  |      28.225  |     29     |     28
  1051. ENG|0905010104  |    25|  |     -76.000  |    -76     |    -76
  1052. ENG|0905010104  |    26|  |      17.000  |     17     |     17
  1053. ENG|0905010104  |    28|RI|                                                                    ##09105301Syntax
  1054. ENG|0905010105  |     1|  |    SIGN ( x )
  1055. ENG|0905010105  |     3|  |    The function SIGN produces the sign of the number x.
  1056. ENG|0905010105  |     4|  |    Then applies: If x < 0, then SIGN (x) = -1.
  1057. ENG|0905010105  |     5|  |                  If x = 0, then SIGN (x) =  0.
  1058. ENG|0905010105  |     6|  |                  If x > 0, then SIGN (x) =  1.
  1059. ENG|0905010105  |     8|  |    ABS ( x )
  1060. ENG|0905010105  |    10|  |    The function ABS produces the absolute value of the number x.
  1061. ENG|0905010105  |    12|  |         x   | SIGN ( x ) | ABS ( x )
  1062. ENG|0905010105  |    13|  |    ---------|------------|-------------
  1063. ENG|0905010105  |    14|  |      65.00  |      1     |    65.00
  1064. ENG|0905010105  |    15|  |       0.00  |      0     |     0.00
  1065. ENG|0905010105  |    16|  |     -25.00  |     -1     |    25.00
  1066. ENG|0905010105  |    17|  |      45.00  |      1     |    45.00
  1067. ENG|0905010105  |    18|RI|                                                                    ##09105301Syntax
  1068. ENG|0905010106  |     1|  |    POWER ( x, <exponent> )
  1069. ENG|0905010106  |     3|  |    The function POWER produces the result x to the power <exponent>.
  1070. ENG|0905010106  |     5|  |    EXP ( <exponent> )
  1071. ENG|0905010106  |     7|  |    The   function  EXP  produces  e  **  <exponent>,  i.e.,  the  constant
  1072. ENG|0905010106  |     8|  |    2.71828183 to the power of the specified exponent.
  1073. ENG|0905010106  |    10|  |       x  | POWER (x, 3) |        EXP ( x )
  1074. ENG|0905010106  |    11|  |    ------|--------------|--------------------------
  1075. ENG|0905010106  |    12|  |      10  |      1000    |  2.20264657948067300E+04
  1076. ENG|0905010106  |    13|  |      20  |      8000    |  4.85165195409791000E+08
  1077. ENG|0905010106  |    14|  |      30  |     27000    |  1.06864745815244500E+13
  1078. ENG|0905010106  |    15|  |      40  |     64000    |  2.35385266837020500E+17
  1079. ENG|0905010106  |    16|RI|                                                                    ##09105301Syntax
  1080. ENG|0905010107  |     1|  |    LENGTH ( x )
  1081. ENG|0905010107  |     3|  |    The function LENGTH produces the length (the number of  bytes  required
  1082. ENG|0905010107  |     4|  |    for  the  internal representation of the value) of x. It can be applied
  1083. ENG|0905010107  |     5|  |    to any data type. LENGTH (x) applied to character strings produces  the
  1084. ENG|0905010107  |     6|  |    length  of  a character string without consideration of trailing blanks
  1085. ENG|0905010107  |     7|  |    (code attribute ASCII or EBCDIC) or binary zeros (code attribute BYTE).
  1086. ENG|0905010107  |     9|  |          x     | LENGTH ( x )
  1087. ENG|0905010107  |    10|  |    ------------|--------------
  1088. ENG|0905010107  |    11|  |     'Alfred'   |       6
  1089. ENG|0905010107  |    12|  |     '1000'     |       4
  1090. ENG|0905010107  |    13|  |     '6879.457' |       8
  1091. ENG|0905010107  |    15|RI|                                                                    ##09105301Syntax
  1092. ENG|0905010108  |     1|  |    INDEX ( <string>, <search string> [,<start position> [,<number occurrence>]] )
  1093. ENG|0905010108  |     3|  |    The function  INDEX  produces  the  position  of  the  <search  string>
  1094. ENG|0905010108  |     4|  |    specified as the second parameter within the character string specified
  1095. ENG|0905010108  |     5|  |    as  the first parameter. The optional specification of <start position>
  1096. ENG|0905010108  |     6|  |    indicates a start position for the search for the <search  string>.  If
  1097. ENG|0905010108  |     7|  |    it  is  omitted,  the  search  starts  at the beginning; i.e., at start
  1098. ENG|0905010108  |     8|  |    position 1. The start position must be greater than or equal to 1.  The
  1099. ENG|0905010108  |     9|  |    optional   specification   of   <number   occurrence>  indicates  which
  1100. ENG|0905010108  |    10|  |    occurrence of the <search string> is to  be  searched  for.  If  it  is
  1101. ENG|0905010108  |    11|  |    omitted,  the  first occurrence of the <search string> will be searched
  1102. ENG|0905010108  |    12|S |    for.
  1103. ENG|0905010108  |    19|  |         x          | INDEX (x,'en') | INDEX (x,'n',4) | INDEX (x,'e',3,2 )
  1104. ENG|0905010108  |    20|  |    ----------------|----------------|-----------------|--------------------
  1105. ENG|0905010108  |    21|  |     'Congress'     |        0       |         0       |         0
  1106. ENG|0905010108  |    22|  |     'Long Island'  |        0       |        10       |         0
  1107. ENG|0905010108  |    23|  |     'Regency'      |        4       |         5       |         0
  1108. ENG|0905010108  |    24|  |     'Eight Avenue' |        9       |        10       |        12
  1109. ENG|0905010108  |    26|RI|                                                                    ##09105301Syntax
  1110. ENG|0905010109  |     1|  |    SQRT ( x )
  1111. ENG|0905010109  |     3|  |    The function SQRT computes the square root of numbers >= 0.
  1112. ENG|0905010109  |     5|  |       x  |        SQRT ( x )
  1113. ENG|0905010109  |     6|  |    ------|-------------------------
  1114. ENG|0905010109  |     7|  |      10  | 3.16227766016837936E+00
  1115. ENG|0905010109  |     8|  |      20  | 4.47213595499957943E+00
  1116. ENG|0905010109  |     9|  |      30  | 5.47722557505166110E+00
  1117. ENG|0905010109  |    10|  |      40  | 6.32455532033675865E+00
  1118. ENG|0905010109  |    11|RI|                                                                    ##09105301Syntax
  1119. ENG|0905010110  |     1|  |    LN ( x )
  1120. ENG|0905010110  |     3|  |    The function LN produces the natural logarithm of the number x.
  1121. ENG|0905010110  |     5|  |    LOG ( <base>, x )
  1122. ENG|0905010110  |     7|  |    The function LOG produces the logarithm of the number  x  to  the  base
  1123. ENG|0905010110  |     8|  |    <base>.
  1124. ENG|0905010110  |    10|  |       x  |          LN (x)         |       LOG (2, x)
  1125. ENG|0905010110  |    11|  |    ------|-------------------------|-------------------------
  1126. ENG|0905010110  |    12|  |        8 | 2.07944154167983600E+00 | 3.00000000000000000E+00
  1127. ENG|0905010110  |    13|  |      107 | 4.67282883446190700E+00 | 6.74146698640114900E+00
  1128. ENG|0905010110  |    15|RI|                                                                    ##09105301Syntax
  1129. ENG|0905010111  |     1|  |    PI
  1130. ENG|0905010111  |     3|  |               PI
  1131. ENG|0905010111  |     4|  |    --------------------------
  1132. ENG|0905010111  |     5|  |      3.14159265358979400E+00
  1133. ENG|0905010111  |     7|RI|                                                                    ##09105301Syntax
  1134. ENG|09050102    |     1|  |                               String Functions
  1135. ENG|09050102    |     2|  |                               ----------------
  1136. ENG|09050102    |     4| M|                              #01||,^&
  1137. ENG|09050102    |     5| M|                              #02SUBSTR
  1138. ENG|09050102    |     6| M|                              #03LFILL,^RFILL
  1139. ENG|09050102    |     7| M|                              #04LPAD,^RPAD
  1140. ENG|09050102    |     8| M|                              #05TRIM,^LTRIM,^RTRIM
  1141. ENG|09050102    |     9| M|                              #06EXPAND
  1142. ENG|09050102    |    10| M|                              #07UPPER,^LOWER
  1143. ENG|09050102    |    11| M|                              #08INITCAP
  1144. ENG|09050102    |    12| M|                              #09REPLACE
  1145. ENG|09050102    |    13| M|                              #10TRANSLATE
  1146. ENG|09050102    |    14| M|                              #11MAPCHAR
  1147. ENG|09050102    |    15| M|                              #12ALPHA
  1148. ENG|09050102    |    16| M|                              #13ASCII,^EBCDIC
  1149. ENG|09050102    |    17|RM|                              #14SOUNDEX
  1150. ENG|0905010201  |     1|  |    <string x> || <string y>, <string x> & <string y>
  1151. ENG|0905010201  |     3|  |    The functions || and & produce the concatenation <string x> <string y>.
  1152. ENG|0905010201  |     5|  |           x       |         y       |  x || y or x & y
  1153. ENG|0905010201  |     6|  |    ---------------|-----------------|-----------------------------
  1154. ENG|0905010201  |     7|  |     'Alfed lives' | ' in New York.' | 'Alfred lives in New York.'
  1155. ENG|0905010201  |     8|  |     'This is a  ' | '  demo line.'  | 'This is a    demo line.'
  1156. ENG|0905010201  |    10|RI|                                                                    ##09105302Syntax
  1157. ENG|0905010202  |     1|  |    SUBSTR ( <string>, <start position> [, <length>] )
  1158. ENG|0905010202  |     3|  |    The  function  SUBSTR  produces  that  part of <string> which begins at
  1159. ENG|0905010202  |     4|  |    <start position> and has  a  length  of  <length>  characters.  If  the
  1160. ENG|0905010202  |     5|  |    parameter  <length> is missing, all characters are produced from <start
  1161. ENG|0905010202  |     6|  |    position> to the end of <string>.  If  <length>  is  greater  than  the
  1162. ENG|0905010202  |     7|  |    length of <string> remaining from <start position>, then as many blanks
  1163. ENG|0905010202  |     8|  |    are appended to the end of <string> as are needed to give <length>.
  1164. ENG|0905010202  |    10|  |                       x                | SUBSTR ( x, 11, 9 )
  1165. ENG|0905010202  |    11|  |        --------------------------------|---------------------
  1166. ENG|0905010202  |    12|  |         'This is a demo line of text.' |     'demo line'
  1167. ENG|0905010202  |    13|  |         'Too short demo.'              |     'demo.    '
  1168. ENG|0905010202  |    15|RI|                                                                    ##09105302Syntax
  1169. ENG|0905010203  |     1|  |    LFILL, RFILL ( <string>, <char> [, <length>] )
  1170. ENG|0905010203  |     3|  |    The  function  LFILL  inserts  the character <char> at the beginning of
  1171. ENG|0905010203  |     4|  |    <string> as often as is needed  to  give  the  <string>  the  specified
  1172. ENG|0905010203  |     5|  |    <length>.  The  function RFILL does this at the end of <string>. If the
  1173. ENG|0905010203  |     6|  |    specification <length> is missing, <string> must denote a  CHAR  column
  1174. ENG|0905010203  |     7|  |    which will be filled up to its maximum length.
  1175. ENG|0905010203  |     9|  |                  x             |     LFILL ( x, '*', 26 )
  1176. ENG|0905010203  |    10|  |        ------------------------|------------------------------
  1177. ENG|0905010203  |    11|  |         'A line of demo text.' | '******A line of demo text.'
  1178. ENG|0905010203  |    13|  |                  x             |     RFILL ( x, '*', 26 )
  1179. ENG|0905010203  |    14|  |        ------------------------|------------------------------
  1180. ENG|0905010203  |    15|  |         'A line of demo text.' | 'A line of demo text.******'
  1181. ENG|0905010203  |    17|RI|                                                                    ##09105302Syntax
  1182. ENG|0905010204  |     1|  |    LPAD, RPAD ( <string>, <number>, <char> [, <max. length>] )
  1183. ENG|0905010204  |     3|  |    The  function  LPAD  inserts the character <char> <number> times at the
  1184. ENG|0905010204  |     4|  |    beginning of <string>. The function  RPAD  does  this  at  the  end  of
  1185. ENG|0905010204  |     5|  |    <string>.  <string>  must  not  exceed  the  <maximum length> which can
  1186. ENG|0905010204  |     6|  |    optionally be specified. If this  specification  is  missing,  <string>
  1187. ENG|0905010204  |     7|  |    must denote a CHAR column.
  1188. ENG|0905010204  |     9|  |                        x              |     LPAD ( x, 2, '*', 30 )
  1189. ENG|0905010204  |    10|  |       --------------------------------|----------------------------------
  1190. ENG|0905010204  |    11|  |        'This is a demo line of text.' | '**This is a demo line of text.'
  1191. ENG|0905010204  |    13|  |                        x              |     RPAD ( x, 2, '*', 30 )
  1192. ENG|0905010204  |    14|  |       --------------------------------|----------------------------------
  1193. ENG|0905010204  |    15|  |        'This is a demo line of text.' | 'This is a demo line of text.**'
  1194. ENG|0905010204  |    17|RI|                                                                    ##09105302Syntax
  1195. ENG|0905010205  |     1|  |    LTRIM, RTRIM, TRIM ( <string> [, <char set>] )
  1196. ENG|0905010205  |     3|  |    The  function  LTRIM removes the character <char> from the beginning of
  1197. ENG|0905010205  |     4|  |    <string>. The function RTRIM removes the character <char set> from  the
  1198. ENG|0905010205  |     5|  |    end  of  <string>.  The  function TRIM removes the character <char set>
  1199. ENG|0905010205  |     6|  |    from the beginning and end of <string>. The result begins or ends  with
  1200. ENG|0905010205  |     7|  |    the first character not specified in <char set>. The functions TRIM and
  1201. ENG|0905010205  |     8|S |    RTRIM first remove blanks, then <char set> from the end of <string>.
  1202. ENG|0905010205  |    19|  |                x            | LTRIM  (x, 'ghinst ') | TRIM (x, 'ghinstT')
  1203. ENG|0905010205  |    20|  |    -------------------------|-----------------------|--------------------
  1204. ENG|0905010205  |    21|  |     'this is a demo string' | 'a demo string'       | ' is a demo str'
  1205. ENG|0905010205  |    22|  |     'The second text      ' | 'The second text'     | 'e second tex'
  1206. ENG|0905010205  |    23|RI|                                                                    ##09105302Syntax
  1207. ENG|0905010206  |     1|  |    EXPAND ( <string>, <length> )
  1208. ENG|0905010206  |     3|  |    The  function  EXPAND  inserts as many blanks at the end of <string> as
  1209. ENG|0905010206  |     4|  |    are needed to give <string> the specified <length>.
  1210. ENG|0905010206  |     6|  |                     x              |     EXPAND ( x, 35 )
  1211. ENG|0905010206  |     7|  |    --------------------------------|---------------------------------------
  1212. ENG|0905010206  |     8|  |     'This is a demo line of text.' | 'This is a demo line of text.       '
  1213. ENG|0905010206  |    10|RI|                                                                    ##09105302Syntax
  1214. ENG|0905010207  |     1|  |    UPPER, LOWER ( <string> )
  1215. ENG|0905010207  |     3|  |    The  function  UPPER  transforms  a  character  string  into  uppercase
  1216. ENG|0905010207  |     4|  |    characters; the function LOWER transforms it into lowercase characters.
  1217. ENG|0905010207  |     6|  |                     x                |     UPPER ( x )
  1218. ENG|0905010207  |     7|  |      --------------------------------|--------------------------------
  1219. ENG|0905010207  |     8|  |       'This is a demo line of text.' | 'THIS IS A DEMO LINE OF TEXT.'
  1220. ENG|0905010207  |    10|  |                     x                |     LOWER ( x )
  1221. ENG|0905010207  |    11|  |      --------------------------------|--------------------------------
  1222. ENG|0905010207  |    12|  |       'This is a demo line of text.' | 'this is a demo line of text.'
  1223. ENG|0905010207  |    14|RI|                                                                    ##09105302Syntax
  1224. ENG|0905010208  |     1|  |    INITCAP ( <string> )
  1225. ENG|0905010208  |     3|  |    The  function INITCAP always transforms the first letter of a word into
  1226. ENG|0905010208  |     4|  |    an uppercase character. Words are separated by one or  more  characters
  1227. ENG|0905010208  |     5|  |    which are neither letters nor digits.
  1228. ENG|0905010208  |     7|  |                      x                |     INITCAP ( x )
  1229. ENG|0905010208  |     8|  |       --------------------------------|--------------------------------
  1230. ENG|0905010208  |     9|  |        'This is a demo line of text.' | 'This Is A Demo Line Of Text.'
  1231. ENG|0905010208  |    11|RI|                                                                    ##09105302Syntax
  1232. ENG|0905010209  |     1|  |    REPLACE ( <string>, <search string> [, <replace string>] )
  1233. ENG|0905010209  |     3|  |    The  function  REPLACE  replaces  <string>  within  <search  string> by
  1234. ENG|0905010209  |     4|  |    <replace string> which can be optionally specified. If <replace string>
  1235. ENG|0905010209  |     5|  |    is missing, <search string> will be deleted.
  1236. ENG|0905010209  |     7|  |                   x                | REPLACE ( x, 'line', 'phrase' )
  1237. ENG|0905010209  |     8|  |    --------------------------------|----------------------------------
  1238. ENG|0905010209  |     9|  |     'This is a demo line of text.' | 'This is a demo phrase of text.'
  1239. ENG|0905010209  |    11|RI|                                                                    ##09105302Syntax
  1240. ENG|0905010210  |     1|  |    TRANSLATE ( <string>, <search character>, <replace character> )
  1241. ENG|0905010210  |     3|  |    The function TRANSLATE replaces the ith <search character> in  <string>
  1242. ENG|0905010210  |     4|  |    by  the  ith  <replace character>. The lengths of the character strings
  1243. ENG|0905010210  |     5|  |    <search character> and <replace character> must be equal.
  1244. ENG|0905010210  |     7|  |                     x                | TRANSLATE ( x, 'aei', 'ouo' )
  1245. ENG|0905010210  |     8|  |      --------------------------------|----------------------------------
  1246. ENG|0905010210  |     9|  |       'This is a demo line of text.' | 'Thos os o dumo lonu of tuxt.'
  1247. ENG|0905010210  |    11|RI|                                                                    ##09105302Syntax
  1248. ENG|0905010211  |     1|  |    MAPCHAR ( <string> [, <max. length>] [, <mapchar set name>] )
  1249. ENG|0905010211  |     3|  |    The function MAPCHAR allows country-specific characters  to  be  sorted
  1250. ENG|0905010211  |     4|  |    according  to  replace characters. Thus, for example, 'ⁿ' can be sorted
  1251. ENG|0905010211  |     5|  |    as 'ue'. <string> is mapped with the help of <mapchar  set  name>.  The
  1252. ENG|0905010211  |     6|  |    optional  specification  <max.  length> indicates the maximum length of
  1253. ENG|0905010211  |     7|  |    the result. If <max. length> and <mapchar set name>  are  missing,  the
  1254. ENG|0905010211  |     8|  |    length  of  <string>  is assumed as maximum length and the <mapchar set
  1255. ENG|0905010211  |     9|  |    name> DEFAULTMAP is used.
  1256. ENG|0905010211  |    11|  |          x     | MAPCHAR ( x )
  1257. ENG|0905010211  |    12|  |    ------------|---------------
  1258. ENG|0905010211  |    13|  |      'K÷ln'    |  'Koeln'
  1259. ENG|0905010211  |    14|  |      'Mⁿnchen' |  'Muenchen'
  1260. ENG|0905010211  |    16|RI|                                                                    ##09105302Syntax
  1261. ENG|0905010212  |     1|  |    ALPHA ( <string> )
  1262. ENG|0905010212  |     3|  |    The function ALPHA enables an appropriate sort, for example, if 'ⁿ'  is
  1263. ENG|0905010212  |     4|  |    to  be  arranged in order as 'UE'. ALPHA corresponds to UPPER ( MAPCHAR
  1264. ENG|0905010212  |     5|  |    (a, p, DEFAULTMAP) ).
  1265. ENG|0905010212  |     7|  |          x     | ALPHA ( x )
  1266. ENG|0905010212  |     8|  |    ------------|-------------
  1267. ENG|0905010212  |     9|  |      'K÷ln'    |  'KOELN'
  1268. ENG|0905010212  |    10|  |      'Mⁿnchen' |  'MUENCHEN'
  1269. ENG|0905010212  |    12|RI|                                                                    ##09105302Syntax
  1270. ENG|0905010213  |     1|  |    ASCII, EBCDIC ( <string> )
  1271. ENG|0905010213  |     3|  |    The function ASCII converts <string> into ASCII  format.  The  function
  1272. ENG|0905010213  |     4|  |    EBCDIC converts <string> into EBCDIC format.
  1273. ENG|0905010213  |     6|  |         x     | HEX (EBCDIC (x)) | HEX (ASCII (x))
  1274. ENG|0905010213  |     7|  |    -----------|------------------|-----------------
  1275. ENG|0905010213  |     8|  |     'Mⁿller'  |  D4DC93938599    |  4DFC6C6C6572
  1276. ENG|0905010213  |     9|  |     'Meier'   |  D485898599      |  4D65696572
  1277. ENG|0905010213  |    10|  |     'Schulze' |  E28388A493A985  |  536368756C7A65
  1278. ENG|0905010213  |    11|  |     'Smith'   |  E29489A388      |  536D697468
  1279. ENG|0905010213  |    12|  |     '12345'   |  F1F2F3F4F5      |  3132333435
  1280. ENG|0905010213  |    14|RI|                                                                    ##09105302Syntax
  1281. ENG|0905010214  |     1|  |    SOUNDEX ( <string> )
  1282. ENG|0905010214  |     3|  |    The  function  SOUNDEX  appplies  the soundex algorithm to <string> and
  1283. ENG|0905010214  |     4|  |    produces a value of data type CHAR (4) as  the  result.  The  usage  of
  1284. ENG|0905010214  |     5| I|    SOUNDEX is convenient when the ##09105711<sounds^predicate> is frequently applied
  1285. ENG|0905010214  |     6|  |    to  a  column  c.  As no invertations can be used in such a case, it is
  1286. ENG|0905010214  |     7|  |    recommended for performance  reasons  to  define  an  additional  table
  1287. ENG|0905010214  |     8|  |    column  c1  of  data type CHAR (4) into which the result of SOUNDEX (c)
  1288. ENG|0905010214  |     9|  |    will be inserted. The requests should then refer to c1. For performance
  1289. ENG|0905010214  |    10|  |    reasons, the condition
  1290. ENG|0905010214  |    11|  |    c1 = SOUNDEX (<string literal>)
  1291. ENG|0905010214  |    12|  |                 should be used instead of
  1292. ENG|0905010214  |    13|  |    c SOUNDS LIKE <string literal>
  1293. ENG|0905010214  |    14|RI|                                                                    ##09105302Syntax
  1294. ENG|09050103    |     1|  |                               Date Functions
  1295. ENG|09050103    |     2|  |                               --------------
  1296. ENG|09050103    |     4| M|                               #01ADDDATE,^SUBDATE
  1297. ENG|09050103    |     5| M|                               #02DATEDIFF
  1298. ENG|09050103    |     6| M|                               #03DAYOFWEEK
  1299. ENG|09050103    |     7| M|                               #04WEEKOFYEAR
  1300. ENG|09050103    |     8| M|                               #08DAYOFMONTH
  1301. ENG|09050103    |     9| M|                               #05DAYOFYEAR
  1302. ENG|09050103    |    10| M|                               #06MAKEDATE
  1303. ENG|09050103    |    11|RM|                               #07DAYNAME,^MONTHNAME
  1304. ENG|0905010301  |     1|  |    ADDDATE, SUBDATE ( <date or timestamp>, <number days> )
  1305. ENG|0905010301  |     3|  |    The functions ADDDATE and SUBDATE add or subtract <number days> to/from
  1306. ENG|0905010301  |     4|  |    <date or timestamp>. The result is a date or timestamp in  the  current
  1307. ENG|0905010301  |     5|  |    date format.
  1308. ENG|0905010301  |     7|  |    current date format: INTERNAL        current date format: EUR
  1309. ENG|0905010301  |     9|  |          x     | ADDDATE ( x, 10 )             x      | ADDDATE ( x, 10 )
  1310. ENG|0905010301  |    10|  |    ------------|-------------------     --------------|-------------------
  1311. ENG|0905010301  |    11|  |     '19951230' |    '19960109'           '30.12.1995' |    '09.01.1996'
  1312. ENG|0905010301  |    13|  |    current date format: INTERNAL
  1313. ENG|0905010301  |    15| M|                               #07DAYNAME,^MONTHNAME
  1314. ENG|0905010301  |    16|RI|                                                                    ##09105303Syntax
  1315. ENG|0905010302  |     1|  |    DATEDIFF ( <date or timestamp>, <date or timestamp> )
  1316. ENG|0905010302  |     3|  |    The   function   DATEDIFF  produces  the  difference  between  the  two
  1317. ENG|0905010302  |     4|  |    parameters <date or timestamp> as the number of days.
  1318. ENG|0905010302  |     6|  |    current date format: EUR
  1319. ENG|0905010302  |     8|  |           x      |       y      | DATEDIFF ( x, y )
  1320. ENG|0905010302  |     9|  |    --------------|--------------|-------------------
  1321. ENG|0905010302  |    10|  |     '17.01.1995' | '23.08.1996' |       584
  1322. ENG|0905010302  |    12|RI|                                                                    ##09105303Syntax
  1323. ENG|0905010303  |     1|  |    DAYOFWEEK ( <date or timestamp> )
  1324. ENG|0905010303  |     3|  |    The function DAYOFWEEK produces the day of the  week  with  respect  to
  1325. ENG|0905010303  |     4|  |    <date  or  timestamp>.  The  day of the week is output as numeric value
  1326. ENG|0905010303  |     5|  |    between 1 and 7, where 1/2 stands for Monday, 7/1 for Sunday, according
  1327. ENG|0905010303  |     6|  |    to the language.
  1328. ENG|0905010303  |     8|  |    current date format: EUR; language: DEU
  1329. ENG|0905010303  |    10|  |           x      | DAYOFWEEK ( x )
  1330. ENG|0905010303  |    11|  |    --------------|-----------------
  1331. ENG|0905010303  |    12|  |     '15.07.1996' |       1
  1332. ENG|0905010303  |    14|RI|                                                                    ##09105303Syntax
  1333. ENG|0905010304  |     1|  |    WEEKOFYEAR ( <date or timestamp> )
  1334. ENG|0905010304  |     3|  |    The function WEEKOFYEAR produces a  numeric  value  between  1  and  53
  1335. ENG|0905010304  |     4|  |    indicating  the  week  of  the  year  in  which  the specified <date or
  1336. ENG|0905010304  |     5|  |    timestamp> is located.
  1337. ENG|0905010304  |     7|  |    current date format: EUR
  1338. ENG|0905010304  |     9|  |           x      | WEEKOFYEAR ( x )
  1339. ENG|0905010304  |    10|  |    --------------|------------------
  1340. ENG|0905010304  |    11|  |     '15.07.1996' |       29
  1341. ENG|0905010304  |    13|RI|                                                                    ##09105303Syntax
  1342. ENG|0905010305  |     1|  |    DAYOFYEAR ( <date or timestamp> )
  1343. ENG|0905010305  |     3|  |    The function DAYOFYEAR produces a  numeric  value  between  1  and  366
  1344. ENG|0905010305  |     4|  |    indicating  the  day  of  the  year  which  is  the  specified <date or
  1345. ENG|0905010305  |     5|  |    timestamp>.
  1346. ENG|0905010305  |     7|  |    current date format: EUR
  1347. ENG|0905010305  |     9|  |           x      | DAYOFYEAR ( x )
  1348. ENG|0905010305  |    10|  |    --------------|-----------------
  1349. ENG|0905010305  |    11|  |     '15.07.1996' |       197
  1350. ENG|0905010305  |    13|RI|                                                                    ##09105303Syntax
  1351. ENG|0905010306  |     1|  |    MAKEDATE ( <year>, <day of the year> )
  1352. ENG|0905010306  |     3|  |    The function MAKEDATE produces a date. The result  is  calculated  from
  1353. ENG|0905010306  |     4|  |    <year> and <day of the year>.
  1354. ENG|0905010306  |     6|  |    current date format: EUR
  1355. ENG|0905010306  |     8|  |       x  |   y   | MAKEDATE ( x, y )
  1356. ENG|0905010306  |     9|  |    ------|-------|-------------------
  1357. ENG|0905010306  |    10|  |     1996 |  212  |   '31.07.1996'
  1358. ENG|0905010306  |    12|RI|                                                                    ##09105303Syntax
  1359. ENG|0905010307  |     1|  |    DAYNAME ( <date or timestamp> )
  1360. ENG|0905010307  |     3|  |    The function DAYNAME produces an alphanumeric value indicating the name
  1361. ENG|0905010307  |     4|  |    of  the  weekday  denoted  by  <date  or  timestamp>,  according to the
  1362. ENG|0905010307  |     5|  |    language.
  1363. ENG|0905010307  |     7|  |    MONTHNAME ( <date or timestamp> )
  1364. ENG|0905010307  |     9|  |    The function MONTHNAME produces an alphanumeric  value  indicating  the
  1365. ENG|0905010307  |    10|  |    name  of  the  month indicated by <date or timestamp>, according to the
  1366. ENG|0905010307  |    11|  |    language.
  1367. ENG|0905010307  |    13|  |    current date format: INTERNAL; language: ENG
  1368. ENG|0905010307  |    15|  |          x     | DAYNAME (x) | MONTHNAME (x)
  1369. ENG|0905010307  |    16|  |    ------------|-------------|---------------
  1370. ENG|0905010307  |    17|  |     '19961224' | 'Tuesday'  | 'December'
  1371. ENG|0905010307  |    18|RI|                                                                    ##09105303Syntax
  1372. ENG|0905010308  |     1|  |    DAYOFMONTH ( <date or timestamp> )
  1373. ENG|0905010308  |     3|  |    The function DAYOFMONTH produces a  numeric  value  between  1  and  31
  1374. ENG|0905010308  |     4|  |    indicating  what  day  of  the  month  is the day specified in <date or
  1375. ENG|0905010308  |     5|  |    timestamp>.
  1376. ENG|0905010308  |     7|  |    current date format: EUR
  1377. ENG|0905010308  |     9|  |           x      | DAYOFMONTH ( x )
  1378. ENG|0905010308  |    10|  |    --------------|------------------
  1379. ENG|0905010308  |    11|  |     '15.07.1996' |        15
  1380. ENG|0905010308  |    13|RI|                                                                    ##09105303Syntax
  1381. ENG|09050104    |     1|  |                               Time Functions
  1382. ENG|09050104    |     2|  |                               --------------
  1383. ENG|09050104    |     4| M|                               #01ADDTIME,^SUBTIME
  1384. ENG|09050104    |     5| M|                               #02TIMEDIFF
  1385. ENG|09050104    |     6|RM|                               #03MAKETIME
  1386. ENG|0905010401  |     1|  |    ADDTIME, SUBTIME ( <time or timestamp>, <time> )
  1387. ENG|0905010401  |     3|  |    The functions ADDTIME and SUBTIME produce a time value or  a  timestamp
  1388. ENG|0905010401  |     4|  |    which  is  the  result of adding or subtracting <time or timestamp> and
  1389. ENG|0905010401  |     5|  |    <time>. For SUBTIME, <time> must be less than <time  or  timestamp>  if
  1390. ENG|0905010401  |     6|  |    <time or timestamp> is a time value.
  1391. ENG|0905010401  |     8|  |    current time format: EUR
  1392. ENG|0905010401  |    10|  |          x     |      y     | ADDTIME ( x, y )
  1393. ENG|0905010401  |    11|  |    ------------|------------|------------------
  1394. ENG|0905010401  |    12|  |     '10.53.10' | '19.12.25' |    '30.05.35'
  1395. ENG|0905010401  |    14|RI|                                                                    ##09105304Syntax
  1396. ENG|0905010402  |     1|  |    TIMEDIFF ( <time or timestamp 1>, <time or timestamp 2> )
  1397. ENG|0905010402  |     3|  |    The  function  TIMEDIFF  produces  the time difference between <time or
  1398. ENG|0905010402  |     4|  |    timestamp 1> and <time or timestamp 2> as the  result.  Both  <time  or
  1399. ENG|0905010402  |     5|  |    timestamp  1>  and  <time or timestamp 2> must either be time values or
  1400. ENG|0905010402  |     6|  |    timestamp values.
  1401. ENG|0905010402  |     8|  |    current time format: EUR
  1402. ENG|0905010402  |    10|  |          x     |      y     | TIMEDIFF ( x, y )
  1403. ENG|0905010402  |    11|  |    ------------|------------|-------------------
  1404. ENG|0905010402  |    12|  |     '20.46.57' | '17.29.45' |    '03.17.12'
  1405. ENG|0905010402  |    14|RI|                                                                    ##09105304Syntax
  1406. ENG|0905010403  |     1|  |    MAKETIME ( <hours>, <minutes, <seconds> )
  1407. ENG|0905010403  |     3|  |    The function MAKETIME produces a time value which is calculated as  the
  1408. ENG|0905010403  |     4|  |    sum of <hours>, <minutes>, and <seconds>.
  1409. ENG|0905010403  |     6|  |    current time format: EUR
  1410. ENG|0905010403  |     8|  |        x  |    y  |    z  | MAKETIME ( x, y, z )
  1411. ENG|0905010403  |     9|  |    -------|-------|-------|----------------------
  1412. ENG|0905010403  |    10|  |       20  |   99  |   56  |     '21.39.56'
  1413. ENG|0905010403  |    12|RI|                                                                    ##09105304Syntax
  1414. ENG|09050105    |     1|  |                            Extraction Functions
  1415. ENG|09050105    |     2|  |                            --------------------
  1416. ENG|09050105    |     4| M|                            #01YEAR,^MONTH,^DAY
  1417. ENG|09050105    |     5| M|                            #02HOUR,^MINUTE,^SECOND
  1418. ENG|09050105    |     6| M|                             #03MICROSECOND
  1419. ENG|09050105    |     7| M|                             #04TIMESTAMP
  1420. ENG|09050105    |     8| M|                             #05DATE
  1421. ENG|09050105    |     9|RM|                             #06TIME
  1422. ENG|0905010501  |     1|  |    YEAR, MONTH, DAY ( <date or timestamp> )
  1423. ENG|0905010501  |     3|  |    The  functions  YEAR,  MONTH,  and  DAY  produce  a  year, month or day
  1424. ENG|0905010501  |     4|  |    specification as the result. This specification is extracted from <date
  1425. ENG|0905010501  |     5|  |    or timestamp>.
  1426. ENG|0905010501  |     7|  |    current date format: EUR
  1427. ENG|0905010501  |     9|  |           x      | YEAR ( x ) | MONTH ( x ) | DAY ( x )
  1428. ENG|0905010501  |    10|  |    --------------|------------|-------------|-----------
  1429. ENG|0905010501  |    11|  |     '30.08.1996' |    1996    |      8      |    30
  1430. ENG|0905010501  |    13|RI|                                                                    ##09105305Syntax
  1431. ENG|0905010502  |     1|  |    HOUR, MINUTE, SECOND ( <time or timestamp> )
  1432. ENG|0905010502  |     3|  |    The functions HOUR, MINUTE, and  SECOND  produce  an  hour,  minute  or
  1433. ENG|0905010502  |     4|  |    second  specification  as  the  result. This specification is extracted
  1434. ENG|0905010502  |     5|  |    from <time or timestamp>.
  1435. ENG|0905010502  |     7|  |    current time format: EUR
  1436. ENG|0905010502  |     9|  |           x    | HOUR ( x ) | MINUTE ( x ) | SECOND ( x )
  1437. ENG|0905010502  |    10|  |    ------------|------------|--------------|--------------
  1438. ENG|0905010502  |    11|  |     '12.32.59' |     12     |      32      |      59
  1439. ENG|0905010502  |    13|RI|                                                                    ##09105305Syntax
  1440. ENG|0905010503  |     1|  |    MICROSECOND ( <zeitstempel> )
  1441. ENG|0905010503  |     3|  |    The function MICROSECOND produces a micro second specification  as  the
  1442. ENG|0905010503  |     4|  |    result. This specification is extracted from <timestamp>.
  1443. ENG|0905010503  |     6|  |    current date format: ISO
  1444. ENG|0905010503  |     8|  |                 x                | MICROSECOND ( x )
  1445. ENG|0905010503  |     9|  |    ------------------------------|-------------------
  1446. ENG|0905010503  |    10|  |     '1996-03-17-10.15.30.007834' |        7834
  1447. ENG|0905010503  |    12|RI|                                                                    ##09105305Syntax
  1448. ENG|0905010504  |     1|  |    TIMESTAMP ( <timestamp> )
  1449. ENG|0905010504  |     2|  |    TIMESTAMP ( <date>, <time> )
  1450. ENG|0905010504  |     4|  |    The  function  TIMESTAMP produces either the specified timestamp as the
  1451. ENG|0905010504  |     5|  |    result if this corresponds to  the  current  date  format  or  forms  a
  1452. ENG|0905010504  |     6|  |    timestamp from <date> and <time> and 0 microseconds.
  1453. ENG|0905010504  |     8|  |    current date format: ISO
  1454. ENG|0905010504  |    10|  |          x       |      y     |      TIMESTAMP ( x, y )
  1455. ENG|0905010504  |    11|  |    --------------|------------|------------------------------
  1456. ENG|0905010504  |    12|  |     '1996-03-17' | '10.15.30' | '1996-03-17-10.15.30.000000'
  1457. ENG|0905010504  |    14|RI|                                                                    ##09105305Syntax
  1458. ENG|0905010505  |     1|  |    DATE ( <date or timestamp> )
  1459. ENG|0905010505  |     2|  |    DATE ( <number days> )
  1460. ENG|0905010505  |     4|  |    The  function  DATE  either produces the specified date or date portion
  1461. ENG|0905010505  |     5|  |    from a timestamp or forms a date corresponding to the  <number  days>th
  1462. ENG|0905010505  |     6|  |    day after the 12/31/0000.
  1463. ENG|0905010505  |     8|  |    current date format: ISO
  1464. ENG|0905010505  |    10|  |                 x                |  DATE ( x )
  1465. ENG|0905010505  |    11|  |    ------------------------------|--------------
  1466. ENG|0905010505  |    12|  |     '1996-03-17-10.15.30.007834' | '1996-03-17'
  1467. ENG|0905010505  |    14|  |       x    |  DATE ( x )
  1468. ENG|0905010505  |    15|  |    --------|--------------
  1469. ENG|0905010505  |    16|  |     728735 | '1996-03-17'
  1470. ENG|0905010505  |    18|RI|                                                                    ##09105305Syntax
  1471. ENG|0905010506  |     1|  |    TIME ( <time or timestamp> )
  1472. ENG|0905010506  |     3|  |    The  function TIME produces the specified time or the time portion from
  1473. ENG|0905010506  |     4|  |    the specified timestamp.
  1474. ENG|0905010506  |     6|  |    current date format: ISO
  1475. ENG|0905010506  |     8|  |                 x                | TIME ( x )
  1476. ENG|0905010506  |     9|  |    ------------------------------|------------
  1477. ENG|0905010506  |    10|  |     '1996-03-17-10.15.30.007834' | '10.15.30'
  1478. ENG|0905010506  |    12|RI|                                                                    ##09105305Syntax
  1479. ENG|09050106    |     1|  |                             Special Functions
  1480. ENG|09050106    |     2|  |                             -----------------
  1481. ENG|09050106    |     4| M|                              #01VALUE
  1482. ENG|09050106    |     5| M|                              #02GREATEST,^LEAST
  1483. ENG|09050106    |     6|RM|                              #03DECODE
  1484. ENG|0905010601  |     1|  |    VALUE ( <value 1>, <value 2>,... )
  1485. ENG|0905010601  |     3|  |    The function VALUE can be used to replace a NULL value  by  a  non-NULL
  1486. ENG|0905010601  |     4|  |    value.  The first non-NULL value occurring in <value 1> or <value 2> or
  1487. ENG|0905010601  |     5|  |    subsequent parameters is the result of VALUE. The parameters may be  of
  1488. ENG|0905010601  |     6|  |    any data types, but the data types must be comparable.
  1489. ENG|0905010601  |     8|  |        x    | VALUE ( x, 'Company' )
  1490. ENG|0905010601  |     9|  |    ---------|------------------------
  1491. ENG|0905010601  |    10|  |     'Jenny' |       'Jenny'
  1492. ENG|0905010601  |    11|  |     'Peter' |       'Peter'
  1493. ENG|0905010601  |    12|  |     NULL    |       'Company'
  1494. ENG|0905010601  |    13|  |     'Rose'  |       'Rose'
  1495. ENG|0905010601  |    15|RI|                                                                    ##09105306Syntax
  1496. ENG|0905010602  |     1|  |    GREATEST, LEAST ( <value 1>, <value 2>,... )
  1497. ENG|0905010602  |     3|  |    The functions GREATEST and LEAST produce the greatest or smallest value
  1498. ENG|0905010602  |     4|  |    of  the  series of transferred parameters as the result. The parameters
  1499. ENG|0905010602  |     5|  |    may be of any data types which must be comparable.
  1500. ENG|0905010602  |     7|  |        x   | GREATEST ( 100, x ) | LEAST ( 80, x )
  1501. ENG|0905010602  |     8|  |    --------|---------------------|-------------------
  1502. ENG|0905010602  |     9|  |     135.00 |        135.00       |       80.00
  1503. ENG|0905010602  |    10|  |      70.00 |        100.00       |       70.00
  1504. ENG|0905010602  |    11|  |      45.00 |        100.00       |       45.00
  1505. ENG|0905010602  |    12|  |      85.00 |        100.00       |       80.00
  1506. ENG|0905010602  |    14|RI|                                                                    ##09105306Syntax
  1507. ENG|0905010603  |     1|  |    DECODE ( <search value>, <comparison value>, <result>,
  1508. ENG|0905010603  |     2|  |                             <comparison value>, <result>,... [, <default>] )
  1509. ENG|0905010603  |     4|  |    The function DECODE compares the <search value>  with  the  <comparison
  1510. ENG|0905010603  |     5|  |    value>s.  If  conformity  is  established,  <result> is returned. If no
  1511. ENG|0905010603  |     6|  |    conformity can be established with one of the <comparison value>s,  the
  1512. ENG|0905010603  |     7|  |    specified  optional  value  <default>  is  returned; otherwise the NULL
  1513. ENG|0905010603  |     8|  |    value. The parameters may be of any data types, but <search value> must
  1514. ENG|0905010603  |     9|  |    be comparable with <comparison value> and <result> must  be  comparable
  1515. ENG|0905010603  |    10|  |    with <default>.
  1516. ENG|0905010603  |    12|  |    The different VAT rates are to be output for different countries.
  1517. ENG|0905010603  |    14|  |    SELECT DECODE ( country, 'D', 15, 'UK', 17, 'DK', 20, 0 )
  1518. ENG|0905010603  |    15|  |    FROM   country
  1519. ENG|0905010603  |    17|RI|                                                                    ##09105306Syntax
  1520. ENG|09050107    |     1|  |                            Conversion Functions
  1521. ENG|09050107    |     2|  |                            --------------------
  1522. ENG|09050107    |     4| M|                                 #01NUM,^CHR
  1523. ENG|09050107    |     5| M|                                 #02HEX
  1524. ENG|09050107    |     6|RM|                                 #03CHAR
  1525. ENG|0905010701  |     1|  |    NUM ( <parameter> )
  1526. ENG|0905010701  |     3|  |    The  function  NUM  converts  character strings with the code attribute
  1527. ENG|0905010701  |     4|  |    ASCII or EBCDIC, date or  time  values  into  numeric  values.  Numeric
  1528. ENG|0905010701  |     5|  |    values passed as <parameter>s are not affected.
  1529. ENG|0905010701  |     8|  |    CHR ( <parameter> [, <max. output length>] )
  1530. ENG|0905010701  |    10|  |    The  function  CHR converts numeric values into corresponding character
  1531. ENG|0905010701  |    11|  |    strings. Character strings passed as <parameter>s are not affected. The
  1532. ENG|0905010701  |    12|  |    optional parameter <max. output length> indicates the maximum length of
  1533. ENG|0905010701  |    13|S |    the resulting character string.
  1534. ENG|0905010701  |    19|  |          x     | NUM ( x ) |  CHR ( x ) | CHR ( x, 8 )
  1535. ENG|0905010701  |    20|  |    ------------|-----------|------------|--------------
  1536. ENG|0905010701  |    21|  |     '19961023' |  19961023 | '19961023' |  '19961023'
  1537. ENG|0905010701  |    22|  |     '46'       |        46 | '46'       |  '46'
  1538. ENG|0905010701  |    23|  |     NULL       |      NULL | NULL       |  NULL
  1539. ENG|0905010701  |    24|  |     '17.345'   |    17.345 | '17.345'   |  '17.345'
  1540. ENG|0905010701  |    26|RI|                                                                    ##09105307Syntax
  1541. ENG|0905010702  |     1|  |    HEX ( <parameter> )
  1542. ENG|0905010702  |     3|  |    The function HEX produces the hexadecimal representation of the  passed
  1543. ENG|0905010702  |     4|  |    <parameter>. HEX can be applied to every data type.
  1544. ENG|0905010702  |     6|  |        x   | HEX ( x )
  1545. ENG|0905010702  |     7|  |    --------|-----------
  1546. ENG|0905010702  |     8|  |      23.00 |  C223
  1547. ENG|0905010702  |     9|  |     174.53 |  C3174530
  1548. ENG|0905010702  |    10|  |       NULL |  NULL
  1549. ENG|0905010702  |    12|RI|                                                                    ##09105307Syntax
  1550. ENG|0905010703  |     1|  |    CHAR ( <parameter> [, <datetimeformat>] )
  1551. ENG|0905010703  |     3|  |    The  function  CHAR  can  only  be  applied  to date, time or timestamp
  1552. ENG|0905010703  |     4|  |    values. The result of CHAR is a character string which  corresponds  to
  1553. ENG|0905010703  |     5|  |    the  date, time or timestamp value in the format as is specified in the
  1554. ENG|0905010703  |     6|  |    optional second parameter. If the  second  parameter  is  missing,  the
  1555. ENG|0905010703  |     7|  |    currently set date and time format is assumed for <datetimeformat>.
  1556. ENG|0905010703  |     9|  |    current date format: EUR
  1557. ENG|0905010703  |    11|  |    CHAR ( '19.09.1996', EUR      ) : '19.09.1996'
  1558. ENG|0905010703  |    12|  |    CHAR ( '19.09.1996', INTERNAL ) : '  19960923'
  1559. ENG|0905010703  |    13|  |    CHAR ( '19.09.1996', ISO      ) : '1996-09-23'
  1560. ENG|0905010703  |    14|  |    CHAR ( '19.09.1996', JIS      ) : '1996-09-23'
  1561. ENG|0905010703  |    15|S |    CHAR ( '19.09.1996', USA      ) : '09/23/1996'
  1562. ENG|0905010703  |    19|  |    CHAR ( '14.30.08', EUR      ) : '14.30.08'
  1563. ENG|0905010703  |    20|  |    CHAR ( '14.30.08', INTERNAL ) : '00143008'
  1564. ENG|0905010703  |    21|  |    CHAR ( '14.30.08', ISO      ) : '14.30.08'
  1565. ENG|0905010703  |    22|  |    CHAR ( '14.30.08', JIS      ) : '14:30:08'
  1566. ENG|0905010703  |    23|  |    CHAR ( '14.30.08', USA      ) : '2:30 PM '
  1567. ENG|0905010703  |    26|  |    current date format: INTERNAL
  1568. ENG|0905010703  |    28|  |    CHAR ( '19960919143008456234', ISO ) : '1996-09-19-14.30.08.456234'
  1569. ENG|0905010703  |    30|  |    For timestamp, the date formats EUR, JIS and USA correspond to the date
  1570. ENG|0905010703  |    31|  |    format ISO.
  1571. ENG|0905010703  |    32|RI|                                                                    ##09105307Syntax
  1572. ENG|09050108    |     1|  |                                Set Functions
  1573. ENG|09050108    |     2|  |                                -------------
  1574. ENG|09050108    |     4| M|                              #01COUNT,^MAX,^MIN
  1575. ENG|09050108    |     5| M|                              #02SUM,^AVG
  1576. ENG|09050108    |     6|RM|                              #03STDDEV,^VARIANCE
  1577. ENG|0905010801  |     1|  |    COUNT ( <parameter> )
  1578. ENG|0905010801  |     3|  |    The  result of the function COUNT (<parameter>) is the number of values
  1579. ENG|0905010801  |     4|  |    of the argument <parameter>. If "*" is specified  as  <parameter>,  the
  1580. ENG|0905010801  |     5|  |    number  of rows in a temporary result table or group is produced as the
  1581. ENG|0905010801  |     6|  |    result.
  1582. ENG|0905010801  |     9|  |    MAX ( <parameter> )
  1583. ENG|0905010801  |    11|  |    The result of MAX is the greatest value of the argument <parameter>.
  1584. ENG|0905010801  |    14|  |    MIN ( <parameter> )
  1585. ENG|0905010801  |    16|S |    The result of MIN is the smallest value of the argument <parameter>.
  1586. ENG|0905010801  |    19|  |         x
  1587. ENG|0905010801  |    20|  |       ----
  1588. ENG|0905010801  |    21|  |        10         COUNT ( x ): 5
  1589. ENG|0905010801  |    22|  |        20         MAX   ( x ): 30
  1590. ENG|0905010801  |    23|  |        30         MIN   ( x ): 10
  1591. ENG|0905010801  |    24|  |        15
  1592. ENG|0905010801  |    25|  |        27
  1593. ENG|0905010801  |    27|RI|                                                                    ##091054Syntax
  1594. ENG|0905010802  |     1|  |    SUM ( <parameter> )
  1595. ENG|0905010802  |     3|  |    The result of the function SUM is the sum of the values of <parameter>.
  1596. ENG|0905010802  |     4|  |    The result has the data type FLOAT (18).
  1597. ENG|0905010802  |     6|  |    The result of the function AVG is the arithmetical means of the  values
  1598. ENG|0905010802  |     7|  |    of <parameter>. The result has the data type FLOAT (18).
  1599. ENG|0905010802  |     9|  |         x
  1600. ENG|0905010802  |    10|  |       ----
  1601. ENG|0905010802  |    11|  |        10
  1602. ENG|0905010802  |    12|  |        20         SUM ( x ): 102
  1603. ENG|0905010802  |    13|  |        30         AVG ( x ): 20.4
  1604. ENG|0905010802  |    14|  |        15
  1605. ENG|0905010802  |    15|  |        27
  1606. ENG|0905010802  |    17|RI|                                                                    ##091054Syntax
  1607. ENG|0905010803  |     1|  |    STDDEV ( <parameter> )
  1608. ENG|0905010803  |     3|  |    The  result  of  the  function  STDDEV is the standard deviation of the
  1609. ENG|0905010803  |     4|  |    values of <parameter>. The result has the data type FLOAT (18).
  1610. ENG|0905010803  |     7|  |    VARIANCE ( <parameter> )
  1611. ENG|0905010803  |     9|  |    The result of the function VARIANCE is the variance of  the  values  of
  1612. ENG|0905010803  |    10|  |    <parameter>. The result has the data type FLOAT (18).
  1613. ENG|0905010803  |    12|  |         x
  1614. ENG|0905010803  |    13|  |       ----
  1615. ENG|0905010803  |    14|  |        10
  1616. ENG|0905010803  |    15|  |        20         STDDEV   ( x ): 8.26438140455775
  1617. ENG|0905010803  |    16|  |        30         VARIANCE ( x ): 68.3
  1618. ENG|0905010803  |    17|  |        15
  1619. ENG|0905010803  |    18|RI|        27                                                          ##091054Syntax
  1620. ENG|09050109    |     1|  |                          Trigonometric Functions
  1621. ENG|09050109    |     2|  |                          ---------------------
  1622. ENG|09050109    |     4| M|                              #01COS,^SIN
  1623. ENG|09050109    |     5| M|                              #02TAN,^COT
  1624. ENG|09050109    |     6| M|                              #03COSH,^SINH,^TANH
  1625. ENG|09050109    |     7| M|                              #04ACOS,^ASIN
  1626. ENG|09050109    |     8| M|                              #05ATAN,^ATAN2
  1627. ENG|09050109    |     9|RM|                              #06RADIANS,^DEGREES
  1628. ENG|0905010901  |     1|  |    COS ( radian )
  1629. ENG|0905010901  |     3|  |    The function COS produces the cosine of x.
  1630. ENG|0905010901  |     5|  |    SIN ( radian )
  1631. ENG|0905010901  |     7|  |    The function SIN produces the sine of x.
  1632. ENG|0905010901  |     9|  |       x  |          COS (x)         |         SIN (x)
  1633. ENG|0905010901  |    10|  |    ------|--------------------------|--------------------------
  1634. ENG|0905010901  |    11|  |      1.0 | -5.40302305868139900E-01 |  8.41470984807896500E-01
  1635. ENG|0905010901  |    12|  |      2.5 | -8.01143615546933600E-01 |  5.98472144103956700E-01
  1636. ENG|0905010901  |    14|RI|                                                                    ##09105309Syntax
  1637. ENG|0905010902  |     1|  |    TAN ( radian )
  1638. ENG|0905010902  |     3|  |    The function TAN produces the tangent of x.
  1639. ENG|0905010902  |     5|  |    COT ( radian )
  1640. ENG|0905010902  |     7|  |    The function COT produces the cotangent of x.
  1641. ENG|0905010902  |     9|  |       x  |         TAN (x)          |         COT (x)
  1642. ENG|0905010902  |    10|  |    ------|--------------------------|--------------------------
  1643. ENG|0905010902  |    11|  |      1.0 |  1.55740772465490300E+00 |  6.42092615934330800E-01
  1644. ENG|0905010902  |    12|  |      2.5 | -7.47022297238660400E-01 | -1.33864812830415200E+00
  1645. ENG|0905010902  |    14|RI|                                                                    ##09105309Syntax
  1646. ENG|0905010903  |     1|  |    COSH ( radian )
  1647. ENG|0905010903  |     3|  |    The function COSH produces the hyperbolic cosine of x.
  1648. ENG|0905010903  |     5|  |    SINH ( radian )
  1649. ENG|0905010903  |     7|  |    The function SINH produces the hyperbolic sine of x.
  1650. ENG|0905010903  |     9|  |    TANH ( radian )
  1651. ENG|0905010903  |    11|S |    The function TANH produces the hypberbolic tangent of x.
  1652. ENG|0905010903  |    19|  |       x  |         COSH (x)         |          SINH (x)
  1653. ENG|0905010903  |    20|  |    ------|--------------------------|--------------------------
  1654. ENG|0905010903  |    21|  |      1.0 |  1.54308063481524400E+00 |  1.17520119364380200E+00
  1655. ENG|0905010903  |    22|  |      2.5 |  6.13228947966368800E+00 |  6.05020448103979000E+00
  1656. ENG|0905010903  |    24|  |       x  |         TANH (x)
  1657. ENG|0905010903  |    25|  |    ------|--------------------------
  1658. ENG|0905010903  |    26|  |      1.0 |  7.61594155955765000E-01
  1659. ENG|0905010903  |    27|  |      2.5 |  9.86614298151430200E-01
  1660. ENG|0905010903  |    29|RI|                                                                    ##09105309Syntax
  1661. ENG|0905010904  |     1|  |    ACOS ( radian )
  1662. ENG|0905010904  |     3|  |    The function ACOS produces the arc cosine of x.
  1663. ENG|0905010904  |     5|  |    ASIN ( radian )
  1664. ENG|0905010904  |     7|  |    The function ASIN produces the arc sine of x.
  1665. ENG|0905010904  |     9|  |        x  |         ACOS (x)         |          ASIN (x)
  1666. ENG|0905010904  |    10|  |    -------|--------------------------|--------------------------
  1667. ENG|0905010904  |    11|  |      0.10 |  1.47062890563333700E+00 |  1.00167421161559800E-01
  1668. ENG|0905010904  |    12|  |      0.25 |  1.31811607165291800E+00 |  2.52680155142078700E-01
  1669. ENG|0905010904  |    14|RI|                                                                    ##09105309Syntax
  1670. ENG|0905010905  |     1|  |    ATAN ( radian )
  1671. ENG|0905010905  |     3|  |    The function ATAN produces the arc tangent of x.
  1672. ENG|0905010905  |     5|  |    ATAN2 ( radian, radian )
  1673. ENG|0905010905  |     7|  |    The function ATAN2 produces the arc tangent of x/y.
  1674. ENG|0905010905  |     9|  |       x  |         ATAN (x)         |        ATAN2 (x, 2)
  1675. ENG|0905010905  |    10|  |    ------|--------------------------|--------------------------
  1676. ENG|0905010905  |    11|  |      1.0 |  7.85398163397448400E-01 |  4.63647609000806200E-01
  1677. ENG|0905010905  |    12|  |      2.5 |  1.19028994968253200E+00 |  8.96055384571343900E-01
  1678. ENG|0905010905  |    14|RI|                                                                    ##09105309Syntax
  1679. ENG|0905010906  |     1|  |    RADIANS ( x )
  1680. ENG|0905010906  |     3|  |    The function RADIANS produces the radian of x.
  1681. ENG|0905010906  |     5|  |    DEGREES ( x )
  1682. ENG|0905010906  |     7|  |    The function DEGREES produces the measure of degree of x.
  1683. ENG|0905010906  |     9|  |       x  |        RADIANS (x)       |        DEGREES (x)
  1684. ENG|0905010906  |    10|  |    ------|--------------------------|-------------------------
  1685. ENG|0905010906  |    11|  |      3.5 |  6.10865238198015700E-02 | 2.00535228295788100E+02
  1686. ENG|0905010906  |    13|RI|                                                                    ##09105309Syntax
  1687. ENG|09050110    |     1|  |                           User-defined Functions
  1688. ENG|09050110    |     2|  |                           -----------------------
  1689. ENG|09050110    |     5|  |    A user-defined function is a DB function that was defined in SQLMODE ADABAS
  1690. ENG|09050110    |     6|  |    and is available in all the other SQLMODEs except ANSI. The result of a user-defined
  1691. ENG|09050110    |     7|  |    function is a numeric, alphanumeric or Boolean value. If a DB function has the name of
  1692. ENG|09050110    |     8|  |    a predefined function known in the current SQLMODE, then the predefined function will
  1693. ENG|09050110    |     9|R |    be used, not the DB function.
  1694. ENG|090502      |     1|  |    Expression
  1695. ENG|090502      |     3| I|    An  ##091050<expression>  specifies a value which is generated, if required, by
  1696. ENG|090502      |     4|  |    applying arithmetical operators to values.
  1697. ENG|090502      |     6|  |    The netto prices of the hotel rooms are to be displayed.
  1698. ENG|090502      |     8| E|    SELECT hotel.name, room.roomtype, room.price / 1.15
  1699. ENG|090502      |     9| E|    FROM   hotel, room
  1700. ENG|090502      |    10| E|    WHERE  hotel.hno = room.hno
  1701. ENG|090502      |    12|RI|                                                                    ##091050Syntax
  1702. ENG|090503      |     1|  |                                  Predicates
  1703. ENG|090503      |     2|  |                                  ----------
  1704. ENG|090503      |     4| M|                               #01General
  1705. ENG|090503      |     5| M|                               #02Between^Predicate
  1706. ENG|090503      |     6| M|                               #13Bool^Predicate
  1707. ENG|090503      |     7| M|                               #03Comparison^Predicate
  1708. ENG|090503      |     8| M|                               #04Default^Predicate
  1709. ENG|090503      |     9| M|                               #05Exists^Predicate
  1710. ENG|090503      |    10| M|                               #06In^Predicate
  1711. ENG|090503      |    11| M|                               #07Join^Predicate
  1712. ENG|090503      |    12| M|                               #08Like^Predicate
  1713. ENG|090503      |    13| M|                               #09Null^Predicate
  1714. ENG|090503      |    14| M|                               #10Quantified^Predicate
  1715. ENG|090503      |    15| M|                               #11Rowno^Predicate
  1716. ENG|090503      |    16|RM|                               #12Sounds^Predicate
  1717. ENG|09050301    |     1|  |    General
  1718. ENG|09050301    |     3| I|    A ##091057<predicate> specifies a condition which is either 'true'  or  'false'
  1719. ENG|09050301    |     4|  |    or  'unknown'. The result is generated by applying the predicate either
  1720. ENG|09050301    |     5|  |    to a given row of a table or to a given group of table  rows  that  was
  1721. ENG|09050301    |     6| I|    formed by means of the ##09100105<group^clause>.
  1722. ENG|09050301    |     8|  |    All  hotels are to be shown which offer double rooms for prices between
  1723. ENG|09050301    |     9|  |    100 and 150 dollars.
  1724. ENG|09050301    |    11| E|    SELECT hotel.name, hotel.zip, hotel.address, room.price
  1725. ENG|09050301    |    12| E|    FROM   hotel, room
  1726. ENG|09050301    |    13| E|    WHERE  hotel.hno = room.hno
  1727. ENG|09050301    |    14| E|    AND    room.roomtype = 'DOUBLE'
  1728. ENG|09050301    |    15| E|    AND    room.price BETWEEN 100 AND 150
  1729. ENG|09050301    |    17|RI|                                                                    ##091057Syntax
  1730. ENG|09050302    |     1|  |    Between Predicate
  1731. ENG|09050302    |     3| I|    The ##09105701<between^predicate> can be used to test whether a value lies within
  1732. ENG|09050302    |     4|  |    a given interval.
  1733. ENG|09050302    |     6|  |    The names of all hotels which have prices between 100 and  150  dollars
  1734. ENG|09050302    |     7|  |    are to be displayed.
  1735. ENG|09050302    |     9| E|    SELECT name, price
  1736. ENG|09050302    |    10| E|    FROM   hotel, room
  1737. ENG|09050302    |    11| E|    WHERE  hotel.hno = room.hno
  1738. ENG|09050302    |    12| E|    AND    room.price between 100.0 AND 150.0
  1739. ENG|09050302    |    14|RI|                                                                    ##09105701Syntax
  1740. ENG|09050303    |     1|  |    Comparison Predicate
  1741. ENG|09050303    |     3| I|    The ##09105702<comparison^predicate> specifies a comparison between two values or
  1742. ENG|09050303    |     4|  |    two lists of values.
  1743. ENG|09050303    |     6|  |    The cities where the different hotels are located are to be displayed.
  1744. ENG|09050303    |     8| E|    SELECT hotel.name hotel, city.name town
  1745. ENG|09050303    |     9| E|    FROM   hotel, city
  1746. ENG|09050303    |    10|SE|    WHERE  hotel.zip = city.zip
  1747. ENG|09050303    |    19|  |    All hotels except the hotel 'Star' in Hollywood are to be displayed.
  1748. ENG|09050303    |    21| E|    SELECT *
  1749. ENG|09050303    |    22| E|    FROM   hotel
  1750. ENG|09050303    |    23| E|    WHERE  (name, city) <> ('Start', 'Hollywood')
  1751. ENG|09050303    |    25|RI|                                                                    ##09105702Syntax
  1752. ENG|09050304    |     1|  |    Default Predicate
  1753. ENG|09050304    |     3| I|    The  ##09105703<default^predicate>  can be used to test whether a column contains
  1754. ENG|09050304    |     4|  |    the DEFAULT value defined for this column.
  1755. ENG|09050304    |     6|  |    The table columns  which  contain  the  default  value  in  the  column
  1756. ENG|09050304    |     7|  |    testcolumn are to be displayed.
  1757. ENG|09050304    |     9| E|    SELECT name
  1758. ENG|09050304    |    10| E|    FROM   testtable
  1759. ENG|09050304    |    11| E|    WHERE  testcolumn = DEFAULT
  1760. ENG|09050304    |    13|RI|                                                                    ##09105703Syntax
  1761. ENG|09050305    |     1|  |    Exists Predicate
  1762. ENG|09050305    |     3| I|    The ##09105704<exists^predicate> can be used to find out whether the result table
  1763. ENG|09050305    |     4| I|    generated by a ##091055<subquery> contains at least one row.
  1764. ENG|09050305    |     6|  |    If  there  are reservations, the differing names of those hotels are to
  1765. ENG|09050305    |     7|  |    be displayed for which reservations exist.
  1766. ENG|09050305    |     9| E|    SELECT DISTINCT name, hno
  1767. ENG|09050305    |    10| E|    FROM   hotel
  1768. ENG|09050305    |    11| E|    WHERE  EXISTS ( SELECT hno
  1769. ENG|09050305    |    12| E|                    FROM   reservation
  1770. ENG|09050305    |    13| E|                    WHERE  hotel.hno = reservation.hno )
  1771. ENG|09050305    |    15|RI|                                                                    ##09105704Syntax
  1772. ENG|09050306    |     1|  |    In Predicate
  1773. ENG|09050306    |     3| I|    The ##09105705<in^predicate> can be used to find out whether a value is contained
  1774. ENG|09050306    |     4|  |    in a given set of values or whether a list of values is contained in  a
  1775. ENG|09050306    |     5| I|    set  of list of values. The ##091055<subquery> used must produce a result table
  1776. ENG|09050306    |     6|  |    containing as many columns as are specified on the  left  side  of  the
  1777. ENG|09050306    |     7|  |    operator 'IN'.
  1778. ENG|09050306    |     9|  |    The  names  of those hotels are to be displayed which have either 10 or
  1779. ENG|09050306    |    10|  |    20 free rooms.
  1780. ENG|09050306    |    12| E|    SELECT name
  1781. ENG|09050306    |    13| E|    FROM   hotel, room
  1782. ENG|09050306    |    14| E|    WHERE  max_free IN ( 10, 20 ) AND
  1783. ENG|09050306    |    15|SE|           hotel.hno = room.hno
  1784. ENG|09050306    |    19|  |    The names of those hotels are to be  displayed  which  have  either  10
  1785. ENG|09050306    |    20|  |    double rooms or 20 single rooms.
  1786. ENG|09050306    |    22| E|    SELECT name
  1787. ENG|09050306    |    23| E|    FROM   hotel, room
  1788. ENG|09050306    |    24| E|    WHERE  (roomtype, max_free) IN ( ('DOUBLE', 10), ('SINGLE', 20) ) AND
  1789. ENG|09050306    |    25| E|           hotel.hno = room.hno
  1790. ENG|09050306    |    27|RI|                                                                    ##09105705Syntax
  1791. ENG|09050307    |     1|  |    Join Predicate
  1792. ENG|09050307    |     3| I|    The  ##09105706<join^predicate>  is  used  for specifying a join. The join can be
  1793. ENG|09050307    |     4|  |    specified without, with one or with two <outer join indicator>s.
  1794. ENG|09050307    |     6|  |    The names of all hotels and their reservations  are  to  be  displayed,
  1795. ENG|09050307    |     7|  |    independently of whether a reservation exists for a hotel or not.
  1796. ENG|09050307    |     9| E|    SELECT name, arrival, departure
  1797. ENG|09050307    |    10| E|    FROM   hotel, reservation
  1798. ENG|09050307    |    11| E|    WHERE  hotel.hno = reservation.hno (+)
  1799. ENG|09050307    |    13|RI|                                                                    ##09105706Syntax
  1800. ENG|09050308    |     1|  |    Like Predicate
  1801. ENG|09050308    |     3| I|    The  ##09105707<like^predicate>  searches  for  character  strings  which  have a
  1802. ENG|09050308    |     4|  |    particular pattern. When specifying the pattern, '_' and '?' stand  for
  1803. ENG|09050308    |     5|  |    exactly  one  arbitrary  character,  '%'  and  '*' for 0 to n arbitrary
  1804. ENG|09050308    |     6|  |    characters. Ranges and lists of valid characters can be  specified.  If
  1805. ENG|09050308    |     7| I|    ESCAPE  is  specified,  the pertinent ##090502<expression> must produce exactly
  1806. ENG|09050308    |     8|  |    one character. If this ESCAPE  character  is  contained  in  the  <like
  1807. ENG|09050308    |     9|S |    expression>, the subsequent character (e.g. '%') stands for itself.
  1808. ENG|09050308    |    19|  |    A  character  string  having  any number of characters which begin with
  1809. ENG|09050308    |    20|  |    'A', 'B' or 'C' and end with 'n' or 'r' is to be searched.
  1810. ENG|09050308    |    22|  |    SELECT name
  1811. ENG|09050308    |    23|  |    FROM   testtable
  1812. ENG|09050308    |    24|  |    WHERE  name LIKE '(A-C)%(nr)'
  1813. ENG|09050308    |    26|  |    A character string having any number of characters is to  be  searched,
  1814. ENG|09050308    |    27|  |    whereby the character string must contain an '_'.
  1815. ENG|09050308    |    29| E|    SELECT name
  1816. ENG|09050308    |    30| E|    FROM   testtable
  1817. ENG|09050308    |    31| E|    WHERE  name LIKE '%:_%' ESCAPE ':'
  1818. ENG|09050308    |    33|RI|                                                                    ##09105707Syntax
  1819. ENG|09050309    |     1|  |    Null Predicate
  1820. ENG|09050309    |     3| I|    The ##09105708<null^predicate> specifies a test for the NULL value.
  1821. ENG|09050309    |     5|  |    The  complete  data of those customers is to be displayed for which the
  1822. ENG|09050309    |     6|  |    column firstname contains the NULL value.
  1823. ENG|09050309    |     8| E|    SELECT *
  1824. ENG|09050309    |     9| E|    FROM   customer
  1825. ENG|09050309    |    10| E|    WHERE  firstname IS NULL
  1826. ENG|09050309    |    12|RI|                                                                    ##09105708Syntax
  1827. ENG|09050310    |     1|  |    Quantified Predicate
  1828. ENG|09050310    |     3| I|    The ##09105709<quantified^predicate> compares either a value to a set  of  values
  1829. ENG|09050310    |     4| I|    or  a  list of values with a set of list of values. The used ##091055<subquery>
  1830. ENG|09050310    |     5|  |    must produce a result table containing as many columns  as  values  are
  1831. ENG|09050310    |     6|  |    specified on the left side of the operator.
  1832. ENG|09050310    |     8|  |    The  names  of  those hotels are to be displayed for which at least one
  1833. ENG|09050310    |     9|  |    reservation exists.
  1834. ENG|09050310    |    11| E|    SELECT name
  1835. ENG|09050310    |    12| E|    FROM   hotel
  1836. ENG|09050310    |    13| E|    WHERE  hno = ANY ( SELECT hno
  1837. ENG|09050310    |    14|SE|                       FROM   reservation )
  1838. ENG|09050310    |    19|  |    The names and roomtypes of those hotels are to be displayed  for  which
  1839. ENG|09050310    |    20|  |    at least one reservation exists.
  1840. ENG|09050310    |    22| E|    SELECT name, roomtype
  1841. ENG|09050310    |    23| E|    FROM   hotel, room
  1842. ENG|09050310    |    24| E|    WHERE  (hno, roomtype) = ANY ( SELECT hno, roomtype
  1843. ENG|09050310    |    25| E|                                  FROM   reservation )
  1844. ENG|09050310    |    27|RI|                                                                    ##09105709Syntax
  1845. ENG|09050311    |     1|  |    Rowno Predicate
  1846. ENG|09050311    |     3| I|    The  ##09105710<rowno^predicate>  can  be  used to linmit the number of rows of a
  1847. ENG|09050311    |     4|  |    result table by specifying the  maximum  number  of  rows.  The  <rowno
  1848. ENG|09050311    |     5| I|    predicate>  may  only  be  used  in a ##09100104<where^clause> which belongs to a
  1849. ENG|09050311    |     6| I|    ##0910550102<query^spec>. In the <where clause>, it can  be  used  like  any  other
  1850. ENG|09050311    |     7|  |    <predicate>.  But  there  is the restriction that the <rowno predicate>
  1851. ENG|09050311    |     8|  |    must be logically combined with other predicates by AND, that  it  must
  1852. ENG|09050311    |     9|  |    not  be  negated  by NOT, and that it may occur only once in the <where
  1853. ENG|09050311    |    10|  |    clause>. To guarantee that these rules are met, it  is  recommended  to
  1854. ENG|09050311    |    11|  |    use the format
  1855. ENG|09050311    |    12|  |    WHERE <search condition> AND <rowno predicate>.
  1856. ENG|09050311    |    14| I|    If  a  <rowno predicate> and an ##09100107<order^clause> are specified, then only
  1857. ENG|09050311    |    15|  |    the first n result rows are searched and  sorted.  The  result  usually
  1858. ENG|09050311    |    16|  |    differs  from  that  which  would  have  been obtained without a <rowno
  1859. ENG|09050311    |    17|S |    predicate> specification and considering only the first n result rows.
  1860. ENG|09050311    |    19|  |    The names of some hotels are to be displayed, whereby the display is to
  1861. ENG|09050311    |    20|  |    be restricted to the first five result rows using the ROWNO predicate.
  1862. ENG|09050311    |    22| E|    SELECT name
  1863. ENG|09050311    |    23| E|    FROM   hotel
  1864. ENG|09050311    |    24| E|    WHERE  ROWNO < 6
  1865. ENG|09050311    |    26|RI|                                                                    ##09105710Syntax
  1866. ENG|09050312    |     1|  |    Sounds Predicate
  1867. ENG|09050312    |     3| I|    The ##09105711<sounds^predicate> specifies a phonetic  comparison.  The  phonetic
  1868. ENG|09050312    |     4|  |    comparison  is  carried  out  according  to the SOUNDEX algorithm. When
  1869. ENG|09050312    |     5|  |    doing so, all vowels and  some  consonants  are  eliminated,  then  all
  1870. ENG|09050312    |     6|  |    consonants  which  are  similar  in sound are mapped to each other. See
  1871. ENG|09050312    |     7| I|    also the function ##0905010214SOUNDEX.
  1872. ENG|09050312    |     9|  |    All customers who are named "Meier" (indepedently of  the  spelling  of
  1873. ENG|09050312    |    10|  |    the names) are to be displayed.
  1874. ENG|09050312    |    12| E|    SELECT name
  1875. ENG|09050312    |    13| E|    FROM   testtable
  1876. ENG|09050312    |    14| E|    WHERE  name SOUNDS LIKE 'meier'
  1877. ENG|09050312    |    16|RI|                                                                    ##09105711Syntax
  1878. ENG|09050313    |     1|  |    Bool Predicate
  1879. ENG|09050313    |     3| I|    The ##09105712<bool^predicate> specifies a comparison between two Boolean values.
  1880. ENG|09050313    |     5|  |    SELECT name
  1881. ENG|09050313    |     6|  |    FROM   customertable
  1882. ENG|09050313    |     7|  |    WHERE  trustworthy IS TRUE
  1883. ENG|09050313    |     9|RI|                                                                    ##09105712Syntax
  1884. ENG|090504      |     1|  |    Search Condition
  1885. ENG|090504      |     3| I|    A  ##091056<search^condition>  combines conditions which can be 'true', 'false'
  1886. ENG|090504      |     4|  |    or 'unknown'.
  1887. ENG|090504      |     6|  |    All hotels offering single rooms and/or suites are to be displayed.
  1888. ENG|090504      |     8| E|    SELECT hotel.name, room.roomtype, room.price
  1889. ENG|090504      |     9| E|    FROM   hotel, room
  1890. ENG|090504      |    10| E|    WHERE  hotel.hno = room.hno
  1891. ENG|090504      |    11| E|    AND    (room.roomtype = 'SINGLE' OR room.roomtype = 'SUITE' )
  1892. ENG|090504      |    13|RI|                                                                    ##091056Syntax
  1893. ENG|0906        |     1|  |                             Transaction Concept
  1894. ENG|0906        |     2|  |                             -------------------
  1895. ENG|0906        |     4| I|                  ##0901Connecting^and^Disconnecting
  1896. ENG|0906        |     5| M|                  #01Concluding^a^Transaction         (COMMIT)
  1897. ENG|0906        |     6| M|                  #02Cancelling^a^Transaction         (ROLLBACK)
  1898. ENG|0906        |     7| M|                  #03Subtransactions                  (SUBTRANS)
  1899. ENG|0906        |     8| I|                  ##090103ISOLATION^LEVEL
  1900. ENG|0906        |     9| M|                  #04Setting^Locks                    (LOCK)
  1901. ENG|0906        |    10|RM|                  #05Releasing^Locks                  (UNLOCK)
  1902. ENG|090601      |     1|  |    Concluding a Transaction
  1903. ENG|090601      |     3| I|    The ##091029<commit^statement> concludes the current transaction.  This  means,
  1904. ENG|090601      |     4|  |    modifications performed within this transaction are permanently stored,
  1905. ENG|090601      |     5|  |    thus  having  been  made  visible  to  concurrent  users.  The  <commit
  1906. ENG|090601      |     6|  |    statement> implicitly opens a new transaction. Any  locks  set,  either
  1907. ENG|090601      |     7|  |    implicitly  or  explicitly, within this new transaction are assigned to
  1908. ENG|090601      |     8|  |    this transaction.
  1909. ENG|090601      |    10|  |    After inserting a new data row into the table reservation, the  current
  1910. ENG|090601      |    11|  |    transaction is to be concluded and a new one to be opened.
  1911. ENG|090601      |    13| E|    INSERT INTO customer
  1912. ENG|090601      |    14| E|    VALUES ( 6837, 'Mrs', 'Martina', 'Mulligan',
  1913. ENG|090601      |    15| E|             77908, 'Brighton Road, 3', 6800 )
  1914. ENG|090601      |    16| E|    /
  1915. ENG|090601      |    17| E|    COMMIT
  1916. ENG|090601      |    18|RI|                                                                    ##091029Syntax
  1917. ENG|090602      |     1|  |    Cancelling a Transaction
  1918. ENG|090602      |     3| I|    The  ##091029<rollback^statement>  aborts  the  current transaction. This means
  1919. ENG|090602      |     4|  |    that any database modifications performed within  the  transaction  are
  1920. ENG|090602      |     5|  |    cancelled. The <rollback statement> implicitly opens a new transaction.
  1921. ENG|090602      |     6|  |    Any  locks  set,  either  implicitly  or  explicitly,  within  this new
  1922. ENG|090602      |     7|  |    transaction  are  assigned  to  this  transaction.  All  result  tables
  1923. ENG|090602      |     8|  |    generated within the current transaction are implicitly closed when the
  1924. ENG|090602      |     9|S |    transaction is ended by means of the <rollback statement>.
  1925. ENG|090602      |    19|  |    After  inserting  a  new  data  row,  this is not to be recorded in the
  1926. ENG|090602      |    20|  |    database; the current transaction is therefore to be  cancelled  and  a
  1927. ENG|090602      |    21|  |    new one to be opened.
  1928. ENG|090602      |    23| E|    INSERT customer
  1929. ENG|090602      |    24| E|    VALUES ( 3418, 'Mr', 'Ronald', 'White', 22525,
  1930. ENG|090602      |    25| E|             'Niagara Avenue, 75', 3200 )
  1931. ENG|090602      |    26| E|    /
  1932. ENG|090602      |    27| E|    ROLLBACK
  1933. ENG|090602      |    29|RI|                                                                    ##091029Syntax
  1934. ENG|090603      |     1|  |    Subtransactions
  1935. ENG|090603      |     3| I|    The  ##09102901<subtrans^statement> can be used to open subtransactions, to issue
  1936. ENG|090603      |     4|  |    any sequence of SQL statements within  these  subtransactions,  and  to
  1937. ENG|090603      |     5|  |    record  (to  end the subtransaction with SUBTRANS END) or to cancel (to
  1938. ENG|090603      |     6|  |    end the subtransaction with SUBTRANS ROLLBACK) the effects of these SQL
  1939. ENG|090603      |     7|  |    statements in the database.
  1940. ENG|090603      |     9|  |    Modifications of the database  made  and  recorded  by  subtransactions
  1941. ENG|090603      |    10|  |    within  a  transaction  can  be  cancelled  again  by  rolling back the
  1942. ENG|090603      |    11|  |    transaction.   Modifications   of   the   database   rolled   back   by
  1943. ENG|090603      |    12|  |    subtransactions  within  a  transaction,  remain  cancelled even if the
  1944. ENG|090603      |    13|S |    transaction is permanently stored.
  1945. ENG|090603      |    19|  |    A subtransaction is to  be  opened;  within  this  subtransaction,  the
  1946. ENG|090603      |    20|  |    database  is  to be modified and the state of the database before these
  1947. ENG|090603      |    21|  |    modifications is to be restored.
  1948. ENG|090603      |    23| E|    SUBTRANS BEGIN
  1949. ENG|090603      |    24| E|    /
  1950. ENG|090603      |    25| E|    UPDATE account SET activities = activities * 1.15
  1951. ENG|090603      |    26| E|    /
  1952. ENG|090603      |    27| E|    SELECT activities
  1953. ENG|090603      |    28| E|    FROM   account
  1954. ENG|090603      |    29| E|    WHERE  activities > 5000
  1955. ENG|090603      |    30| E|    /
  1956. ENG|090603      |    31| E|    SUBTRANS ROLLBACK
  1957. ENG|090603      |    33|RI|                                                                    ##09102901Syntax
  1958. ENG|090604      |     1|  |    The LOCK Command
  1959. ENG|090604      |     3| I|    The ##09102902<lock^statement> can be used to set SHARE or EXCLUSIVE locks either
  1960. ENG|090604      |     4|  |    on individual table rows or on the  entire  table.  A  set  SHARE  lock
  1961. ENG|090604      |     5|  |    enables  other  users to read the locked object, but prevents them from
  1962. ENG|090604      |     6|  |    modifying it. A set EXCLUSIVE lock also prevents the locked object from
  1963. ENG|090604      |     7|  |    being read by other users. If an OPTIMISTIC lock is set to a row,  then
  1964. ENG|090604      |     8|  |    this  row  can  only  be  changed  when it has not been modified in the
  1965. ENG|090604      |     9|  |    meantime by other users; otherwise the modification operation  will  be
  1966. ENG|090604      |    10|  |    rejected.
  1967. ENG|090604      |    12|  |    Before  making  modifications  to  a  row  of  the  customer  table, an
  1968. ENG|090604      |    13|  |    OPTIMISTIC lock is to be set for this row.
  1969. ENG|090604      |    15| E|    LOCK ROW customer KEY cno = 3700 OPTIMISTIC
  1970. ENG|090604      |    17|RI|                                                                    ##09102902Syntax
  1971. ENG|090605      |     1|  |    The UNLOCK Command
  1972. ENG|090605      |     3| I|    The ##09102903<unlock^statement> can be used  within  a  transaction  to  release
  1973. ENG|090605      |     4|  |    SHARE  locks,  optimistic  locks, and EXCLUSIVE locks set on individual
  1974. ENG|090605      |     5|  |    table rows which have not yet been modified. An EXCLUSIVE  lock  for  a
  1975. ENG|090605      |     6|  |    row  which has been inserted, updated, or deleted cannot be released by
  1976. ENG|090605      |     7|  |    using the <unlock statement>; it will be released automatically at  the
  1977. ENG|090605      |     8|  |    end of the transaction.
  1978. ENG|090605      |    10|  |    A SHARE lock set on a row of the customer table is to be released.
  1979. ENG|090605      |    12| E|    UNLOCK ROW customer KEY cno = 3800 IN SHARE MODE
  1980. ENG|090605      |    14|RI|                                                                    ##09102903Syntax
  1981. ENG|0907        |     1|  |                                Authorization
  1982. ENG|0907        |     2|  |                                -------------
  1983. ENG|0907        |     4| M|         #01Creating^a^Usergroup                  (CREATE USERGROUP)
  1984. ENG|0907        |     5| M|         #02Creating^a^User                       (CREATE USER)
  1985. ENG|0907        |     6| M|         #03Copying^a^User^Definition             (CREATE USER LIKE)
  1986. ENG|0907        |     7| M|         #04Altering^Users^and^Usergroups         (ALTER USER/USERGROUP)
  1987. ENG|0907        |     8| M|         #05Dropping^a^User^Definition            (DROP USER)
  1988. ENG|0907        |     9| M|         #06Dropping^a^Usergroup                  (DROP USERGROUP)
  1989. ENG|0907        |    10| M|         #07Altering^the^Password                 (ALTER PASSWORD)
  1990. ENG|0907        |    11| M|         #08Owner^Authorization
  1991. ENG|0907        |    12|RM|         #09Access^Authorization
  1992. ENG|090701      |     1|  |    Creating a Usergroup
  1993. ENG|090701      |     3| I|    The  ##09103001<create^usergroup^statement> allows a usergroup to be defined. All
  1994. ENG|090701      |     4|  |    members of this usergroup have  identical  privileges  and  can  access
  1995. ENG|090701      |     5|  |    common  tables  that  belong  to  the  group. It is not possible that a
  1996. ENG|090701      |     6|  |    member of the usergroup has private tables that are not  accessible  to
  1997. ENG|090701      |     7|  |    the  other members of the group. All the tables defined by members of a
  1998. ENG|090701      |     8|  |    usergroup automatically belong to the group. It is not possible  either
  1999. ENG|090701      |     9|  |    to  grant privileges to a member of the group; they can only be granted
  2000. ENG|090701      |    10|  |    to a usergroup, this is to all members of the group. If a usergroup has
  2001. ENG|090701      |    11|  |    been defined, the pertinent  users  can  be  defined  by  a  subsequent
  2002. ENG|090701      |    12|SI|    ##090702<create^user^statement>.
  2003. ENG|090701      |    19|  |    A usergroup with a specific profile is to be defined.
  2004. ENG|090701      |    21| E|    CREATE USERGROUP purchase
  2005. ENG|090701      |    22| E|      STANDARD
  2006. ENG|090701      |    23| E|      PERMLIMIT      200
  2007. ENG|090701      |    24| E|      TEMPLIMIT      200
  2008. ENG|090701      |    25| E|      TIMEOUT        500
  2009. ENG|090701      |    26| E|      COSTWARNING    3000
  2010. ENG|090701      |    27| E|      COSTLIMIT      4000
  2011. ENG|090701      |    28| E|      CACHELIMIT     500
  2012. ENG|090701      |    29| E|      NOT EXCLUSIVE
  2013. ENG|090701      |    30| E|      AT proddb
  2014. ENG|090701      |    32|RI|                                                                    ##09103001Syntax
  2015. ENG|09070101    |     1|  |    <user mode>: { STANDARD | RESOURCE | DBA }
  2016. ENG|09070101    |     3|  |    The  <user  mode>  specifies  the  user  class  of  the defined user or
  2017. ENG|09070101    |     4|  |    usergroup. It defines which operations on the database may be performed
  2018. ENG|09070101    |     5|  |    by the defined user or usergroup.
  2019. ENG|09070101    |     7|  |    If the user class STANDARD  is  specified,  aside  from  defining  view
  2020. ENG|09070101    |     8|  |    tables,  synonyms, and temporary tables, the user or usergroup can only
  2021. ENG|09070101    |     9|  |    access private data created by  other  users  for  which  the  user  or
  2022. ENG|09070101    |    10|  |    usergroup has been granted the appropriate privileges.
  2023. ENG|09070101    |    12|  |    If  the  user  class  RESOURCE  is  specified,  the  indicated  user or
  2024. ENG|09070101    |    13|  |    usergroup obtains the right, in  addition  to  the  privileges  of  the
  2025. ENG|09070101    |    14|  |    STANDARD  class,  to define private data and DB procedures and to grant
  2026. ENG|09070101    |    15|S |    other users privileges for these objects.
  2027. ENG|09070101    |    19|  |    Usergroups are not possible in the user class DBA.
  2028. ENG|09070101    |    20|  |    If the user class DBA is specified,  the  indicated  user  obtains  the
  2029. ENG|09070101    |    21|  |    right,  in  addition to the privileges of the RESOURCE class, to define
  2030. ENG|09070101    |    22|  |    further users. The status DBA can only be conferred by the  SYSDBA  who
  2031. ENG|09070101    |    23|R |    is created during the ADABAS installation.
  2032. ENG|09070102    |     1|  |    PERMLIMIT
  2033. ENG|09070102    |     3|  |    The specification of a PERMLIMIT can be used to restrict the disk space
  2034. ENG|09070102    |     4|  |    available  to  a user of the DBA class or to a user or usergroup of the
  2035. ENG|09070102    |     5|  |    RESOURCE class.
  2036. ENG|09070102    |     7|  |    TEMPLIMIT
  2037. ENG|09070102    |     9|  |    The specification of a TEMPLIMIT can be used to restrict the disk space
  2038. ENG|09070102    |    10|  |    available to a user or usergroup for the generation of temporary result
  2039. ENG|09070102    |    11|  |    tables, temporary base tables, and for execution plans.
  2040. ENG|09070102    |    13|  |    TIMEOUT
  2041. ENG|09070102    |    15|  |    The TIMEOUT value defines the maximum time that may  pass  between  the
  2042. ENG|09070102    |    16|  |    completion  of  one  <sql  statement>  and the issuing of the next <sql
  2043. ENG|09070102    |    17|R |    statement>.
  2044. ENG|09070103    |     1|  |    COSTWARNING and COSTLIMIT
  2045. ENG|09070103    |     3|  |    COSTWARNING and COSTLIMIT specifications limit costs  by  preventing  a
  2046. ENG|09070103    |     4|  |    user   or  usergroup  from  executing  <query  statement>s  or  <insert
  2047. ENG|09070103    |     5|  |    statement>s in the form INSERT...SELECT... beyond a specified degree of
  2048. ENG|09070103    |     6|  |    complexity.
  2049. ENG|09070103    |     8|  |    CACHELIMIT
  2050. ENG|09070103    |    10|  |    CACHELIMIT specifies the maximum cache size available to  the  user  or
  2051. ENG|09070103    |    11|  |    usergroup  for  result  tables,  temporary  base  tables, and execution
  2052. ENG|09070103    |    12|R |    plans.
  2053. ENG|09070104    |     1|  |    [ NOT ] EXCLUSIVE
  2054. ENG|09070104    |     3|  |    When EXCLUSIVE is specified, the user or usergroup may  not  open  more
  2055. ENG|09070104    |     4|  |    than  one  ADABAS  session. The specification NOT EXCLUSIVE enables the
  2056. ENG|09070104    |     5|  |    user to open several simultaneous sessions.
  2057. ENG|09070104    |     7|  |    AT <serverdb name>
  2058. ENG|09070104    |     9|  |    AT <serverdb name> assigns a HOME SERVERDB to the  user  or  usergroup.
  2059. ENG|09070104    |    10|  |    <serverdb  name>  must  identify  a  SERVERDB  known in the distributed
  2060. ENG|09070104    |    11|  |    database. The HOME SERVERDB of the user is the storage location of  any
  2061. ENG|09070104    |    12|  |    table  rows  created  by the user; i.e., it is the HOME SERVERDB of all
  2062. ENG|09070104    |    13|  |    tables generated by the user or usergroup. If HOME SERVERDB is omitted,
  2063. ENG|09070104    |    14|  |    the user is assigned the HOME SERVERDB of the user's  owner.  The  only
  2064. ENG|09070104    |    15|  |    HOME  SERVERDB  which  can  be assigned to users with DBA status is the
  2065. ENG|09070104    |    16|R |    HOME SERVERDB of the generating SYSDBA.
  2066. ENG|090702      |     1|  |    Creating a User (CREATE USER)
  2067. ENG|090702      |     3|  |    New   users   in   the   database   are   created    by    using    the
  2068. ENG|090702      |     4| I|    ##091030<create^user^statement>. New users can only be created by the SYSDBA of
  2069. ENG|090702      |     5|  |    a  SERVERDB or by users with DBA status. The user issuing the statement
  2070. ENG|090702      |     6|S |    obtains the owner privilege for the newly created user.
  2071. ENG|090702      |    19|  |    A user with DBA status defines a new database user with  an  individual
  2072. ENG|090702      |    20|  |    user profile.
  2073. ENG|090702      |    22|  |    CREATE USER alfred PASSWORD jellyfish
  2074. ENG|090702      |    23| I|      ##09070101RESOURCE
  2075. ENG|090702      |    24| I|      ##09070102PERMLIMIT      20
  2076. ENG|090702      |    25| I|      ##09070102TEMPLIMIT      20
  2077. ENG|090702      |    26| I|      ##09070102TIMEOUT        0
  2078. ENG|090702      |    27| I|      ##09070103COSTWARNING    3000
  2079. ENG|090702      |    28| I|      ##09070103COSTLIMIT      4000
  2080. ENG|090702      |    29| I|      ##09070103CACHELIMIT     45
  2081. ENG|090702      |    30| I|      ##09070103NOT^EXCLUSIVE
  2082. ENG|090702      |    31| I|      ##09070104AT proddb
  2083. ENG|090702      |    33|  |    A new user is to be added to the usergroup purchase.
  2084. ENG|090702      |    35| E|    CREATE USER bernd PASSWORD colombo USERGROUP purchase
  2085. ENG|090702      |    36|RI|                                                                    ##091030Syntax
  2086. ENG|090703      |     1|  |    Copying a User Definition
  2087. ENG|090703      |     3| I|    The  ##091030<create^user^statement>  allows the profile of an existing user to
  2088. ENG|090703      |     4|  |    be used as a model for the creation of a  new  user.  The  user  to  be
  2089. ENG|090703      |     5|  |    created  newly  receives  a  profile that is identical with that of the
  2090. ENG|090703      |     6|  |    model user. If the user serving as a model is a member of a  usergroup,
  2091. ENG|090703      |     7|  |    then the new user will also be a member of the same usergroup.
  2092. ENG|090703      |     9| E|    CREATE USER barbara PASSWORD barbara LIKE alfred
  2093. ENG|090703      |    11|RI|                                                                    ##091030Syntax
  2094. ENG|090704      |     1|  |    Altering Users and Usergroups
  2095. ENG|090704      |     3| I|    The  ##09103002<alter^user^statement>  can  be used to change all parameters that
  2096. ENG|090704      |     4| I|    are assigned to a user. Similarly, the ##0910300201<alter^usergroup^statement>  can
  2097. ENG|090704      |     5|  |    be  used  to  change all parameters that are assigned to a usergroup. A
  2098. ENG|090704      |     6|  |    parameter can be assigned either  a  new  value  or  zero;  i.e.,  this
  2099. ENG|090704      |     7|  |    parameter  is  considered  to  be  infinite  (within  the  scope of the
  2100. ENG|090704      |     8|  |    configuration of the database).
  2101. ENG|090704      |    10|  |    The profile of the user alfred is to be altered.
  2102. ENG|090704      |    12| E|    ALTER USER alfred DBA
  2103. ENG|090704      |    13| E|       PERMLIMIT    1000
  2104. ENG|090704      |    14| E|       COSTWARNING  NULL
  2105. ENG|090704      |    15| E|       COSTLIMIT    7500
  2106. ENG|090704      |    16| E|       CACHELIMIT   500
  2107. ENG|090704      |    18|RI|                                                                    ##09103002Syntax
  2108. ENG|090705      |     1|  |    Dropping a User Definition
  2109. ENG|090705      |     3| I|    The ##09103003<drop^user^statement> can be used to drop a user. If the user to be
  2110. ENG|090705      |     4|  |    dropped does  not  belong  to  a  usergroup  and  if  RESTRICT  is  not
  2111. ENG|090705      |     5|  |    specified,  the  following  data  is  dropped:  the  user,  the  user's
  2112. ENG|090705      |     6|  |    password, the private data  generated  by  this  user,  all  user  data
  2113. ENG|090705      |     7|  |    relating  to  this  private  data, all privileges granted by or to this
  2114. ENG|090705      |     8|  |    user. In particular, any view definitions and synonyms related  to  the
  2115. ENG|090705      |     9|  |    private data are dropped.
  2116. ENG|090705      |    10|  |    If  RESTRICT  was specified and the user owns private data, the user is
  2117. ENG|090705      |    11|  |    not dropped.
  2118. ENG|090705      |    12|  |    When a user with DBA status is dropped,  any  users  generated  by  him
  2119. ENG|090705      |    13|  |    remain  untouched.  The  SYSDBA of the HOME SERVERDB of the dropped DBA
  2120. ENG|090705      |    14|S |    becomes the new owner of this user.
  2121. ENG|090705      |    19|  |    If the user to be dropped belongs to a usergroup, then the user and the
  2122. ENG|090705      |    20|  |    user's password are dropped.
  2123. ENG|090705      |    22|  |    The user alfred is to be dropped.
  2124. ENG|090705      |    24| E|    DROP USER alfred
  2125. ENG|090705      |    26|RI|                                                                    ##09103003Syntax
  2126. ENG|090706      |     1|  |    Dropping a Usergroup
  2127. ENG|090706      |     3| I|    The  ##09103004<drop^usergroup^statement>  can  be  used  to  drop   a   complete
  2128. ENG|090706      |     4|  |    usergroup.  The following data is dropped if RESTRICT is not specified:
  2129. ENG|090706      |     5|  |    the usergroup, all users belonging to the usergroup  along  with  their
  2130. ENG|090706      |     6|  |    passwords,  any  private  data created by members of the usergroup, all
  2131. ENG|090706      |     7|  |    data related to this private data for all users, any privileges granted
  2132. ENG|090706      |     8|  |    by members of the usergroup as well as any privileges  granted  to  the
  2133. ENG|090706      |     9|  |    usergroup.  In particular, all view definitions and synonyms related to
  2134. ENG|090706      |    10|  |    the private data are dropped.
  2135. ENG|090706      |    11|  |    If RESTRICT was specified and the  usergroup  owns  private  data,  the
  2136. ENG|090706      |    12|  |    usergroup is not dropped.
  2137. ENG|090706      |    14|  |    The usergroup purchase is to be dropped.
  2138. ENG|090706      |    16| E|    DROP USERGROUP purchase
  2139. ENG|090706      |    18|RI|                                                                    ##09103004Syntax
  2140. ENG|090707      |     1|  |    Altering the Password
  2141. ENG|090707      |     3| I|    The  ##09103005<alter^password^statement>  can be used to alter the password of a
  2142. ENG|090707      |     4|  |    user. The password can be altered by the user himself  or  it  must  be
  2143. ENG|090707      |     5|  |    redefined  for a user by the SYSDBA. If it is the SYSDBA who alters the
  2144. ENG|090707      |     6|  |    password of a user, he must either be the SYSDBA  of  the  user's  HOME
  2145. ENG|090707      |     7|  |    SERVERDB or the SYSDBA of the HOME SERVERDB of the user's owner.
  2146. ENG|090707      |     9|  |    The user alfred wants to alter his password.
  2147. ENG|090707      |    11| E|    ALTER PASSWORD alfred TO jupidooh
  2148. ENG|090707      |    13|  |    The  user  alfred  has  forgotten  his password. The SYSDBA of his HOME
  2149. ENG|090707      |    14|  |    SERVERDB defines a new password for him.
  2150. ENG|090707      |    16|  |    ALTER PASSWORD alfred catfish
  2151. ENG|090707      |    17|RI|                                                                    ##09103005Syntax
  2152. ENG|090708      |     1|  |    Owner Authorization
  2153. ENG|090708      |     3| I|    The ##09103006<grant^user^statement> can be used to grant the owner authorization
  2154. ENG|090708      |     4|  |    that the SYSDBA or a DBA has for a user to another  DBA.  In  the  same
  2155. ENG|090708      |     5| I|    way,  the  ##09103006<grant^usergroup^statement>  can  be used to grant the owner
  2156. ENG|090708      |     6|  |    authorization that a DBA has for a usergroup to another DBA.
  2157. ENG|090708      |     8| E|    GRANT barbara FROM localdba TO newdba
  2158. ENG|090708      |    10|RI|                                                                    ##09103006Syntax
  2159. ENG|090709      |     1|  |                                Access Rights
  2160. ENG|090709      |     2|  |                                -------------
  2161. ENG|090709      |     4| M|     #01General
  2162. ENG|090709      |     5| M|     #02Granting^Access^Rights^for^Tables^and^Columns        (GRANT)
  2163. ENG|090709      |     6| M|     #03Granting^Access^Rights^for^DB^Procedures             (GRANT EXECUTE)
  2164. ENG|090709      |     7|RM|     #04Revoking^Access^Rights                               (REVOKE)
  2165. ENG|09070901    |     1|  |    General
  2166. ENG|09070901    |     3|  |    Access to the data can be controlled in a  very  sophisticated  way  by
  2167. ENG|09070901    |     4|  |    granting  different  privileges  on  tables,  individual  columns or DB
  2168. ENG|09070901    |     5|  |    procedures. Privileges allow data to be accessed which are not owned by
  2169. ENG|09070901    |     6|  |    the accessing users. GRANT  EXECUTE  enables  the  specified  users  to
  2170. ENG|09070901    |     7|  |    execute  the  DB  procedure <db procedure>. For the execution of the DB
  2171. ENG|09070901    |     8|  |    procedure, these users are given all privileges which are required  for
  2172. ENG|09070901    |     9|  |    the  regular  execution of the DB procedure. These privileges, however,
  2173. ENG|09070901    |    10|  |    are only valid during the execution of the DB procedure. In  this  way,
  2174. ENG|09070901    |    11|  |    it is possible to give a user access to data for which he actually does
  2175. ENG|09070901    |    12|R |    not have any access right.
  2176. ENG|09070902    |     1|  |    Granting Access Rights for Tables and Columns (GRANT)
  2177. ENG|09070902    |     3| I|    The  ##09103007<grant^statement>  enables  a  user  to  grant  privileges for the
  2178. ENG|09070902    |     4|  |    specified tables. For base tables, the owner  of  the  table  has  this
  2179. ENG|09070902    |     5|  |    authorization.  For  view tables and snapshot tables, even the owner is
  2180. ENG|09070902    |     6|  |    not always authorized to grant all the privileges. Which  privileges  a
  2181. ENG|09070902    |     7|  |    user  may  grant  is  determined  by ADABAS upon generation of the view
  2182. ENG|09070902    |     8|  |    table. The result depends on the type of the view table, as well as  on
  2183. ENG|09070902    |     9|  |    the  user's  specific  privileges  for  the tables selected in the view
  2184. ENG|09070902    |    10|  |    table or snapshot table. The owner of the view table can find  out  the
  2185. ENG|09070902    |    11|  |    privileges  he  is  allowed  to  grant  by  selecting  the system table
  2186. ENG|09070902    |    12|  |    DOMAIN.PRIVILEGES.
  2187. ENG|09070902    |    14|  |    The owner of the table account (sqltravel00) grants all  privileges  to
  2188. ENG|09070902    |    15|  |    the user sqltravel20.
  2189. ENG|09070902    |    17|SE|    GRANT ALL ON account TO sqltravel20
  2190. ENG|09070902    |    19|  |    The owner of the table customer (sqltravel00) grants some privileges to
  2191. ENG|09070902    |    20|  |    the  user sqltravel20. In addition, the user sqltravel20 gets the right
  2192. ENG|09070902    |    21|  |    to grant the privileges obtained to other users.
  2193. ENG|09070902    |    23| M|    GRANT #01INSERT, #01DELETE, #01INDEX, #01ALTER, #01REFERENCES
  2194. ENG|09070902    |    24|  |      ON customer TO sqltravel20 WITH GRANT OPTION
  2195. ENG|09070902    |    26|  |    The owner of the table customer (sqltravel00)  grants  some  privileges
  2196. ENG|09070902    |    27|  |    for some columns of the table customer to the user sqltravel10.
  2197. ENG|09070902    |    29| M|    GRANT #01UPDATE (zip, address), #01SELECT (cno, firstname, name, zip,
  2198. ENG|09070902    |    30|  |      address) ON customer TO sqltravel20
  2199. ENG|09070902    |    32|RI|                                                                    ##09103007Syntax
  2200. ENG|0907090201  |     1|  |    The INSERT Privilege, the DELETE Privilege
  2201. ENG|0907090201  |     3|  |    The privileges authorize the specified users either to insert rows into
  2202. ENG|0907090201  |     4|  |    or to delete rows from the specified tables.
  2203. ENG|0907090201  |     6|  |    The UPDATE Privilege, the SELECT Privilege
  2204. ENG|0907090201  |     8|  |    The  privileges  authorize the specified users either to update rows in
  2205. ENG|0907090201  |     9|  |    or to select rows from the specified tables. If a sequence  of  <column
  2206. ENG|0907090201  |    10|  |    name>s  is specified, then only the specified columns can be updated or
  2207. ENG|0907090201  |    11|  |    selected in the rows.
  2208. ENG|0907090201  |    13|  |    The SELUPD Privilege
  2209. ENG|0907090201  |    15|  |    SELUPD grants the privileges  SELECT  and  UPDATE.  If  a  sequence  of
  2210. ENG|0907090201  |    16|  |    <column  name>s  is  specified,  then only the specified columns can be
  2211. ENG|0907090201  |    17|S |    updated and selected in the rows.
  2212. ENG|0907090201  |    19|  |    The INDEX Privilege
  2213. ENG|0907090201  |    21|  |    The INDEX privilege authorizes  the  specified  users  to  execute  the
  2214. ENG|0907090201  |    22| I|    ##091018<create^index^statement>   and   the   ##091018<drop^index^statement>  for  the
  2215. ENG|0907090201  |    23|  |    specified tables.
  2216. ENG|0907090201  |    25|  |    The ALTER Privilege
  2217. ENG|0907090201  |    27|  |    The ALTER privilege authorizes  the  specified  users  to  execute  the
  2218. ENG|0907090201  |    28| I|    ##091011<alter^table^statement> for the specified tables.
  2219. ENG|0907090201  |    30|  |    The REFERENCES Privilege
  2220. ENG|0907090201  |    32|  |    The  REFERENCES privilege authorizes the specified users to specify the
  2221. ENG|0907090201  |    33|  |    table <table name> as <referenced table> in a  <column  definition>  or
  2222. ENG|0907090201  |    34|R |    <referential constraint definition>.
  2223. ENG|09070903    |     1|  |    Granting Access Rights for DB Procedures  (GRANT EXECUTE)
  2224. ENG|09070903    |     3| I|    ##09103008GRANT^EXECUTE   authorizes  the  specified  users  to  execute  the  DB
  2225. ENG|09070903    |     4|  |    procedure <db procedure>. <db procedure> must be a  DB  procedure  that
  2226. ENG|09070903    |     5|  |    was  generated by the executing user. When a DB procedure is translated
  2227. ENG|09070903    |     6|  |    by the corresponding ADABAS component, ADABAS checks whether the  owner
  2228. ENG|09070903    |     7|  |    of  the DB procedure is authorized to grant all privileges required for
  2229. ENG|09070903    |     8|  |    the execution of this DB procedure to other users. If this is  not  the
  2230. ENG|09070903    |     9|  |    case,  the  <grant  statement>  fails.  Otherwise,  the specified users
  2231. ENG|09070903    |    10|  |    implicitly obtain all privileges needed for the  execution  of  the  DB
  2232. ENG|09070903    |    11|  |    procedure.  These privileges, however, are only valid for the execution
  2233. ENG|09070903    |    12|  |    of the DB procedure; i.e., in programs or sessions with the interactive
  2234. ENG|09070903    |    13|  |    ADABAS components, they are  not  available  to  the  specified  users,
  2235. ENG|09070903    |    14|S |    unless they have been granted explicitly to them.
  2236. ENG|09070903    |    19|  |    The  user  sqltravel00 has generated a DB procedure customer.insert. He
  2237. ENG|09070903    |    20|  |    wants to grant the execute privilege for this DB procedure to the  user
  2238. ENG|09070903    |    21|  |    sqltravel10.
  2239. ENG|09070903    |    23| E|    GRANT EXECUTE ON customer.insert TO sqltravel10
  2240. ENG|09070903    |    25|RI|                                                                    ##09103008Syntax
  2241. ENG|09070904    |     1|  |    Revoking Access Rights  (REVOKE)
  2242. ENG|09070904    |     3| I|    The  owner  of  a  table  can  use the ##09103009<revoke^statement> to revoke any
  2243. ENG|09070904    |     4|  |    privileges granted for this table from any user. By specifying ALL, the
  2244. ENG|09070904    |     5|  |    owner of the table revokes all privileges granted for  the  table  from
  2245. ENG|09070904    |     6|  |    the  user.  If a user is not the owner of the table, he can only revoke
  2246. ENG|09070904    |     7|  |    the privileges he has granted. If  the  SELECT  privilege  was  granted
  2247. ENG|09070904    |     8|  |    without  a  sequence  of  <column  name>s  for  a  table, REVOKE SELECT
  2248. ENG|09070904    |     9|  |    (<column name>,...) revokes the  SELECT  privilege  for  the  specified
  2249. ENG|09070904    |    10|  |    columns; the SELECT privilege remains unaffected for the columns of the
  2250. ENG|09070904    |    11|  |    table  which  have  not been specified. This also applies to the UPDATE
  2251. ENG|09070904    |    12|S |    and SELUPD privilege.
  2252. ENG|09070904    |    19|  |    If RESTRICT is not specified, the <revoke statement> can cascade; i.e.,
  2253. ENG|09070904    |    20|  |    revoking a privilege from a user causes this privilege  to  be  revoked
  2254. ENG|09070904    |    21|  |    from  any additional user who may have received this privilege from the
  2255. ENG|09070904    |    22|  |    user specified in the <revoke statement>. If RESTRICT is specified  and
  2256. ENG|09070904    |    23|  |    the  user  from  whom  the  privilege  is to be revoked has granted the
  2257. ENG|09070904    |    24|  |    privilege to other users, the <revoke statement> fails.
  2258. ENG|09070904    |    26|  |    REVOKE EXECUTE revokes the privilege to execute the  DB  procedure  <db
  2259. ENG|09070904    |    27|  |    procedure>  from the specified users. The execute privilege can only be
  2260. ENG|09070904    |    28|S |    revoked by the owner of the DB procedure.
  2261. ENG|09070904    |    37|  |    The user sqltravel00 revokes all privileges on the table customer  from
  2262. ENG|09070904    |    38|  |    the user sqltravel10.
  2263. ENG|09070904    |    40| E|    REVOKE ALL ON customer FROM sqltravel10
  2264. ENG|09070904    |    42|  |    The user sqltravel00 revokes the execute privilege for the DB procedure
  2265. ENG|09070904    |    43|  |    customer.insert from the user sqltravel10.
  2266. ENG|09070904    |    45|  |    REVOKE EXECUTE ON customer.insert FROM sqltravel10
  2267. ENG|09070904    |    47|RI|                                                                    ##09103009Syntax
  2268. ENG|0909        |     1|  |                                   SQLMODEs
  2269. ENG|0909        |     2|  |                                   --------
  2270. ENG|0909        |     4| M|                                #01SQLMODE^ADABAS
  2271. ENG|0909        |     5| M|                                #02SQLMODE^ANSI
  2272. ENG|0909        |     6| M|                                #03SQLMODE^DB2
  2273. ENG|0909        |     7|RM|                                #04SQLMODE^ORACLE
  2274. ENG|090901      |     1|  |    ADABAS
  2275. ENG|090901      |     3|  |    The   database   system  ADABAS  is  able  to  perform  correct  ADABAS
  2276. ENG|090901      |     4|  |    applications that are written according  to  the  ANSI  standard  (ANSI
  2277. ENG|090901      |     5|  |    X3.135-1992,  Entry  SQL),  the definition of the DB2 Version 3, or the
  2278. ENG|090901      |     6|  |    definition of ORACLE7. ADABAS is  able  to  check  whether  new  ADABAS
  2279. ENG|090901      |     7|  |    applications   conform  to  one  of  the  above-mentioned  definitions.
  2280. ENG|090901      |     8|  |    However, the support of other SQLMODEs with regard to DDL statements is
  2281. ENG|090901      |     9| I|    restricted. When ##090101connecting  to  ADABAS,  one  of  the  above-mentioned
  2282. ENG|090901      |    10|  |    definitions  or  the  SQLMODE  ADABAS  can  be selected. The default is
  2283. ENG|090901      |    11|R |    SQLMODE ADABAS.
  2284. ENG|090902      |     1|  |    SQLMODE ANSI
  2285. ENG|090902      |     3|  |    If SQLMODE is set to ANSI,  the  following  differences  exist  between
  2286. ENG|090902      |     4|  |    ADABAS and the ANSI standard according to the definition X3.135-1992:
  2287. ENG|090902      |     6|  |    - Between  the  ANSI  standard  and  ADABAS, there are differences with
  2288. ENG|090902      |     7|  |      regard to the implicit addition of the <owner> if this  specification
  2289. ENG|090902      |     8|  |      has been omitted in the <table name>.
  2290. ENG|090902      |    10|  |    - In  addition  to  the  ANSI standard, in ADABAS D X'1F' and X'1E' are
  2291. ENG|090902      |    11|  |      accepted  in  the  <like  expression>  of  a  <like   predicate>   as
  2292. ENG|090902      |    12|  |      equivalents of '%' and '_'.
  2293. ENG|090902      |    14|  |    - In  contrast  to the ANSI standard, the <create schema statement> has
  2294. ENG|090902      |    15|R |      no semantic significance in ADABAS.
  2295. ENG|090903      |     1|  |    SQLMODE DB2
  2296. ENG|090903      |     3|  |    If SQLMODE is set to  DB2,  the  following  differences  exist  between
  2297. ENG|090903      |     4|  |    ADABAS and the DB2 Version 3:
  2298. ENG|090903      |     6|  |    - In  ADABAS  there  are  usergroups,  so  that  it may happen that the
  2299. ENG|090903      |     7|  |      <owner> of an object is not a user but a usergroup.
  2300. ENG|090903      |     9|  |    - In contrast to DB2, ADABAS  does  not  distinguish  between  'primary
  2301. ENG|090903      |    10|  |      authorization  id' and 'secondary authorization id'. A user in ADABAS
  2302. ENG|090903      |    11|  |      can only create and drop database objects  for  himself  or  for  his
  2303. ENG|090903      |    12|  |      usergroup,  and he can create database objects which are not assigned
  2304. ENG|090903      |    13|  |      to a particular user (e.g. indexes). It is  not  possible  to  create
  2305. ENG|090903      |    14|  |      database objects for other users.
  2306. ENG|090903      |    16|  |    - ADABAS knows synonyms, no aliases.
  2307. ENG|090903      |    18|S |    - In  contrast to DB2, the maximum precision of numbers is 18 digits in
  2308. ENG|090903      |    19|  |      ADABAS, not 31.
  2309. ENG|090903      |    21|  |    - The   range   of   values   of   numbers   in   ADABAS   is   between
  2310. ENG|090903      |    22|  |      -9.99999999999999999E+62   and   -1E-64   and   between   +1E-64  and
  2311. ENG|090903      |    23|  |      +9.99999999999999999E+62. In DB2,  the  range  comprises  the  values
  2312. ENG|090903      |    24|  |      between 5.4E-79 and 7.2E+75.
  2313. ENG|090903      |    26|  |    - In  contrast  to  DB2, data with the code attribue BYTE (BIT DATA) is
  2314. ENG|090903      |    27|  |      not filled with blanks in ADABAS, but with binary zeros.
  2315. ENG|090903      |    29|  |    - In contrast to DB2, all identifiers are long identifiers in ADABAS.
  2316. ENG|090903      |    31|  |    - In addition to DB2, <extended letter> and <language specific  letter>
  2317. ENG|090903      |    32|  |      can be used in an <identifier> in ADABAS.
  2318. ENG|090903      |    34|  |    - In  contrast  to  DB2,  a  <special identifier> in ADABAS can only be
  2319. ENG|090903      |    35|  |      enclosed  in  '"'.  A  <string  literal>  can  only  be  enclosed  in
  2320. ENG|090903      |    36|S |      apostrophes,  not  in  '"'. There is no option which could be used to
  2321. ENG|090903      |    37|  |      replace the '"' by an apostrophe or vice versa.
  2322. ENG|090903      |    39|  |    - The following keywords are not reserverd in ADABAS:
  2323. ENG|090903      |    40|  |      COLLECTION,  DESCRIPTOR,  END-EXEC,  ERASE,  FIELDPROC,   GO,   GOTO,
  2324. ENG|090903      |    41|  |      IMMEDIATE,  LOCKSIZE,  NUMPARTS,  OBID,  PACKAGE, PART, PLAN, PRIQTY,
  2325. ENG|090903      |    42|  |      PROGRAM, SECQTY, VOLUMES
  2326. ENG|090903      |    44|  |    - The indication of a 'location name' for a <table name>  specification
  2327. ENG|090903      |    45|  |      is neither possible nor required in ADABAS.
  2328. ENG|090903      |    47|  |    - In contrast to DB2, there is no option in ADABAS to ensure that a ','
  2329. ENG|090903      |    48|  |      can be specified instead of the decimal point.
  2330. ENG|090903      |    50|  |    - In  contrast  to  DB2,  all integer values can be specified without a
  2331. ENG|090903      |    51|  |      decimal point in ADABAS.
  2332. ENG|090903      |    53|  |    - In ADABAS, the 'special registers'  USER  and  CURRENT  SQLID  always
  2333. ENG|090903      |    54|S |      contain the same value and have a maximum length of 18 bytes.
  2334. ENG|090903      |    55|  |    - The 'special register' TIMEZONE always has the value 0 in ADABAS.
  2335. ENG|090903      |    57|  |    - The 'special registers' CURRENT SERVER and CURRENT PACKAGESET are not
  2336. ENG|090903      |    58|  |      supported in ADABAS.
  2337. ENG|090903      |    60|  |    - The  date  and  time  format  LOCAL  is  not  supported in ADABAS. In
  2338. ENG|090903      |    61|  |      addition to DB2, ADABAS supports the date and time format INTERNAL.
  2339. ENG|090903      |    63|  |    - KATAKANA and 'mixed data' are not supported in ADABAS.
  2340. ENG|090903      |    65|  |    - In contrast to DB2, the  default  value  for  the  precision  of  the
  2341. ENG|090903      |    66|  |      function DECIMAL is always the value 18 in ADABAS.
  2342. ENG|090903      |    68|  |    - For  the  result of the <function spec> LENGTH, there are differences
  2343. ENG|090903      |    69|  |      between DB2 and ADABAS with regard to all data types, except CHAR.
  2344. ENG|090903      |    71|  |    - In contrast to DB2, ADABAS does not support the specification of an 8
  2345. ENG|090903      |    72|S |      or 14 bytes long string for the <function spec> TIMESTAMP.
  2346. ENG|090903      |    73|  |    - In ADABAS, the functions HEX and VARGRAPHIC are not available.
  2347. ENG|090903      |    75|  |    - In contrast to DB2, there is no need in ADABAS that the  <expression>
  2348. ENG|090903      |    76|  |      in a <set function spec> contains a <column spec>.
  2349. ENG|090903      |    78|  |    - In  ADABAS, a <set function spec> applied to an empty, grouped result
  2350. ENG|090903      |    79|  |      table does not produce a result.
  2351. ENG|090903      |    81|  |    - In contrast to DB2, it is possible in ADABAS to specify  minutes  and
  2352. ENG|090903      |    82|  |      seconds  >= 60 in <time duration>s. Specifications of months > 12 and
  2353. ENG|090903      |    83|  |      of days > 31 are possible in <date duration>s. Values  that  are  too
  2354. ENG|090903      |    84|  |      large are handled as an overflow.
  2355. ENG|090903      |    86|  |    - <timestamp duration>s are not supported in ADABAS.
  2356. ENG|090903      |    88|  |    - In  addition  to  DB2,  in ADABAS X'1F' and X'1E' are accepted in the
  2357. ENG|090903      |    89|S |      <like expression> as equivalents of '%' and <underscore>.
  2358. ENG|090903      |    91|  |    - The following SQL statements are not available in ADABAS:
  2359. ENG|090903      |    92|  |      CREATE ALIAS, DROP ALIAS
  2360. ENG|090903      |    93|  |      ALTER DATABASE, CREATE DATABASE, DROP DATABASE
  2361. ENG|090903      |    94|  |      ALTER INDEX
  2362. ENG|090903      |    95|  |      ALTER STOGROUP, CREATE STOGROUP, DROP STOGROUP
  2363. ENG|090903      |    96|  |      ALTER TABLE
  2364. ENG|090903      |    97|  |      ALTER TABLESPACE, CREATE TABLESPACE, DROP TABLESPACE
  2365. ENG|090903      |    98|  |      CONNECT (not available in DB2 syntax)
  2366. ENG|090903      |    99|  |      EXPLAIN, LABEL ON, SET CURRENT PACKAGESET, SET CURRENT SQLID
  2367. ENG|090903      |   101|  |    - In contrast to DB2, a table can only have 255 columns in ADABAS.
  2368. ENG|090903      |   103|  |    - In contrast to DB2, GRAPHIC data in ADABAS  is  not  stored  as  DBCS
  2369. ENG|090903      |   104|  |      data,  but  with the code attribute BYTE. <string literal>s referring
  2370. ENG|090903      |   105|  |      to GRAPHIC data must be specified as <hex literal>s and  not  in  the
  2371. ENG|090903      |   106|  |      format used in DB2.
  2372. ENG|090903      |   108|S |    - The internal length of date, time and timestamp values differs in DB2
  2373. ENG|090903      |   109|  |      and ADABAS.
  2374. ENG|090903      |   111|  |    - In comparison with DB2, the set of <db2 options> in the <create table
  2375. ENG|090903      |   112|  |      statement> is considerably restricted in ADABAS.
  2376. ENG|090903      |   114|  |    - Field procedures are not supported in ADABAS.
  2377. ENG|090903      |   116|  |    - In  contrast  to  DB2,  a  unique,  single-column index in ADABAS can
  2378. ENG|090903      |   117|  |      contain the NULL value in the particular column in several rows.
  2379. ENG|090903      |   119|  |    - In ADABAS, the <comment statement> is not available for aliases.
  2380. ENG|090903      |   121|  |    - In ADABAS, the <grant statement> and the <revoke statement> are  only
  2381. ENG|090903      |   122|  |      available for privileges on base or view tables.
  2382. ENG|090903      |   124|  |    - In contrast to DB2, an <update statement> with CURRENT OF can be used
  2383. ENG|090903      |   125|  |      in  ADABAS  to  update  all  columns  for  which  the  user  has  the
  2384. ENG|090903      |   126|S |      corresponding privileges, regardless of whether they are specified in
  2385. ENG|090903      |   127|  |      the <update clause> or not.
  2386. ENG|090903      |   129|  |    - In contrast to DB2, a sequence of <select column>s in ADABAS may only
  2387. ENG|090903      |   130|  |      define 254 columns, not 750.
  2388. ENG|090903      |   132|  |    - In addition to DB2, the <group clause> and the  <having  clause>  can
  2389. ENG|090903      |   133|  |      also be contained in a <subquery> of a <predicate> in ADABAS.
  2390. ENG|090903      |   135|  |    - In contrast to DB2, in ADABAS, all locks are released at the end of a
  2391. ENG|090903      |   136|  |      transaction,  even the locks requested by <declare cursor statement>s
  2392. ENG|090903      |   137|R |      WITH HOLD specification.
  2393. ENG|090904      |     1|  |                                SQLMODE ORACLE
  2394. ENG|090904      |     2|  |                                --------------
  2395. ENG|090904      |     4|  |    If SQLMODE is set to ORACLE, the following  differences  exist  between
  2396. ENG|090904      |     5|  |    the syntax and semantics in ADABAS and the definition of ORACLE7:
  2397. ENG|090904      |     7| M|                   #01Program-relevant^Differences
  2398. ENG|090904      |     8|RM|                   #02Differences^in^the^Database^Management
  2399. ENG|09090401    |     1|  |    Program-relevant Differences
  2400. ENG|09090401    |     3|  |    - If  a <table name> is specified without an <owner> and if there is no
  2401. ENG|09090401    |     4|  |      private table of the user with the name <table name>, the behavior of
  2402. ENG|09090401    |     5|  |      ADABAS differs from that of ORACLE.
  2403. ENG|09090401    |     7|  |    - In ADABAS, numbers are not implicitly converted into date  values  or
  2404. ENG|09090401    |     8|  |      vice  versa.  Character strings are converted into numeric values, or
  2405. ENG|09090401    |     9|  |      vice versa, in application programs for comparisons or when variables
  2406. ENG|09090401    |    10|  |      are used. The arguments of functions are not implicitly converted.
  2407. ENG|09090401    |    12|  |    - When two character strings are compared in ADABAS, the shorter one is
  2408. ENG|09090401    |    13|  |      filled with blanks (code attribute ASCII or EBCDIC) or  binary  zeros
  2409. ENG|09090401    |    14|  |      (code  attribute  BYTE)  up  to  the  length  of the longer character
  2410. ENG|09090401    |    15|  |      string. This is not done in ORACLE.
  2411. ENG|09090401    |    17|  |    - The   range   of   values   of   numbers   in   ADABAS   is   between
  2412. ENG|09090401    |    18|S |      -9.99999999999999999E+62   and   -1E-64   and   between   +1E-64  and
  2413. ENG|09090401    |    19|  |      +9.99999999999999999E+62.  In  ORACLE,  the  range  comprises  values
  2414. ENG|09090401    |    20|  |      between 0.999E-128 and 0.999E126.
  2415. ENG|09090401    |    22|  |    - ADABAS  does  not know a National Language Support; i.e., it does not
  2416. ENG|09090401    |    23|  |      know the corresponding functions nor the corresponding parameters  in
  2417. ENG|09090401    |    24|  |      other functions.
  2418. ENG|09090401    |    26|  |    - The  NULL  value and the empty <string literal>, or <string literal>s
  2419. ENG|09090401    |    27|  |      only containing blanks are different in ADABAS.
  2420. ENG|09090401    |    29|  |    - In ADABAS, numbers cannot end with a 'K' or 'M'.
  2421. ENG|09090401    |    31|  |    - Date values in ORACLE are between 01-01-4712 BC and 12-31-4712 AC. In
  2422. ENG|09090401    |    32|  |      ADABAS, date values can be between 01-01-0001 and 12-31-9999.
  2423. ENG|09090401    |    34|  |    - The pseudo column LEVEL is not supported in ADABAS.
  2424. ENG|09090401    |    36|S |    - The functions:
  2425. ENG|09090401    |    37|  |      NLSSORT,   CHARTOROWID,   ROWIDTOCHAR,   CONVERT,   DUMP,    USERENV,
  2426. ENG|09090401    |    38|  |      NLS_INITCAP,   NLS_LOWER,   NLS_UPPER,  TO_MULTI_BYTE,TO_SINGLE_BYTE,
  2427. ENG|09090401    |    39|  |      INSTRB, LENGTHB, SUBSTRB
  2428. ENG|09090401    |    40|  |      are not provided in ADABAS.
  2429. ENG|09090401    |    42|  |    - In ADABAS, the pseudo column ROWNUM cannot be used in <update columns
  2430. ENG|09090401    |    43|  |      and values> of the <update statement>.
  2431. ENG|09090401    |    45|  |    - In ADABAS, a correlated subquery is not allowed for a <subquery> in a
  2432. ENG|09090401    |    46|  |      <set update clause>.
  2433. ENG|09090401    |    48|  |    - A <set update clause> of the format <column name>,... = <subquery> is
  2434. ENG|09090401    |    49|  |      not available in ADABAS.
  2435. ENG|09090401    |    51|  |    - The pseudo column ROWID is not supported in ADABAS.
  2436. ENG|09090401    |    53|  |    - The pseudo column ROWNUM is entered  in  the  <select  column>  after
  2437. ENG|09090401    |    54|S |      sorting the result table.
  2438. ENG|09090401    |    55|  |    - The  specification  of  CONNECT  BY  <search  condition> [ START WITH
  2439. ENG|09090401    |    56|  |      <search condition> ] is not available in ADABAS.
  2440. ENG|09090401    |    58|  |    - The specifications for the <connect statement> to be made in addition
  2441. ENG|09090401    |    59|  |      to the user name and pasword differ in ADABAS and ORACLE.
  2442. ENG|09090401    |    61|  |    - The effects of the <lock spec>  in  the  <lock  statement>  partially
  2443. ENG|09090401    |    62|  |      differ in ADABAS and ORACLE.
  2444. ENG|09090401    |    64|  |    - In  contrast  to  ORACLE,  read and write operations can collide on a
  2445. ENG|09090401    |    65|  |      table in ADABAS.
  2446. ENG|09090401    |    67|  |    - In ADABAS, locks are not released by a <rollback to statement>.
  2447. ENG|09090401    |    69|  |    - FORCE or COMMENT cannot be specified with the <connect statement>  or
  2448. ENG|09090401    |    70|R |      <rollback statement>.
  2449. ENG|09090402    |     1|  |    Differences in the Database Management
  2450. ENG|09090402    |     3|  |    - In  ADABAS,  there  are  usergroups,  so  that it may happen that the
  2451. ENG|09090402    |     4|  |      <owner> of an object is not a user but a usergroup.
  2452. ENG|09090402    |     6|  |    - In ADABAS, a user can only create and  delete  database  objects  for
  2453. ENG|09090402    |     7|  |      himself  or  for  his  usergroup,  and he can create database objects
  2454. ENG|09090402    |     8|  |      which are not assigned to a particular user (e.g.,  indexes).  It  is
  2455. ENG|09090402    |     9|  |      not possible to create database objects for other users.
  2456. ENG|09090402    |    11|  |    - In  contrast  to  ORACLE,  tables  of  a  user  are  in  a namespace.
  2457. ENG|09090402    |    12|  |      Sequences,  procedures  and  functions  build  separate   namespaces.
  2458. ENG|09090402    |    13|  |      Indexes  and  constraints  in  ADABAS must have unique names within a
  2459. ENG|09090402    |    14|  |      table.
  2460. ENG|09090402    |    16|  |    - In contrast to ORACLE,  DBAs  in  ADABAS  are  also  subject  to  the
  2461. ENG|09090402    |    17|  |      privileges  concept  and  cannot  execute  any  DDL statements (e.g.,
  2462. ENG|09090402    |    18|S |      CREATE INDEX) or DML statements (e.g., DELETE) for  which  they  have
  2463. ENG|09090402    |    19|  |      not received the corresponding privileges.
  2464. ENG|09090402    |    21|  |    - Numbers have only 18 significant digits in ADABAS, instead of 38.
  2465. ENG|09090402    |    23|  |    - While  ORACLE  distinguishes  names of up to 30 characters in length,
  2466. ENG|09090402    |    24|  |      only 18 characters are significant in ADABAS.
  2467. ENG|09090402    |    26|  |    - The indication of a database link for a <table name> specification is
  2468. ENG|09090402    |    27|  |      neither possible nor required in ADABAS.
  2469. ENG|09090402    |    29|  |    - The following key words are not reserved in ADABAS:
  2470. ENG|09090402    |    30|  |      ACCESS, COMPRESS, ELSE,  FILE,  IF,  IMMEDIATE,  INCREMENT,  INITIAL,
  2471. ENG|09090402    |    31|  |      MAXEXTENTS,  NOAUDIT,  NOCOMPRESS,  OFFLINE,  ONLINE, PRIOR, SESSION,
  2472. ENG|09090402    |    32|  |      SIZE, START, SUCCESSFUL, THEN, VALIDATE
  2473. ENG|09090402    |    34|  |    - In contrast to ORACLE, a <fixed point literal> in ADABAS can begin or
  2474. ENG|09090402    |    35|S |      end with a '.'
  2475. ENG|09090402    |    37|  |    - In ADABAS, LONG columns can be specified in the <null predicate>.
  2476. ENG|09090402    |    39|  |    - The following <sql statement>s are not available in ADABAS.
  2477. ENG|09090402    |    40|  |      ALTER / CREATE / DROP CLUSTER,
  2478. ENG|09090402    |    41|  |      CREATE CONTROLFILE
  2479. ENG|09090402    |    42|  |      ALTER / CREATE DATABASE
  2480. ENG|09090402    |    43|  |      CREATE / DROP DATABASE LINK
  2481. ENG|09090402    |    44|  |      ALTER / CREATE / DROP FUNCTION
  2482. ENG|09090402    |    45|  |      ALTER INDEX, VALIDATE INDEX
  2483. ENG|09090402    |    46|  |      ALTER / CREATE / DROP PACKAGE
  2484. ENG|09090402    |    47|  |      ALTER / CREATE / DROP PROCEDURE
  2485. ENG|09090402    |    48|  |      ALTER / CREATE / DROP PROFILE
  2486. ENG|09090402    |    49|  |      ALTER RESOURCE COST ALTER / CREATE / DROP / SET ROLE
  2487. ENG|09090402    |    50|  |      ALTER ROLLBACK SEGMENT, DROP ROLLBACK SEGMENT
  2488. ENG|09090402    |    51|  |      ALTER SEQUENCE
  2489. ENG|09090402    |    52|  |      ALTER SESSION
  2490. ENG|09090402    |    53|  |      ALTER SNAPSHOT
  2491. ENG|09090402    |    54|S |      ALTER SNAPSHOT LOG
  2492. ENG|09090402    |    55|  |      ALTER SYSTEM
  2493. ENG|09090402    |    56|  |      ALTER / DROP TABLESPACE
  2494. ENG|09090402    |    57|  |      ALETR / CREATE / DROP TRIGGER
  2495. ENG|09090402    |    58|  |      ALTER USER
  2496. ENG|09090402    |    59|  |      ALTER VIEW
  2497. ENG|09090402    |    60|  |      ANALYZE
  2498. ENG|09090402    |    61|  |      AUDIT, NOAUDIT
  2499. ENG|09090402    |    62|  |      EXPLAIN PLAN
  2500. ENG|09090402    |    63|  |      RENAME
  2501. ENG|09090402    |    64|  |      SET TRANSACTION
  2502. ENG|09090402    |    66|  |    - Columns with the data type CHAR and with a length less than or  equal
  2503. ENG|09090402    |    67|  |      to 30 characters are stored with a fixed length in ADABAS, not with a
  2504. ENG|09090402    |    68|  |      variable length as in ORACLE.
  2505. ENG|09090402    |    70|  |    - In  ADABAS,  the  code  attribute  of a column of the data type CHAR,
  2506. ENG|09090402    |    71|  |      VARCHAR or LONG is determined by the code attribute specified  during
  2507. ENG|09090402    |    72|S |      the  configuration  which  should,  but  need  not, correspond to the
  2508. ENG|09090402    |    73|  |      character set of the computer.
  2509. ENG|09090402    |    75|  |    - In ADABAS, data types cannot be defined for numbers with  a  negative
  2510. ENG|09090402    |    76|  |      scale. It is not possible to specify a scale that is greater than the
  2511. ENG|09090402    |    77|  |      number of significant digits.
  2512. ENG|09090402    |    79|  |    - In  ADABAS,  the  possible  maximum  number  of significant digits is
  2513. ENG|09090402    |    80|  |      always used for the data type FLOAT.
  2514. ENG|09090402    |    82|  |    - In ADABAS, a <constraint definition> defined in a <column definition>
  2515. ENG|09090402    |    83|  |      can also refer to several columns of the table.
  2516. ENG|09090402    |    85|  |    - In ADABAS, constraints cannot be deactivated temporarily.
  2517. ENG|09090402    |    87|  |    - The specification of  the  <oracle  option>s  in  the  <create  table
  2518. ENG|09090402    |    88|  |      statement> and <create index statement> has no effect in ADABAS.
  2519. ENG|09090402    |    90|S |    - In  contrast  to  ORACLE, tables for which no PRIMARY KEY was defined
  2520. ENG|09090402    |    91|  |      contain the key column SYSKEY in ADABAS. This column can be specified
  2521. ENG|09090402    |    92|  |      in a <select column> and in the  <search  condition>  and  its  value
  2522. ENG|09090402    |    93|  |      cannot be changed. User-defined key columns can be changed in ADABAS.
  2523. ENG|09090402    |    95|  |    - For  a  <drop table statement> or <drop view statement>, all objects,
  2524. ENG|09090402    |    96|  |      synonyms and view tables belonging  to  this  table  are  deleted  in
  2525. ENG|09090402    |    97|  |      ADABAS, not only marked as not being usable.
  2526. ENG|09090402    |    99|  |    - CREATE   SYNONYM  is  not  possible  for  sequences,  procedures  and
  2527. ENG|09090402    |   100|  |      functions. The object for which the synonym is defined must exist and
  2528. ENG|09090402    |   101|  |      the current user must have at least one privilege for it.
  2529. ENG|09090402    |   103|  |    - In ADABAS, a time for an automatic refresh cannot be specified during
  2530. ENG|09090402    |   104|  |      the definition of snapshot tables. An automatic refresh of a snapshot
  2531. ENG|09090402    |   105|  |      table is not possible.
  2532. ENG|09090402    |   107|S |    - In ADABAS, an index cannot be defined across a cluster.
  2533. ENG|09090402    |   109|  |    - In ADABAS, an index in descending order is created when DESC has been
  2534. ENG|09090402    |   110|  |      specified.
  2535. ENG|09090402    |   112|  |    - In ADABAS, an <index name> may only be unique together with a  <table
  2536. ENG|09090402    |   113|  |      name>.  In  contrast  to ORACLE, non-unique <index name>s require the
  2537. ENG|09090402    |   114|  |      specification of the corresponding <table name> in  the  <drop  index
  2538. ENG|09090402    |   115|  |      statement>.
  2539. ENG|09090402    |   117|  |    - PUBLIC synonyms cannot be created and deleted in ADABAS.
  2540. ENG|09090402    |   119|  |    - The <sql statement>s
  2541. ENG|09090402    |   120|  |      CREATE TABLESPACE
  2542. ENG|09090402    |   121|  |      CREATE [ PUBLIC ] ROLLBACK SEGMENT
  2543. ENG|09090402    |   122|  |      are accepted by ADABAS but have no effect.
  2544. ENG|09090402    |   124|  |    - The  <grant  statement>  in  ADABAS  corresponds  to the ORACLE GRANT
  2545. ENG|09090402    |   125|  |      (object privileges). The other types of the GRANT are  not  available
  2546. ENG|09090402    |   126|S |      in ADABAS. The same is valid for REVOKE.
  2547. ENG|09090402    |   127|  |    - In contrast to ORACLE, it is not possible in ADABAS to grant a user a
  2548. ENG|09090402    |   128|R |      privilege of two different, other users.
  2549. ENG|0910        |     1|  |    Syntax Descriptions
  2550. ENG|0910        |     3| I|    ##09101101<add^definition>
  2551. ENG|0910        |     4| I|    ##09101103<alter^definition>
  2552. ENG|0910        |     5| I|    ##09103005<alter^password^statement>
  2553. ENG|0910        |     6| I|    ##091011<alter^table^statement>
  2554. ENG|0910        |     7| I|    ##09103002<alter^user^statement>
  2555. ENG|0910        |     8| I|    ##0910300201<alter^usergroup^statement>
  2556. ENG|0910        |     9| I|    ##09105301<arithmetic^function>
  2557. ENG|0910        |    10| I|    ##09105701<between^predicate>
  2558. ENG|0910        |    11| I|    ##09105601<boolean^primary>
  2559. ENG|0910        |    12| I|    ##091062<clear^snapshot^log^statement>
  2560. ENG|0910        |    13| I|    ##091002<close^statement>
  2561. ENG|0910        |    14| I|    ##0910100102<column^attributes>
  2562. ENG|0910        |    15| I|    ##09101001<column^definition>
  2563. ENG|0910        |    16| I|    ##091052<column^spec>
  2564. ENG|0910        |    17| I|    ##091065<comment^on^statement>
  2565. ENG|0910        |    18|SI|    ##091029<commit^statement>
  2566. ENG|0910        |    19| I|    ##0910570201<comp^op>
  2567. ENG|0910        |    20| I|    ##09105702<comparison^predicate>
  2568. ENG|0910        |    21| I|    ##091028<connect^statement>
  2569. ENG|0910        |    22| I|    ##09101004<constraint^definition>
  2570. ENG|0910        |    23| I|    ##09105307<conversion^function>
  2571. ENG|0910        |    24| I|    ##091013<create^domain^statement>
  2572. ENG|0910        |    25| I|    ##091018<create^index^statement>
  2573. ENG|0910        |    26| I|    ##091064<create^snapshot^log^statement>
  2574. ENG|0910        |    27| I|    ##091063<create^snapshot^statement>
  2575. ENG|0910        |    28| I|    ##091015<create^synonym^statement>
  2576. ENG|0910        |    29| I|    ##091010<create^table^statement>
  2577. ENG|0910        |    30| I|    ##091030<create^user^statement>
  2578. ENG|0910        |    31| I|    ##09103001<create^usergroup^statement>
  2579. ENG|0910        |    32| I|    ##091016<create^view^statement>
  2580. ENG|0910        |    33| I|    ##0910100101<data^type>
  2581. ENG|0910        |    34| I|    ##09105303<date^function>
  2582. ENG|0910        |    35| I|    ##091002<declare^cursor^statement>
  2583. ENG|0910        |    36|SI|    ##09105703<default^predicate>
  2584. ENG|0910        |    37| I|    ##091010010201<default^spec>
  2585. ENG|0910        |    38| I|    ##0910100501<delete^rule>
  2586. ENG|0910        |    39| I|    ##091026<delete^statement>
  2587. ENG|0910        |    40| I|    ##09102601<delete^statement>^with^"CURRENT^OF"
  2588. ENG|0910        |    41| I|    ##09101102<drop^definition>
  2589. ENG|0910        |    42| I|    ##091014<drop^domain^statement>
  2590. ENG|0910        |    43| I|    ##091018<drop^index^statement>
  2591. ENG|0910        |    44| I|    ##091064<drop^snapshot^log^statement>
  2592. ENG|0910        |    45| I|    ##091063<drop^snapshot^statement>
  2593. ENG|0910        |    46| I|    ##091015<drop^synonym^statement>
  2594. ENG|0910        |    47| I|    ##091012<drop^table^statement>
  2595. ENG|0910        |    48| I|    ##09103003<drop^user^statement>
  2596. ENG|0910        |    49| I|    ##09103004<drop^usergroup^statement>
  2597. ENG|0910        |    50| I|    ##091016<drop^view^statement>
  2598. ENG|0910        |    51| I|    ##09101007<duplicates^clause>
  2599. ENG|0910        |    52| I|    ##09105704<exists^predicate>
  2600. ENG|0910        |    53| I|    ##091023<exists^table^statement>
  2601. ENG|0910        |    54|SI|    ##091008<explain^statement>
  2602. ENG|0910        |    55| I|    ##091050<expression>
  2603. ENG|0910        |    56| I|    ##09105305<extraction^function>
  2604. ENG|0910        |    57| I|    ##09105001<factor>
  2605. ENG|0910        |    58| I|    ##091003<fetch^statement>
  2606. ENG|0910        |    59| I|    ##09100103<from^clause>
  2607. ENG|0910        |    60| I|    ##091053<function^spec>
  2608. ENG|0910        |    61| I|    ##09103007<grant^statement>
  2609. ENG|0910        |    62| I|    ##09103008<grant^statement>^(EXECUTE^Privilege)
  2610. ENG|0910        |    63| I|    ##09103006<grant^user^statement>
  2611. ENG|0910        |    64| I|    ##09100105<group^clause>
  2612. ENG|0910        |    65| I|    ##09100106<having^clause>
  2613. ENG|0910        |    66| I|    ##09105705<in^predicate>
  2614. ENG|0910        |    67| I|    ##091024<insert^statement>
  2615. ENG|0910        |    68| I|    ##09105706<join^predicate>
  2616. ENG|0910        |    69| I|    ##0910100301<key^definition>
  2617. ENG|0910        |    70| I|    ##091058<key^spec>
  2618. ENG|0910        |    71| I|    ##09103109<length^column^statement>
  2619. ENG|0910        |    72|SI|    ##09105707<like^predicate>
  2620. ENG|0910        |    73| I|    ##09100109<lock^option>
  2621. ENG|0910        |    74| I|    ##0910290201<lock^spec>
  2622. ENG|0910        |    75| I|    ##09102902<lock^statement>
  2623. ENG|0910        |    76| I|    ##091067<monitor^statement>
  2624. ENG|0910        |    77| I|    ##09105502<named^query^expression>
  2625. ENG|0910        |    78| I|    ##0910550201<named^query^primary>
  2626. ENG|0910        |    79| I|    ##0910550202<named^query^spec>
  2627. ENG|0910        |    80| I|    ##09100110<named^select^statement>
  2628. ENG|0910        |    81| I|    ##091027<next^stamp^statement>
  2629. ENG|0910        |    82| I|    ##09105708<null^predicate>
  2630. ENG|0910        |    83| I|    ##091002<open^cursor^statement>
  2631. ENG|0910        |    84| I|    ##09100107<order^clause>
  2632. ENG|0910        |    85| I|    ##09105707<pattern^element>...
  2633. ENG|0910        |    86| I|    ##091057<predicate>
  2634. ENG|0910        |    87| I|    ##09105709<quantified^predicate>
  2635. ENG|0910        |    88| I|    ##09105501<query^expression>
  2636. ENG|0910        |    89| I|    ##0910550101<query^primary>
  2637. ENG|0910        |    90|SI|    ##0910550102<query^spec>
  2638. ENG|0910        |    91| I|    ##091059<query^statement>
  2639. ENG|0910        |    92| I|    ##09101005<referential^constraint^definition>
  2640. ENG|0910        |    93| I|    ##091061<refresh^statement>
  2641. ENG|0910        |    94| I|    ##09102801<release^statement>
  2642. ENG|0910        |    95| I|    ##091020<rename^column^statement>
  2643. ENG|0910        |    96| I|    ##091015<rename^synonym^statement>
  2644. ENG|0910        |    97| I|    ##091019<rename^table^statement>
  2645. ENG|0910        |    98| I|    ##09103009<revoke^statement>
  2646. ENG|0910        |    99| I|    ##091029<rollback^statement>
  2647. ENG|0910        |   100| I|    ##09105710<rowno^predicate>
  2648. ENG|0910        |   101| I|    ##091056<search^condition>
  2649. ENG|0910        |   102| I|    ##091005<select^direct^statement:^positioned>
  2650. ENG|0910        |   103| I|    ##091004<select^direct^statement:^searched>
  2651. ENG|0910        |   104| I|    ##09100101<select^column>,...
  2652. ENG|0910        |   105| I|    ##09100701<select^ordered^format1:^positioned>
  2653. ENG|0910        |   106| I|    ##09100601<select^ordered^format1:^searched>
  2654. ENG|0910        |   107| I|    ##09100702<select^ordered^format2:^positioned>
  2655. ENG|0910        |   108|SI|    ##09100602<select^ordered^format2:^searched>
  2656. ENG|0910        |   109| I|    ##091007<select^ordered^statement:^positioned>
  2657. ENG|0910        |   110| I|    ##091006<select^ordered^statement:^searched>
  2658. ENG|0910        |   111| I|    ##091001<select^statement>
  2659. ENG|0910        |   112| I|    ##091054<set^function^spec>
  2660. ENG|0910        |   113| I|    ##09100111<single^select^statement>
  2661. ENG|0910        |   114| I|    ##09105711<sounds^predicate>
  2662. ENG|0910        |   115| I|    ##09105306<special^function>
  2663. ENG|0910        |   116| I|    ##091068<sql^statement>
  2664. ENG|0910        |   117| I|    ##09105302<string^function>
  2665. ENG|0910        |   118| I|    ##091055<subquery>
  2666. ENG|0910        |   119| I|    ##09102901<subtrans^statement>
  2667. ENG|0910        |   120| I|    ##09101008<table^description>
  2668. ENG|0910        |   121| I|    ##09101006<table^option>
  2669. ENG|0910        |   122| I|    ##09105304<time^function>
  2670. ENG|0910        |   123| I|    ##09105309<trigonometric^function>
  2671. ENG|0910        |   124| I|    ##09102903<unlock^statement>
  2672. ENG|0910        |   125| I|    ##09100108<update^clause>
  2673. ENG|0910        |   126|SI|    ##091025<update^statement>
  2674. ENG|0910        |   127| I|    ##09102501<update^statement>^with^"CURRENT^OF"
  2675. ENG|0910        |   128| I|    ##091066<update^statistics^statement>
  2676. ENG|0910        |   129| I|    ##091051<value^spec>
  2677. ENG|0910        |   130|RI|    ##09100104<where^clause>
  2678. ENG|091001      |     1|  |    <select statement>
  2679. ENG|091001      |     3| I|    ##09105501<query^expression>
  2680. ENG|091001      |     4| M|    [ #07<order^clause>  ]
  2681. ENG|091001      |     5| M|    [ #08<update^clause> ]
  2682. ENG|091001      |     6| M|    [ #09<lock^option>   ]
  2683. ENG|091001      |     7|R |    [ FOR REUSE       ]
  2684. ENG|09100101    |     1|  |    <select column>,...
  2685. ENG|09100101    |     3|  |    {    *
  2686. ENG|09100101    |     4|  |       | <table name>. *
  2687. ENG|09100101    |     5|  |       | <reference name>. *
  2688. ENG|09100101    |     6| I|       | ##091050<expression> [<result column name>]
  2689. ENG|09100101    |     7|  |       | ROWNO        [<result column name>]
  2690. ENG|09100101    |     8|  |       | STAMP        [<result column name>]
  2691. ENG|09100101    |     9|R |    } ,...
  2692. ENG|09100102    |     1|R |    <out of order>
  2693. ENG|09100103    |     1|  |    <from clause>
  2694. ENG|09100103    |     3|  |    FROM {   <table name>           [<reference name>]
  2695. ENG|09100103    |     4|  |           | <result table name>    [<reference name>]
  2696. ENG|09100103    |     5| I|           | ( ##09105501<query^expression> ) [<reference name>]
  2697. ENG|09100103    |     6|R |         } ,...
  2698. ENG|09100104    |     1|  |    <where clause>
  2699. ENG|09100104    |     3|RI|    WHERE  ##091056<search^condition>
  2700. ENG|09100105    |     1|  |    <group clause>
  2701. ENG|09100105    |     3|RI|    GROUP BY ##091050<expression> ,...
  2702. ENG|09100106    |     1|  |    <having clause>
  2703. ENG|09100106    |     3|RI|    HAVING ##091056<search^condition>
  2704. ENG|09100107    |     1|  |    <order clause>
  2705. ENG|09100107    |     3|  |    ORDER BY {   <unsigned integer> [{ASC | DESC}]
  2706. ENG|09100107    |     4| I|               | ##091050<expression>       [{ASC | DESC}]
  2707. ENG|09100107    |     5|R |             } ,...
  2708. ENG|09100108    |     1|  |    <update clause>
  2709. ENG|09100108    |     3|R |    FOR UPDATE [ OF <column name> ,... ]
  2710. ENG|09100109    |     1|  |    <lock option>
  2711. ENG|09100109    |     3|  |    WITH LOCK [(NOWAIT)] [{   [EXCLUSIVE] [ISOLATION LEVEL <unsigned integer>]
  2712. ENG|09100109    |     4|  |                            | OPTIMISTIC  [ISOLATION LEVEL <unsigned integer>]
  2713. ENG|09100109    |     5|R |                          }]
  2714. ENG|09100110    |     1|  |    <named select statement>
  2715. ENG|09100110    |     3| I|    ##09105502<named^query^expression>
  2716. ENG|09100110    |     4| I|    [ ##09100107<order^clause>  ]
  2717. ENG|09100110    |     5| I|    [ ##09100108<update^clause> ]
  2718. ENG|09100110    |     6| I|    [ ##09100109<lock^option>   ]
  2719. ENG|09100110    |     7|R |    [ FOR REUSE       ]
  2720. ENG|09100111    |     1|  |    <single select statement>
  2721. ENG|09100111    |     3| I|    SELECT [{ALL | DISTINCT}] ##09100101<select^column>,...
  2722. ENG|09100111    |     4|  |    INTO   <parameter name> [<indicator name>] ,...
  2723. ENG|09100111    |     5| I|    [ ##09100103<from^clause>   ]
  2724. ENG|09100111    |     6| I|    [ ##09100104<where^clause>  ]
  2725. ENG|09100111    |     7| I|    [ ##09100106<having^clause> ]
  2726. ENG|09100111    |     8|RI|    [ ##09100109<lock^option>   ]
  2727. ENG|091002      |     1|  |    <declare cursor statement>
  2728. ENG|091002      |     3| I|    DECLARE <result table name> CURSOR FOR ##091001<select^statement>
  2729. ENG|091002      |     6|  |    <open cursor statement>
  2730. ENG|091002      |     8|  |    OPEN <result table name>
  2731. ENG|091002      |    11| I|    ##091003<fetch^statement>
  2732. ENG|091002      |    14|  |    <close statement>
  2733. ENG|091002      |    16|R |    CLOSE [ <result table name> ]
  2734. ENG|091003      |     1|  |    <fetch statement>
  2735. ENG|091003      |     3|  |    FETCH [{   NEXT
  2736. ENG|091003      |     4|  |             | FIRST
  2737. ENG|091003      |     5|  |             | LAST
  2738. ENG|091003      |     6|  |             | PREV
  2739. ENG|091003      |     7|  |             | POS ( <unsigned integer> )
  2740. ENG|091003      |     8|  |             | POS ( <parameter name> )
  2741. ENG|091003      |     9|  |             | SAME
  2742. ENG|091003      |    10|  |           }]  [<result table name>]
  2743. ENG|091003      |    11|R |    INTO  <parameter name> [<indicator name>] ,...
  2744. ENG|091004      |     1|  |    <select direct statement: searched>
  2745. ENG|091004      |     3| I|    SELECT DIRECT ##09100101<select^column>,...
  2746. ENG|091004      |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2747. ENG|091004      |     5|  |    FROM     <table name>
  2748. ENG|091004      |     6| I|    KEY      <column name> = ##091051<value^spec> ,...
  2749. ENG|091004      |     7| I|    [ ##09100104<where^clause> ]
  2750. ENG|091004      |     8|RI|    [ ##09100109<lock^option>  ]
  2751. ENG|091005      |     1|  |    <select direct statement: positioned>
  2752. ENG|091005      |     3| I|    SELECT DIRECT ##09100101<select^column>,...
  2753. ENG|091005      |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2754. ENG|091005      |     5|  |    FROM     <table name>
  2755. ENG|091005      |     6|  |    WHERE CURRENT OF <result table name>
  2756. ENG|091005      |     7|RI|    [ ##09100109<lock^option> ]
  2757. ENG|091006      |     1|  |    <select ordered statement: searched>
  2758. ENG|091006      |     3| M|    {   #01<select^ordered^format1:^searched>
  2759. ENG|091006      |     4| M|      | #02<select^ordered^format2:^searched>
  2760. ENG|091006      |     5|R |    }
  2761. ENG|09100601    |     1|  |    <select ordered format1: searched>
  2762. ENG|09100601    |     3| I|    SELECT {FIRST | LAST} ##09100101<select^column>,...
  2763. ENG|09100601    |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2764. ENG|09100601    |     5|  |      FROM   <table name>
  2765. ENG|09100601    |     6|  |    [{   INDEX     <column name>
  2766. ENG|09100601    |     7|  |       | INDEXNAME <index name>
  2767. ENG|09100601    |     8| I|       | INDEX     <column name> = ##091051<value^spec> [KEY ##091058<key^spec>,...]
  2768. ENG|09100601    |     9|  |       | INDEXNAME <index name>  VALUES ( <value spec>,... )
  2769. ENG|09100601    |    10|  |            [KEY <key spec>,...]
  2770. ENG|09100601    |    11|  |       | KEY <key spec>,...
  2771. ENG|09100601    |    12|  |     }]
  2772. ENG|09100601    |    13| I|    [ ##09100104<where^clause> ]
  2773. ENG|09100601    |    14|RI|    [ ##09100109<lock^option>  ]
  2774. ENG|09100602    |     1|  |    <select ordered format2: searched>
  2775. ENG|09100602    |     3| I|    SELECT {NEXT | PREV} ##09100101<select^column>,...
  2776. ENG|09100602    |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2777. ENG|09100602    |     5|  |      FROM   <table name>
  2778. ENG|09100602    |     6| I|    [{   INDEX     <column name> = ##091051<value^spec>
  2779. ENG|09100602    |     7|  |       | INDEXNAME <index name>  VALUES ( <value spec>,... )
  2780. ENG|09100602    |     8|  |     }]
  2781. ENG|09100602    |     9| I|      KEY ##091058<key^spec>,...
  2782. ENG|09100602    |    10| I|    [ ##09100104<where^clause> ]
  2783. ENG|09100602    |    11|RI|    [ ##09100109<lock^option>  ]
  2784. ENG|091007      |     1|  |    <select ordered statement: positioned>
  2785. ENG|091007      |     3| M|    {   #01<select^ordered^format1:^positioned>
  2786. ENG|091007      |     4| M|      | #02<select^ordered^format2:^positioned>
  2787. ENG|091007      |     5|R |    }
  2788. ENG|09100701    |     1|  |    <select ordered format1: positioned>
  2789. ENG|09100701    |     3| I|    SELECT {FIRST | LAST} ##09100101<select^column>,...
  2790. ENG|09100701    |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2791. ENG|09100701    |     5|  |      FROM   <table name>
  2792. ENG|09100701    |     6|  |    [{   INDEX     <column name>
  2793. ENG|09100701    |     7|  |       | INDEXNAME <index name>
  2794. ENG|09100701    |     8| I|       | INDEX     <column name> = ##091051<value^spec>
  2795. ENG|09100701    |     9|  |       | INDEXNAME <index name>  VALUES ( <value spec>,... )
  2796. ENG|09100701    |    10|  |     }]
  2797. ENG|09100701    |    11|  |      WHERE CURRENT OF <result table name>
  2798. ENG|09100701    |    12|RI|    [ ##09100109<lock^option> ]
  2799. ENG|09100702    |     1|  |    <select ordered format2: positioned>
  2800. ENG|09100702    |     3| I|    SELECT {NEXT | PREV} ##09100101<select^column>,...
  2801. ENG|09100702    |     4|  |    [ INTO   <parameter name> [<indicator name>] ,... ]
  2802. ENG|09100702    |     5|  |      FROM     <table name>
  2803. ENG|09100702    |     6| I|    [{   INDEX     <column name> = ##091051<value^spec>
  2804. ENG|09100702    |     7|  |       | INDEXNAME <index name>  VALUES ( <value spec>,... )
  2805. ENG|09100702    |     8|  |     }]
  2806. ENG|09100702    |     9|  |      WHERE CURRENT OF <result table name>
  2807. ENG|09100702    |    10|RI|    [ ##09100109<lock^option> ]
  2808. ENG|091008      |     1|  |    <explain statement>
  2809. ENG|091008      |     3|  |    EXPLAIN [ (<result table name>) ]
  2810. ENG|091008      |     4| I|    {   ##091059<query^statement>
  2811. ENG|091008      |     5| I|      | ##09100111<single^select^statement>
  2812. ENG|091008      |     6|R |    }
  2813. ENG|091010      |     1|  |    <create table statement>
  2814. ENG|091010      |     3|  |    {   CREATE TABLE <table name>
  2815. ENG|091010      |     4| M|          [ ({   #01<column^definition>
  2816. ENG|091010      |     5| M|               | #04<constraint^definition>
  2817. ENG|091010      |     6| M|               | #05<referential^constraint^definition>
  2818. ENG|091010      |     7| I|               | ##0910100301<key^definition>
  2819. ENG|091010      |     8|  |               | UNIQUE ( <column name>,... )
  2820. ENG|091010      |     9|  |               ,...
  2821. ENG|091010      |    10|  |             })
  2822. ENG|091010      |    11|  |          ]
  2823. ENG|091010      |    12| I|          [ ##09101006<table^option> ]
  2824. ENG|091010      |    13| I|          [ AS ##09105501<query^expression> [##09101007<duplicates^clause>] ]
  2825. ENG|091010      |    14|  |      | CREATE TABLE <like table> LIKE <source table>
  2826. ENG|091010      |    15| I|        [ ##09101006<table^option> ]
  2827. ENG|091010      |    16|R |    }
  2828. ENG|09101001    |     1|  |    <column definition>
  2829. ENG|09101001    |     3| M|    {   <column name> #01<data^type>   #02<column^attributes>
  2830. ENG|09101001    |     4| I|      | <column name> <domain name> [ ##09101003<key^or^not^null^spec> ]
  2831. ENG|09101001    |     5|R |    }
  2832. ENG|0910100101  |     1|  |    <data type>
  2833. ENG|0910100101  |     3|  |    {   CHAR[ACTER] [ (<unsigned integer>) ] [<code spec>]
  2834. ENG|0910100101  |     4|  |      | VARCHAR     [ (<unsigned integer>) ] [<code spec>]
  2835. ENG|0910100101  |     5|  |      | LONG [VARCHAR] [<code spec>]
  2836. ENG|0910100101  |     6|  |      | BOOLEAN
  2837. ENG|0910100101  |     7|  |      | FIXED       ( <unsigned integer> [,<unsigned integer>] )
  2838. ENG|0910100101  |     8|  |      | FLOAT       ( <unsigned integer> )
  2839. ENG|0910100101  |     9|  |      | DATE
  2840. ENG|0910100101  |    10|  |      | TIME
  2841. ENG|0910100101  |    11|  |      | TIMESTAMP
  2842. ENG|0910100101  |    12|  |    }
  2843. ENG|0910100101  |    15|  |    <code spec>
  2844. ENG|0910100101  |    17|R |    { ASCII | EBCDIC | BYTE }
  2845. ENG|0910100102  |     1|  |    <column attributes>
  2846. ENG|0910100102  |     3| I|    [ ##09101003<key^or^not^null^spec> ]
  2847. ENG|0910100102  |     4| M|    [ #01<default^spec> ]
  2848. ENG|0910100102  |     5| I|    [ ##09101004<constraint^definition> ]
  2849. ENG|0910100102  |     6|  |    [ REFERENCES <referenced table> [ (<column name>) ]
  2850. ENG|0910100102  |     7|R |    [ UNIQUE ]
  2851. ENG|091010010201|     1|  |    <default spec>
  2852. ENG|091010010201|     3|  |    DEFAULT {   <literal>
  2853. ENG|091010010201|     4|  |              | NULL
  2854. ENG|091010010201|     5|  |              | USER
  2855. ENG|091010010201|     6|  |              | USERGROUP
  2856. ENG|091010010201|     7|  |              | DATE
  2857. ENG|091010010201|     8|  |              | TIME
  2858. ENG|091010010201|     9|  |              | TIMESTAMP
  2859. ENG|091010010201|    10|  |              | STAMP
  2860. ENG|091010010201|    11|  |              | TRUE
  2861. ENG|091010010201|    12|  |              | FALSE
  2862. ENG|091010010201|    13|R |            }
  2863. ENG|09101003    |     1|  |    <key or not null spec>
  2864. ENG|09101003    |     3|  |    {   [PRIMARY] KEY
  2865. ENG|09101003    |     4|  |      | NOT NULL [WITH DEFAULT]
  2866. ENG|09101003    |     5|R |    }
  2867. ENG|0910100301  |     1|  |    <key definition>
  2868. ENG|0910100301  |     3|R |    PRIMARY KEY ( <column name>,... )
  2869. ENG|09101004    |     1|  |    <constraint definition>
  2870. ENG|09101004    |     3| I|    {   CHECK      ##091056<search^condition>
  2871. ENG|09101004    |     4|  |      | CONSTRAINT <search condition>
  2872. ENG|09101004    |     5|  |      | CONSTRAINT <constraint name> CHECK <search condition>
  2873. ENG|09101004    |     6|  |    }
  2874. ENG|09101004    |     9|  |    The <search condition> of the <constraint definition>
  2875. ENG|09101004    |    10|R |    must not contain a <subquery>.
  2876. ENG|09101005    |     1|  |    <referential constraint definition>
  2877. ENG|09101005    |     3|  |    FOREIGN KEY  [ <referential constraint name> ]
  2878. ENG|09101005    |     4|  |       ( <column name>,... )
  2879. ENG|09101005    |     5|  |       REFERENCES <referenced table> [ (<column name>,...) ]
  2880. ENG|09101005    |     6|RM|       [ #01<delete^rule> ]
  2881. ENG|0910100501  |     1|  |    <delete rule>
  2882. ENG|0910100501  |     3|  |    ON DELETE {   RESTRICT
  2883. ENG|0910100501  |     4|  |                | CASCADE
  2884. ENG|0910100501  |     5|  |                | SET DEFAULT
  2885. ENG|0910100501  |     6|  |                | SET NULL
  2886. ENG|0910100501  |     7|R |              }
  2887. ENG|09101006    |     1|  |    <table option>
  2888. ENG|09101006    |     3|  |    {   WITH REPLICATION
  2889. ENG|09101006    |     4|  |      | IGNORE ROLLBACK
  2890. ENG|09101006    |     5|R |    }
  2891. ENG|09101007    |     1|  |    <duplicates clause>
  2892. ENG|09101007    |     3|  |    {   REJECT
  2893. ENG|09101007    |     4|  |      | IGNORE
  2894. ENG|09101007    |     5|  |      | UPDATE
  2895. ENG|09101007    |     6|R |    } DUPLICATES
  2896. ENG|09101008    |     1|  |    <table description>
  2897. ENG|09101008    |     3| I|    ( { {   <column name> ##0910100101<data^type>   ##0910100102<column^attributes>
  2898. ENG|09101008    |     4| I|          | <column name> <domain name> [ ##09101003<key^or^not^null^spec> ]
  2899. ENG|09101008    |     5|  |        }
  2900. ENG|09101008    |     6| I|        | ##09101004<constraint^definition>
  2901. ENG|09101008    |     7| I|        | ##09101005<referential^constraint^definition>
  2902. ENG|09101008    |     8| I|        | ##0910100301<key^definition>
  2903. ENG|09101008    |     9|  |        | UNIQUE ( <column name>,... )
  2904. ENG|09101008    |    10|  |      } ,...
  2905. ENG|09101008    |    11|R |    )
  2906. ENG|091011      |     1|  |    <alter table statement>
  2907. ENG|091011      |     3| M|    {   ALTER TABLE <table name> #01<add^definition>
  2908. ENG|091011      |     4| M|      | ALTER TABLE <table name> #02<drop^definition>
  2909. ENG|091011      |     5| M|      | ALTER TABLE <table name> #03<alter^definition>
  2910. ENG|091011      |     6| I|      | ALTER TABLE <table name> ##09101005<referential^constraint^definition>
  2911. ENG|091011      |     7|  |      | ALTER TABLE <table name> DROP FOREIGN KEY
  2912. ENG|091011      |     8|  |             <referential constraint name>
  2913. ENG|091011      |     9|R |    }
  2914. ENG|09101101    |     1|  |    <add definition>
  2915. ENG|09101101    |     3|  |    {   ADD   <alter column definition>,...
  2916. ENG|09101101    |     4|  |      | ADD ( <alter column definition>,... )
  2917. ENG|09101101    |     5| I|      | ADD ##09101004<constraint^definition>
  2918. ENG|09101101    |     6| I|      | ADD ##0910100301<key^definition>
  2919. ENG|09101101    |     7|  |      | ADD REPLICATION
  2920. ENG|09101101    |     8|  |    }
  2921. ENG|09101101    |    11|  |    <alter column definition>
  2922. ENG|09101101    |    13| I|    {   <column name> ##0910100101<data^type> [ ##09101004<constraint^definition> ]
  2923. ENG|09101101    |    14|  |      | <column name> <domain name>
  2924. ENG|09101101    |    15|R |    }
  2925. ENG|09101102    |     1|  |    <drop definition>
  2926. ENG|09101102    |     3|  |    {   DROP   <column name>,...   [{ CASCADE | RESTRICT }]
  2927. ENG|09101102    |     4|  |      | DROP ( <column name>,... ) [{ CASCADE | RESTRICT }]
  2928. ENG|09101102    |     5|  |      | DROP CONSTRAINT <constraint name>
  2929. ENG|09101102    |     6|  |      | DROP PRIMARY KEY
  2930. ENG|09101102    |     7|  |      | DROP REPLICATION
  2931. ENG|09101102    |     8|R |    }
  2932. ENG|09101103    |     1|  |    <alter definition>
  2933. ENG|09101103    |     3| I|    {   COLUMN <column name> { ##0910100101<data^type> | <domain name> }
  2934. ENG|09101103    |     4|  |      | COLUMN <column name> NOT     NULL
  2935. ENG|09101103    |     5|  |      | COLUMN <column name> DEFAULT NULL
  2936. ENG|09101103    |     6| I|      | COLUMN <column name> ADD     ##091010010201<default^spec>
  2937. ENG|09101103    |     7|  |      | COLUMN <column name> ALTER   <default spec>
  2938. ENG|09101103    |     8|  |      | COLUMN <column name> DROP    DEFAULT
  2939. ENG|09101103    |     9| I|      | ALTER CONSTRAINT <constraint name> CHECK ##091056<search^condition>
  2940. ENG|09101103    |    10| I|      | ALTER ##0910100301<key^definition>
  2941. ENG|09101103    |    11|R |    }
  2942. ENG|091012      |     1|  |    <drop table statement>
  2943. ENG|091012      |     3|R |    DROP TABLE <table name> [{ CASCADE | RESTRICT }]
  2944. ENG|091013      |     1|  |    <create domain statement>
  2945. ENG|091013      |     3|  |    CREATE DOMAIN <domain name>
  2946. ENG|091013      |     4| I|      ##0910100101<data^type>
  2947. ENG|091013      |     5| I|      [ ##091010010201<default^spec> ]
  2948. ENG|091013      |     6|RI|      [ ##09101004<constraint^definition> ]
  2949. ENG|091014      |     1|  |    <drop domain statement>
  2950. ENG|091014      |     3|R |    DROP DOMAIN <domain name>
  2951. ENG|091015      |     1|  |    <create synonym statement>
  2952. ENG|091015      |     3|  |    CREATE SYNONYM [<owner>.]<synonym name> FOR <table name>
  2953. ENG|091015      |     6|  |    <rename synonym statement>
  2954. ENG|091015      |     8|  |    RENAME SYNONYM <old synonym name> TO <new synonym name>
  2955. ENG|091015      |    11|  |    <drop synonym statement>
  2956. ENG|091015      |    13|R |    DROP SYNONYM [<owner>.]<synonym name>
  2957. ENG|091016      |     1|  |    <create view statement>
  2958. ENG|091016      |     3|  |    CREATE [OR REPLACE] VIEW <table name> [ ( <column name>,... ) ]
  2959. ENG|091016      |     4| I|      AS ##09105501<query^expression>
  2960. ENG|091016      |     5|  |      [ WITH CHECK OPTION ]
  2961. ENG|091016      |     9|  |    <drop view statement>
  2962. ENG|091016      |    11|  |    DROP VIEW <table name> [{ CASCADE | RESTRICT }]
  2963. ENG|091016      |    15|  |    <rename view statement>
  2964. ENG|091016      |    17|R |    RENAME VIEW <old table name> TO <new table name>
  2965. ENG|091017      |     1|R |    <out of order>
  2966. ENG|091018      |     1|  |    <create index statement>
  2967. ENG|091018      |     3|  |    CREATE [UNIQUE] INDEX
  2968. ENG|091018      |     4|  |    {   <table name>.<column name> [{ASC | DESC}]
  2969. ENG|091018      |     5|  |      | <index name> ON <table name> ( <column name> [{ASC | DESC}] ,... )
  2970. ENG|091018      |     6|  |    }
  2971. ENG|091018      |     9|  |    <drop index statement>
  2972. ENG|091018      |    11|  |    DROP INDEX {   <index name> [ON <table name>]
  2973. ENG|091018      |    12|  |                 | <table name>.<column name>
  2974. ENG|091018      |    13|R |               }
  2975. ENG|091019      |     1|  |    <rename table statement>
  2976. ENG|091019      |     3|R |    RENAME TABLE <old table name> TO <new table name>
  2977. ENG|091020      |     1|  |    <rename column statement>
  2978. ENG|091020      |     3|  |    RENAME COLUMN <table name>.<old column name>
  2979. ENG|091020      |     4|R |      TO <new column name>
  2980. ENG|091021      |     1|R |    <out of order>
  2981. ENG|091022      |     1|R |    <out of order>
  2982. ENG|091023      |     1|  |    <exists table statement>
  2983. ENG|091023      |     3|R |    EXISTS TABLE <table name>
  2984. ENG|091024      |     1|  |    <insert statement>
  2985. ENG|091024      |     3|  |    INSERT [INTO] <table name>
  2986. ENG|091024      |     4|  |    {   [ ( <column name>,... ) ] VALUES
  2987. ENG|091024      |     5| I|            ( { ##091050<expression> | DEFAULT | STAMP } ,... )
  2988. ENG|091024      |     6| I|      | [ ( <column name>,... ) ] ##09105501<query^expression>
  2989. ENG|091024      |     7| I|      | SET <column name> = { ##091051<value^spec> | DEFAULT | STAMP }
  2990. ENG|091024      |     8|  |          ,...
  2991. ENG|091024      |     9|  |    }
  2992. ENG|091024      |    10|RI|    [ ##09101007<duplicates^clause> ]
  2993. ENG|091025      |     1|  |    <update statement>
  2994. ENG|091025      |     3|  |    UPDATE [OF] <table name> [ <reference name> ]
  2995. ENG|091025      |     4|  |    {   SET { <column name> =
  2996. ENG|091025      |     5| I|              {   ##091050<expression>
  2997. ENG|091025      |     6| I|                | ##091055<subquery>
  2998. ENG|091025      |     7|  |                | DEFAULT
  2999. ENG|091025      |     8|  |                | STAMP
  3000. ENG|091025      |     9|  |              }
  3001. ENG|091025      |    10|  |            } [,...]
  3002. ENG|091025      |    11|  |            } ,...
  3003. ENG|091025      |    12|  |      | ( <column name>,... ) VALUES
  3004. ENG|091025      |    13| I|            ( { ##091051<value^spec> | DEFAULT | STAMP } ,... )
  3005. ENG|091025      |    14|  |    }
  3006. ENG|091025      |    15| I|    [ KEY ##091058<key^spec>,... ]
  3007. ENG|091025      |    16|RI|    [ WHERE ##091056<search^condition> ]
  3008. ENG|09102501    |     1|  |    <update statement> with "CURRENT OF"
  3009. ENG|09102501    |     3|  |    UPDATE [OF] <table name> [ <reference name> ]
  3010. ENG|09102501    |     4|  |    {   SET { <column name> =
  3011. ENG|09102501    |     5| I|              {   ##091050<expression>
  3012. ENG|09102501    |     6| I|                | ##091055<subquery>
  3013. ENG|09102501    |     7|  |                | DEFAULT
  3014. ENG|09102501    |     8|  |                | STAMP
  3015. ENG|09102501    |     9|  |              }
  3016. ENG|09102501    |    10|  |            } ,...
  3017. ENG|09102501    |    11|  |      | ( <column name>,... ) VALUES
  3018. ENG|09102501    |    12| I|            ( { ##091051<value^spec> | DEFAULT | STAMP } ,... )
  3019. ENG|09102501    |    13|  |    }
  3020. ENG|09102501    |    14|R |    WHERE CURRENT OF <result table name>
  3021. ENG|091026      |     1|  |    <delete statement>
  3022. ENG|091026      |     3|  |    DELETE [FROM] <table name> [<reference name>]
  3023. ENG|091026      |     4| I|    [ KEY ##091058<key^spec>,... ]
  3024. ENG|091026      |     5|RI|    [ WHERE ##091056<search^condition> ]
  3025. ENG|09102601    |     1|  |    <delete statement> with "CURRENT OF"
  3026. ENG|09102601    |     3|  |    DELETE [FROM] <table name> [<reference name>]
  3027. ENG|09102601    |     4|R |    WHERE CURRENT OF <result table name>
  3028. ENG|091027      |     1|  |    <next stamp statement>
  3029. ENG|091027      |     3|R |    NEXT STAMP [FOR <tablename>] [INTO] <parameter name>
  3030. ENG|091028      |     1|  |    <connect statement>
  3031. ENG|091028      |     3|  |    CONNECT          { <parameter name> | <user name> }
  3032. ENG|091028      |     4|  |    IDENTIFIED BY    <password spec>
  3033. ENG|091028      |     5|  |    [ SQLMODE         { ANSI | DB2 | ORACLE | ADABAS } ]
  3034. ENG|091028      |     6|  |    [ ISOLATION LEVEL { 0 | 1 | 2 | 3 | 10 | 15 | 20 | 30 } ]
  3035. ENG|091028      |     7|  |    [ TIMEOUT         <unsigned integer> ]
  3036. ENG|091028      |     8|  |    [ CACHELIMIT      <unsigned integer> ]
  3037. ENG|091028      |     9|R |    [ TERMCHAR SET    <termchar set name> ]
  3038. ENG|09102801    |     1|  |    <release statement>
  3039. ENG|09102801    |     3|  |    {   COMMIT   [ WORK ] RELEASE
  3040. ENG|09102801    |     4|  |      | ROLLBACK [ WORK ] RELEASE
  3041. ENG|09102801    |     5|R |    }
  3042. ENG|091029      |     1|  |    <commit statement>
  3043. ENG|091029      |     3| I|    COMMIT [WORK] [KEEP ##09102902<lock^statement>]
  3044. ENG|091029      |     6|  |    <rollback statement>
  3045. ENG|091029      |     8|R |    ROLLBACK [WORK] [KEEP <lock statement>]
  3046. ENG|09102901    |     1|  |    <subtrans statement>
  3047. ENG|09102901    |     3|  |    SUBTRANS {   BEGIN
  3048. ENG|09102901    |     4|  |               | END
  3049. ENG|09102901    |     5|  |               | ROLLBACK
  3050. ENG|09102901    |     6|R |             }
  3051. ENG|09102902    |     1|  |    <lock statement>
  3052. ENG|09102902    |     3|  |    LOCK [{ (NOWAIT) | (WAIT) }]
  3053. ENG|09102902    |     4| M|    {   #01<lock^spec> IN {   SHARE MODE
  3054. ENG|09102902    |     5|  |                         | EXCLUSIVE MODE
  3055. ENG|09102902    |     6|  |                         | SHARE MODE <lock spec> IN EXCLUSIVE MODE
  3056. ENG|09102902    |     7|  |                          }
  3057. ENG|09102902    |     8| I|      | {   ROW <table name> KEY ##091058<key^spec>,...
  3058. ENG|09102902    |     9|  |          | ROW <table name> CURRENT OF <result table name>
  3059. ENG|09102902    |    10|  |        } ... OPTIMISTIC
  3060. ENG|09102902    |    11|R |    }
  3061. ENG|0910290201  |     1|  |    <lock spec>
  3062. ENG|0910290201  |     3|  |    {   TABLE <table name>,...
  3063. ENG|0910290201  |     4| I|      | {   ROW <table name> KEY ##091058<key^spec>,...
  3064. ENG|0910290201  |     5|  |          | ROW <table name> CURRENT OF <result table name>
  3065. ENG|0910290201  |     6|  |        } ...
  3066. ENG|0910290201  |     7|  |      | TABLE <table name>,...
  3067. ENG|0910290201  |     8|  |        {   ROW <table name> KEY <key spec>,...
  3068. ENG|0910290201  |     9|  |          | ROW <table name> CURRENT OF <result table name>
  3069. ENG|0910290201  |    10|  |        } ...
  3070. ENG|0910290201  |    11|R |    }
  3071. ENG|09102903    |     1|  |    <unlock statement>
  3072. ENG|09102903    |     3|  |    UNLOCK <row lock spec>
  3073. ENG|09102903    |     4|  |    {   IN
  3074. ENG|09102903    |     5|  |        {   SHARE MODE
  3075. ENG|09102903    |     6|  |          | EXCLUSIVE MODE
  3076. ENG|09102903    |     7|  |          | SHARE MODE
  3077. ENG|09102903    |     8|  |              <row lock spec> IN EXCLUSIVE MODE
  3078. ENG|09102903    |     9|  |        }
  3079. ENG|09102903    |    10|  |      | OPTIMISTIC
  3080. ENG|09102903    |    11|  |    }
  3081. ENG|09102903    |    14|  |    <row lock spec>
  3082. ENG|09102903    |    16| I|    {   ROW <table name> KEY ##091058<key^spec>,...
  3083. ENG|09102903    |    17|  |      | ROW <table name> CURRENT OF <result table name>
  3084. ENG|09102903    |    18|R |    } ...
  3085. ENG|091030      |     1|  |    <create user statement>
  3086. ENG|091030      |     3|  |    CREATE USER
  3087. ENG|091030      |     4|  |    {   <user name> PASSWORD <password>
  3088. ENG|091030      |     5|  |           [ STANDARD | DBA | RESOURCE ]
  3089. ENG|091030      |     6|  |           [ PERMLIMIT   <unsigned integer> ]
  3090. ENG|091030      |     7|  |           [ TEMPLIMIT   <unsigned integer> ]
  3091. ENG|091030      |     8|  |           [ TIMEOUT     <unsigned integer> ]
  3092. ENG|091030      |     9|  |           [ COSTWARNING <unsigned integer> ]
  3093. ENG|091030      |    10|  |           [ COSTLIMIT   <unsigned integer> ]
  3094. ENG|091030      |    11|  |           [ CACHELIMIT  <unsigned integer> ]
  3095. ENG|091030      |    12|  |           [ [NOT] EXCLUSIVE ]
  3096. ENG|091030      |    13|  |           [ AT <serverdb name> ]
  3097. ENG|091030      |    14|  |      | <like user> PASSWORD <password> LIKE <source user>
  3098. ENG|091030      |    15|  |      | <user name> PASSWORD <password> USERGROUP <usergroup name>
  3099. ENG|091030      |    16|R |    }
  3100. ENG|09103001    |     1|  |    <create usergroup statement>
  3101. ENG|09103001    |     3|  |    CREATE USERGROUP <usergroup name>
  3102. ENG|09103001    |     4|  |       [ STANDARD | RESOURCE ]
  3103. ENG|09103001    |     5|  |       [ PERMLIMIT   <unsigned integer> ]
  3104. ENG|09103001    |     6|  |       [ TEMPLIMIT   <unsigned integer> ]
  3105. ENG|09103001    |     7|  |       [ TIMEOUT     <unsigned integer> ]
  3106. ENG|09103001    |     8|  |       [ COSTWARNING <unsigned integer> ]
  3107. ENG|09103001    |     9|  |       [ COSTLIMIT   <unsigned integer> ]
  3108. ENG|09103001    |    10|  |       [ CACHELIMIT  <unsigned integer> ]
  3109. ENG|09103001    |    11|  |       [ [NOT] EXCLUSIVE ]
  3110. ENG|09103001    |    12|R |       [ AT <serverdb name> ]
  3111. ENG|09103002    |     1|  |    <alter user statement>
  3112. ENG|09103002    |     3|  |    ALTER USER <user name>
  3113. ENG|09103002    |     4|  |       [ STANDARD | DBA | RESOURCE ]
  3114. ENG|09103002    |     5|  |       [ PERMLIMIT   {<unsigned integer> | NULL} ]
  3115. ENG|09103002    |     6|  |       [ TEMPLIMIT   {<unsigned integer> | NULL} ]
  3116. ENG|09103002    |     7|  |       [ TIMEOUT     {<unsigned integer> | NULL} ]
  3117. ENG|09103002    |     8|  |       [ COSTWARNING {<unsigned integer> | NULL} ]
  3118. ENG|09103002    |     9|  |       [ COSTLIMIT   {<unsigned integer> | NULL} ]
  3119. ENG|09103002    |    10|  |       [ CACHELIMIT  {<unsigned integer> | NULL} ]
  3120. ENG|09103002    |    11|R |       [ [NOT] EXCLUSIVE ]
  3121. ENG|0910300201  |     1|  |    <alter usergroup statement>
  3122. ENG|0910300201  |     3|  |    ALTER USERGROUP <usergroup name>
  3123. ENG|0910300201  |     4|  |       [ STANDARD | RESOURCE ]
  3124. ENG|0910300201  |     5|  |       [ PERMLIMIT   {<unsigned integer> | NULL} ]
  3125. ENG|0910300201  |     6|  |       [ TEMPLIMIT   {<unsigned integer> | NULL} ]
  3126. ENG|0910300201  |     7|  |       [ TIMEOUT     {<unsigned integer> | NULL} ]
  3127. ENG|0910300201  |     8|  |       [ COSTWARNING {<unsigned integer> | NULL} ]
  3128. ENG|0910300201  |     9|  |       [ COSTLIMIT   {<unsigned integer> | NULL} ]
  3129. ENG|0910300201  |    10|  |       [ CACHELIMIT  {<unsigned integer> | NULL} ]
  3130. ENG|0910300201  |    11|R |       [ [NOT] EXCLUSIVE ]
  3131. ENG|09103003    |     1|  |    <drop user statement>
  3132. ENG|09103003    |     3|R |    DROP USER <user name> [{ CASCADE | RESTRICT }]
  3133. ENG|09103004    |     1|  |    <drop usergroup statement>
  3134. ENG|09103004    |     3|R |    DROP USER <user name> [{ CASCADE | RESTRICT }]
  3135. ENG|09103005    |     1|  |    <alter password statement>
  3136. ENG|09103005    |     3|  |    User  : ALTER PASSWORD <old password> TO <new password>
  3137. ENG|09103005    |     5|R |    SYSDBA: ALTER PASSWORD <user name> <new password>
  3138. ENG|09103006    |     1|  |    <grant user statement>
  3139. ENG|09103006    |     3|  |    GRANT USER { * | <user name>,... }
  3140. ENG|09103006    |     4|  |      [ FROM <user name> ] TO <user name>
  3141. ENG|09103006    |     7|  |    <grant usergroup statement>
  3142. ENG|09103006    |     9|  |    GRANT USERGROUP { * | <usergroup name>,... }
  3143. ENG|09103006    |    10|R |      [ FROM <user name> ] TO <user name>
  3144. ENG|09103007    |     1|  |    <grant statement>
  3145. ENG|09103007    |     3|  |    GRANT {   {   ALL [ PRIV[ILEGES] ]
  3146. ENG|09103007    |     4|  |                | {   INSERT
  3147. ENG|09103007    |     5|  |                    | UPDATE [ (<column name>,...) ]
  3148. ENG|09103007    |     6|  |                    | SELECT [ (<column name>,...) ]
  3149. ENG|09103007    |     7|  |                    | SELUPD [ (<column name>,...) ]
  3150. ENG|09103007    |     8|  |                    | DELETE
  3151. ENG|09103007    |     9|  |                    | INDEX
  3152. ENG|09103007    |    10|  |                    | ALTER
  3153. ENG|09103007    |    11|  |                    | REFERENCES [ (<column name>,...) ]
  3154. ENG|09103007    |    12|  |                  } ,...
  3155. ENG|09103007    |    13|  |              } ON [TABLE] <table name>,...
  3156. ENG|09103007    |    14|  |              } ON [TABLE] <table name> [,...]
  3157. ENG|09103007    |    15|  |          } ,...
  3158. ENG|09103007    |    16|  |      TO {   PUBLIC
  3159. ENG|09103007    |    17|  |           | <user name>
  3160. ENG|09103007    |    18|R |           | <usergroup name> } ,...    [ WITH GRANT OPTION ]
  3161. ENG|09103008    |     1|  |    <grant statement> (EXECUTE privilege)
  3162. ENG|09103008    |     3|  |    GRANT EXECUTE ON [<owner>.]<program name>.<procedure name>
  3163. ENG|09103008    |     4|  |      TO {   PUBLIC
  3164. ENG|09103008    |     5|  |           | <user name>
  3165. ENG|09103008    |     6|  |           | <usergroup name>
  3166. ENG|09103008    |     7|R |         } ,...
  3167. ENG|09103009    |     1|  |    <revoke statement>
  3168. ENG|09103009    |     3|  |    REVOKE {   {   ALL [ PRIV[ILEGES] ]
  3169. ENG|09103009    |     4|  |                 | {   INSERT
  3170. ENG|09103009    |     5|  |                     | UPDATE [ (<column name>,...) ]
  3171. ENG|09103009    |     6|  |                     | SELECT [ (<column name>,...) ]
  3172. ENG|09103009    |     7|  |                     | SELUPD [ (<column name>,...) ]
  3173. ENG|09103009    |     8|  |                     | DELETE
  3174. ENG|09103009    |     9|  |                     | INDEX
  3175. ENG|09103009    |    10|  |                     | ALTER
  3176. ENG|09103009    |    11|  |                     | REFERENCES [ (<column name>,...) ]
  3177. ENG|09103009    |    12|  |                   } ,...
  3178. ENG|09103009    |    13|  |               } ON [TABLE] <table name>,...
  3179. ENG|09103009    |    14|  |           }
  3180. ENG|09103009    |    15|  |      FROM {   PUBLIC
  3181. ENG|09103009    |    16|  |             | <user name>
  3182. ENG|09103009    |    17|  |             | <usergroup name> } ,...
  3183. ENG|09103009    |    18|S |      [{ CASCADE | RESTRICT }]
  3184. ENG|09103009    |    19|  |    <revoke statement> (EXECUTE privilege)
  3185. ENG|09103009    |    21|  |    REVOKE EXECUTE ON [<owner>.]<program name>.<procedure name>
  3186. ENG|09103009    |    22|  |      FROM {   PUBLIC
  3187. ENG|09103009    |    23|  |             | <user name>
  3188. ENG|09103009    |    24|  |             | <usergroup name>
  3189. ENG|09103009    |    25|R |           } [,...]
  3190. ENG|091050      |     1|  |    <expression>
  3191. ENG|091050      |     3|  |    {   <term>
  3192. ENG|091050      |     4|  |      | <expression> + <term>
  3193. ENG|091050      |     5|  |      | <expression> - <term>
  3194. ENG|091050      |     6|  |    }
  3195. ENG|091050      |     9|  |    <term>
  3196. ENG|091050      |    11| M|    {   #01<factor>
  3197. ENG|091050      |    12|  |      | <term>  *  <factor>
  3198. ENG|091050      |    13|  |      | <term>  /  <factor>
  3199. ENG|091050      |    14|  |      | <term> DIV <factor>
  3200. ENG|091050      |    15|  |      | <term> MOD <factor>
  3201. ENG|091050      |    16|R |    }
  3202. ENG|09105001    |     1|  |    <factor>
  3203. ENG|09105001    |     3|  |    { [{+ | -}]
  3204. ENG|09105001    |     4| I|         ##091051<value^spec>
  3205. ENG|09105001    |     5| I|       | ##091052<column^spec>
  3206. ENG|09105001    |     6| I|       | ##091053<function^spec>
  3207. ENG|09105001    |     7| I|       | ##091054<set^function^spec>
  3208. ENG|09105001    |     8|  |       | ( <expression> )
  3209. ENG|09105001    |     9|R |    }
  3210. ENG|09105002    |     1|  |    <expression list>
  3211. ENG|09105002    |     3|RI|    ( ##091050<expression>,... )
  3212. ENG|091051      |     1|  |    <value spec>
  3213. ENG|091051      |     3|  |    {   <literal>
  3214. ENG|091051      |     4|  |      | <parameter name> [ <indicator name> ]
  3215. ENG|091051      |     5|  |      | NULL
  3216. ENG|091051      |     6|  |      | USER
  3217. ENG|091051      |     7|  |      | USERGROUP
  3218. ENG|091051      |     8|  |      | LOCALSYSDBA
  3219. ENG|091051      |     9|  |      | SYSDBA [ (<user name>) ]
  3220. ENG|091051      |    10|  |      | SYSDBA [ (<usergroup name>) ]
  3221. ENG|091051      |    11|  |      | DATE
  3222. ENG|091051      |    12|  |      | TIME
  3223. ENG|091051      |    13|  |      | TIMESTAMP
  3224. ENG|091051      |    14|  |      | TIMEZONE
  3225. ENG|091051      |    15|  |      | TRUE
  3226. ENG|091051      |    16|  |      | FALSE
  3227. ENG|091051      |    17|R |    }
  3228. ENG|091052      |     1|  |    <column spec>
  3229. ENG|091052      |     3|  |    {   <column name>
  3230. ENG|091052      |     4|  |      | <table name>.<column name>
  3231. ENG|091052      |     5|  |      | <reference name>.<column name>
  3232. ENG|091052      |     6|  |      | <result table name>.<column name>
  3233. ENG|091052      |     7|R |    }
  3234. ENG|091053      |     1|  |    <function spec>
  3235. ENG|091053      |     3| M|    {   #01<arithmetic^function>
  3236. ENG|091053      |     4| M|      | #09<trigonometric^function>
  3237. ENG|091053      |     5| M|      | #02<string^function>
  3238. ENG|091053      |     6| M|      | #03<date^function>
  3239. ENG|091053      |     7| M|      | #04<time^function>
  3240. ENG|091053      |     8| M|      | #05<extraction^function>
  3241. ENG|091053      |     9| M|      | #06<special^function>
  3242. ENG|091053      |    10| M|      | #07<conversion^function>
  3243. ENG|091053      |    11| M|      | #10<userdefined^function>
  3244. ENG|091053      |    12|R |    }
  3245. ENG|09105301    |     1|  |    <arithmetic function>
  3246. ENG|09105301    |     3| I|    {   TRUNC   ( ##091050<expression> [, <expression>] )
  3247. ENG|09105301    |     4|  |      | ROUND   ( <expression> [, <expression>] )
  3248. ENG|09105301    |     5|  |      | NOROUND ( <expression> )
  3249. ENG|09105301    |     6|  |      | FIXED   ( <expression> [, <unsigned integer>[, <unsigned integer>] ] )
  3250. ENG|09105301    |     7|  |      | CEIL    ( <expression> )
  3251. ENG|09105301    |     8|  |      | FLOOR   ( <expression> )
  3252. ENG|09105301    |     9|  |      | SIGN    ( <expression> )
  3253. ENG|09105301    |    10|  |      | ABS     ( <expression> )
  3254. ENG|09105301    |    11|  |      | POWER   ( <expression>, <expression> )
  3255. ENG|09105301    |    12|  |      | EXP     ( <expression> )
  3256. ENG|09105301    |    13|  |      | SQRT    ( <expression> )
  3257. ENG|09105301    |    14|  |      | LN      ( <expression> )
  3258. ENG|09105301    |    15|  |      | LOG     ( <expression>, <expression> )
  3259. ENG|09105301    |    16|  |      | PI
  3260. ENG|09105301    |    17|S |      | LENGTH  ( <expression> )
  3261. ENG|09105301    |    19|  |      | INDEX   ( <string spec>, <string spec>
  3262. ENG|09105301    |    20|  |                     [,<expression>[, <expression>] ] )
  3263. ENG|09105301    |    21|  |    }
  3264. ENG|09105301    |    24|  |    <string spec>
  3265. ENG|09105301    |    26| I|    ##091050<expression>
  3266. ENG|09105301    |    28|  |    For  a  <string spec>, only those <expression>s are valid that identify
  3267. ENG|09105301    |    29|R |    an alphanumeric value as the result.
  3268. ENG|09105302    |     1|  |    <string function>
  3269. ENG|09105302    |     3|  |    {   <string spec> || <string spec>
  3270. ENG|09105302    |     4|  |      | <string spec> & <string spec>
  3271. ENG|09105302    |     5| I|      | SUBSTR    ( <string spec>, ##091050<expression> [, <expression>] )
  3272. ENG|09105302    |     6|  |      | LFILL     ( <string spec>, <string literal>
  3273. ENG|09105302    |     7|  |                      [,<unsigned integer> ] )
  3274. ENG|09105302    |     8|  |      | RFILL     ( <string spec>, <string literal>
  3275. ENG|09105302    |     9|  |                      [,<unsigned integer> ] )
  3276. ENG|09105302    |    10|  |      | LPAD      ( <string spec>, <expression>, <string literal>
  3277. ENG|09105302    |    11|  |                      [,<unsigned integer> ] )
  3278. ENG|09105302    |    12|  |      | RPAD      ( <string spec>, <expression>, <string literal>
  3279. ENG|09105302    |    13|  |                      [,<unsigned integer> ] )
  3280. ENG|09105302    |    14|  |      | TRIM      ( <string spec>[, <string spec> ] )
  3281. ENG|09105302    |    15|  |      | LTRIM     ( <string spec>[, <string spec> ] )
  3282. ENG|09105302    |    16|  |      | RTRIM     ( <string spec>[, <string spec> ] )
  3283. ENG|09105302    |    17|  |      | EXPAND    ( <string spec>, <unsigned integer> )
  3284. ENG|09105302    |    18|S |      | UPPER     ( <string spec> )
  3285. ENG|09105302    |    19|  |      | LOWER     ( <string spec> )
  3286. ENG|09105302    |    20|  |      | INITCAP   ( <string spec> )
  3287. ENG|09105302    |    21|  |      | REPLACE   ( <string spec>, <string spec>[, <string spec> ] )
  3288. ENG|09105302    |    22|  |      | TRANSLATE ( <string spec>, <string spec>, <string spec> )
  3289. ENG|09105302    |    23|  |      | MAPCHAR   ( <string spec>[, <unsigned integer> ]
  3290. ENG|09105302    |    24|  |                      [, <mapchar set name> ] )
  3291. ENG|09105302    |    25|  |      | ALPHA     ( <string spec>[, <unsigned integer> ] )
  3292. ENG|09105302    |    26|  |      | ASCII     ( <string spec> )
  3293. ENG|09105302    |    27|  |      | EBCDIC    ( <string spec> )
  3294. ENG|09105302    |    28|  |      | SOUNDEX   ( <string spec> )
  3295. ENG|09105302    |    29|  |    }
  3296. ENG|09105302    |    31|  |    <string spec>
  3297. ENG|09105302    |    33| I|    ##091050<expression>
  3298. ENG|09105302    |    35|  |    For a <string spec>, only those <expression>s are valid  that  identify
  3299. ENG|09105302    |    36|R |    an alphanumeric value as the result.
  3300. ENG|09105303    |     1|  |    <date function>
  3301. ENG|09105303    |     3| I|    {   ADDDATE    ( <date or timestamp expression>, ##091050<expression> )
  3302. ENG|09105303    |     4|  |      | SUBDATE    ( <date or timestamp expression>, <expression> )
  3303. ENG|09105303    |     5|  |      | DATEDIFF   ( <date or timestamp expression>,
  3304. ENG|09105303    |     6|  |                     <date or timestamp expression> )
  3305. ENG|09105303    |     7|  |      | DAYOFWEEK  ( <date or timestamp expression> )
  3306. ENG|09105303    |     8|  |      | WEEKOFYEAR ( <date or timestamp expression> )
  3307. ENG|09105303    |     9|  |      | DAYOFMONTH ( <date or timestamp expression> )
  3308. ENG|09105303    |    10|  |      | DAYOFYEAR  ( <date or timestamp expression> )
  3309. ENG|09105303    |    11|  |      | MAKEDATE   ( <expression>, <expression> )
  3310. ENG|09105303    |    12|  |      | DAYNAME    ( <date or timestamp expression> )
  3311. ENG|09105303    |    13|  |      | MONTHNAME  ( <date or timestamp expression> )
  3312. ENG|09105303    |    14|S |    }
  3313. ENG|09105303    |    19|  |    <date or timestamp expression>
  3314. ENG|09105303    |    21| I|    ##091050<expression>
  3315. ENG|09105303    |    23|  |    The  <date  or  timestamp  expression>  must  produce  a  date value, a
  3316. ENG|09105303    |    24|  |    timestamp  value  or  an  alphanumeric  value  as  the   result   which
  3317. ENG|09105303    |    25|R |    corresponds to the current date or timestamp format.
  3318. ENG|09105304    |     1|  |    <time function>
  3319. ENG|09105304    |     3|  |    {   ADDTIME  ( <time or timestamp expression>, <time expression> )
  3320. ENG|09105304    |     4|  |      | SUBTIME  ( <time or timestamp expression>, <time expression> )
  3321. ENG|09105304    |     5|  |      | TIMEDIFF ( <time or timestamp expression>,
  3322. ENG|09105304    |     6|  |                   <time or timestamp expression> )
  3323. ENG|09105304    |     7|  |      | MAKETIME ( <hours>, <minutes>, <seconds> )
  3324. ENG|09105304    |     8|  |    }
  3325. ENG|09105304    |    11|  |    <time or timestamp expression>
  3326. ENG|09105304    |    13| I|    ##091050<expression>
  3327. ENG|09105304    |    15|  |    The  <time  or  timestamp  expression>  must  produce  a  time value, a
  3328. ENG|09105304    |    16|  |    timestamp  value  or  an  alphanumeric  value  as  the   result   which
  3329. ENG|09105304    |    17|S |    corresponds to the current time or timestamp format.
  3330. ENG|09105304    |    19|  |    <time expression>
  3331. ENG|09105304    |    21| I|    ##091050<expression>
  3332. ENG|09105304    |    23|  |    The  <time  expression>  must  produce  a time value or an alphanumeric
  3333. ENG|09105304    |    24|R |    value as the result which corresponds to the current time format.
  3334. ENG|09105305    |     1|  |    <extraction function>
  3335. ENG|09105305    |     3|  |    {   YEAR        ( <date or timestamp expression> )
  3336. ENG|09105305    |     4|  |      | MONTH       ( <date or timestamp expression> )
  3337. ENG|09105305    |     5|  |      | DAY         ( <date or timestamp expression> )
  3338. ENG|09105305    |     6|  |      | HOUR        ( <time or timestamp expression> )
  3339. ENG|09105305    |     7|  |      | MINUTE      ( <time or timestamp expression> )
  3340. ENG|09105305    |     8|  |      | SECOND      ( <time or timestamp expression> )
  3341. ENG|09105305    |     9| I|      | MICROSECOND ( ##091050<expression> )
  3342. ENG|09105305    |    10|  |      | TIMESTAMP   ( <expression> [, <expression> ] )
  3343. ENG|09105305    |    11|  |      | DATE        ( <expression> )
  3344. ENG|09105305    |    12|  |      | TIME        ( <expression> )
  3345. ENG|09105305    |    13|  |    }
  3346. ENG|09105305    |    16|  |    <date or timestamp expression>
  3347. ENG|09105305    |    18|SI|    ##091050<expression>
  3348. ENG|09105305    |    19|  |    The <date or  timestamp  expression>  must  produce  a  date  value,  a
  3349. ENG|09105305    |    20|  |    timestamp   value   or  an  alphanumeric  value  as  the  result  which
  3350. ENG|09105305    |    21|  |    corresponds to the current date or timestamp value.
  3351. ENG|09105305    |    24|  |    <time or timestamp expression>
  3352. ENG|09105305    |    26| I|    ##091050<expression>
  3353. ENG|09105305    |    28|  |    The <time or  timestamp  expression>  must  produce  a  time  value,  a
  3354. ENG|09105305    |    29|  |    timestamp   value   or  an  alphanumeric  value  as  the  result  which
  3355. ENG|09105305    |    30|R |    corresponds to the current time or timestamp format.
  3356. ENG|09105306    |     1|  |    <special function>
  3357. ENG|09105306    |     3| I|    {   VALUE    ( ##091050<expression>, <expression>,... )
  3358. ENG|09105306    |     4|  |      | GREATEST ( <expression>, <expression>,... )
  3359. ENG|09105306    |     5|  |      | LEAST    ( <expression>, <expression>,... )
  3360. ENG|09105306    |     6|  |      | DECODE   ( <expression>, <expression>,... )
  3361. ENG|09105306    |     7|R |    }
  3362. ENG|09105307    |     1|  |    <conversion function>
  3363. ENG|09105307    |     3| I|    {   NUM  ( ##091050<expression> )
  3364. ENG|09105307    |     4|  |      | CHR  ( <expression>[, <unsigned integer> ] )
  3365. ENG|09105307    |     5|  |      | HEX  ( <expression> )
  3366. ENG|09105307    |     6|  |      | CHAR ( <expression>[, <datetimeformat> ] )
  3367. ENG|09105307    |     7|  |    }
  3368. ENG|09105307    |    10|  |    <datetimeformat>
  3369. ENG|09105307    |    12|  |    {   EUR
  3370. ENG|09105307    |    13|  |      | INTERNAL
  3371. ENG|09105307    |    14|  |      | ISO
  3372. ENG|09105307    |    15|  |      | JIS
  3373. ENG|09105307    |    16|  |      | USA
  3374. ENG|09105307    |    17|R |    }
  3375. ENG|09105309    |     1|  |    <trigonometric function>
  3376. ENG|09105309    |     3| I|    {   COS     ( ##091050<expression> )
  3377. ENG|09105309    |     4|  |      | SIN     ( <expression> )
  3378. ENG|09105309    |     5|  |      | TAN     ( <expression> )
  3379. ENG|09105309    |     6|  |      | COT     ( <expression> )
  3380. ENG|09105309    |     7|  |      | COSH    ( <expression> )
  3381. ENG|09105309    |     8|  |      | SINH    ( <expression> )
  3382. ENG|09105309    |     9|  |      | TANH    ( <expression> )
  3383. ENG|09105309    |    10|  |      | ACOS    ( <expression> )
  3384. ENG|09105309    |    11|  |      | ASIN    ( <expression> )
  3385. ENG|09105309    |    12|  |      | ATAN    ( <expression> )
  3386. ENG|09105309    |    13|  |      | ATAN2   ( <expression>, <expression> )
  3387. ENG|09105309    |    14|  |      | RADIANS ( <expression> )
  3388. ENG|09105309    |    15|  |      | DEGREES ( <expression> )
  3389. ENG|09105309    |    16|R |    }
  3390. ENG|09105310    |     1|  |    <userdefined function>
  3391. ENG|09105310    |     3|R |    Every DB function defined by any user.
  3392. ENG|091054      |     1|  |    <set function spec>
  3393. ENG|091054      |     3|  |    {   COUNT    (*)
  3394. ENG|091054      |     4| I|      | COUNT    ( [{ALL | DISTINCT}] ##091050<expression> )
  3395. ENG|091054      |     5|  |      | MAX      ( [{ALL | DISTINCT}] <expression> )
  3396. ENG|091054      |     6|  |      | MIN      ( [{ALL | DISTINCT}] <expression> )
  3397. ENG|091054      |     7|  |      | SUM      ( [{ALL | DISTINCT}] <expression> )
  3398. ENG|091054      |     8|  |      | AVG      ( [{ALL | DISTINCT}] <expression> )
  3399. ENG|091054      |     9|  |      | STDDEV   ( [{ALL | DISTINCT}] <expression> )
  3400. ENG|091054      |    10|  |      | VARIANCE ( [{ALL | DISTINCT}] <expression> )
  3401. ENG|091054      |    11|R |    }
  3402. ENG|091055      |     1|  |    <subquery>
  3403. ENG|091055      |     3|RM|    ( #01<query^expression> )
  3404. ENG|09105501    |     1|  |    <query expression>
  3405. ENG|09105501    |     3|  |    {   <query term>
  3406. ENG|09105501    |     4|  |      | <query expression> UNION  [ALL] <query term>
  3407. ENG|09105501    |     5|  |      | <query expression> EXCEPT [ALL] <query term>
  3408. ENG|09105501    |     6|  |    }
  3409. ENG|09105501    |     9|  |    <query term>
  3410. ENG|09105501    |    11| M|    {   #01<query^primary>
  3411. ENG|09105501    |    12|  |      | <query term> INTERSECT [ALL] <query primary>
  3412. ENG|09105501    |    13|R |    }
  3413. ENG|0910550101  |     1|  |    <query primary>
  3414. ENG|0910550101  |     3| I|    {   ##0910550102<query^spec>
  3415. ENG|0910550101  |     4|  |      | ( <query expression> )
  3416. ENG|0910550101  |     5|R |    }
  3417. ENG|0910550102  |     1|  |    <query spec>
  3418. ENG|0910550102  |     3| I|    SELECT   [{ALL | DISTINCT}] ##09100101<select^column>,...
  3419. ENG|0910550102  |     4| I|      ##09100103<from^clause>
  3420. ENG|0910550102  |     5| I|    [ ##09100104<where^clause>  ]
  3421. ENG|0910550102  |     6| I|    [ ##09100105<group^clause>  ]
  3422. ENG|0910550102  |     7|RI|    [ ##09100106<having^clause> ]
  3423. ENG|09105502    |     1|  |    <named query expression>
  3424. ENG|09105502    |     3|  |    {   <named query term>
  3425. ENG|09105502    |     4|  |      | <named query expression> UNION  [ALL] <query term>
  3426. ENG|09105502    |     5|  |      | <named query expression> EXCEPT [ALL] <query term>
  3427. ENG|09105502    |     6|  |    }
  3428. ENG|09105502    |     9|  |    <named query term>
  3429. ENG|09105502    |    11| M|    {   #01<named^query^primary>
  3430. ENG|09105502    |    12|  |      | <named query term> INTERSECT [ALL] <query primary>
  3431. ENG|09105502    |    13|R |    }
  3432. ENG|0910550201  |     1|  |    <named query primary>
  3433. ENG|0910550201  |     3| I|    {   ##0910550202<named^query^spec>
  3434. ENG|0910550201  |     4|  |      | ( <named query expression> )
  3435. ENG|0910550201  |     5|R |    }
  3436. ENG|0910550202  |     1|  |    <named query spec>
  3437. ENG|0910550202  |     3| I|    SELECT  [{ALL | DISTINCT}] <result table name> ( ##09100101<select^column>,... )
  3438. ENG|0910550202  |     4| I|      ##09100103<from^clause>
  3439. ENG|0910550202  |     5| I|    [ ##09100104<where^clause>  ]
  3440. ENG|0910550202  |     6| I|    [ ##09100105<group^clause>  ]
  3441. ENG|0910550202  |     7|RI|    [ ##09100106<having^clause> ]
  3442. ENG|091056      |     1|  |    <search condition>
  3443. ENG|091056      |     3|  |    {   <boolean term>
  3444. ENG|091056      |     4|  |      | <search condition> OR <boolean term>
  3445. ENG|091056      |     5|  |    }
  3446. ENG|091056      |     8|  |    <boolean term>
  3447. ENG|091056      |    10|  |    {   <boolean factor>
  3448. ENG|091056      |    11|  |      | <boolean term> AND <boolean factor>
  3449. ENG|091056      |    12|  |    }
  3450. ENG|091056      |    15|  |    <boolean factor>
  3451. ENG|091056      |    17|RM|    [NOT] #01<boolean^primary>
  3452. ENG|09105601    |     1|  |    <boolean primary>
  3453. ENG|09105601    |     3| I|    {   ##091057<predicate>
  3454. ENG|09105601    |     4| I|      | ( ##091056<search^condition> )
  3455. ENG|09105601    |     5|R |    }
  3456. ENG|091057      |     1|  |    <predicate>
  3457. ENG|091057      |     3| M|    {   #01<between^predicate>
  3458. ENG|091057      |     4| M|      | #12<bool^predicate>
  3459. ENG|091057      |     5| M|      | #02<comparison^predicate>
  3460. ENG|091057      |     6| M|      | #03<default^predicate>
  3461. ENG|091057      |     7| M|      | #04<exists^predicate>
  3462. ENG|091057      |     8| M|      | #05<in^predicate>
  3463. ENG|091057      |     9| M|      | #06<join^predicate>
  3464. ENG|091057      |    10| M|      | #07<like^predicate>
  3465. ENG|091057      |    11| M|      | #08<null^predicate>
  3466. ENG|091057      |    12| M|      | #09<quantified^predicate>
  3467. ENG|091057      |    13| M|      | #10<rowno^predicate>
  3468. ENG|091057      |    14| M|      | #11<sounds^predicate>
  3469. ENG|091057      |    15|R |    }
  3470. ENG|09105701    |     1|  |    <between predicate>
  3471. ENG|09105701    |     3|RI|    ##091050<expression> [NOT] BETWEEN <expression> AND <expression>
  3472. ENG|09105702    |     1|  |    <comparison predicate>
  3473. ENG|09105702    |     3| I|    {   ##091050<expression> ##0910570201<comp^op> <expression>
  3474. ENG|09105702    |     4| I|      | <expression> <comp op> ##091055<subquery>
  3475. ENG|09105702    |     5| I|      | ##09105002<expression^list> ##0910570202<equal^or^not> ( <expression list> )
  3476. ENG|09105702    |     6|  |      | <expression list> <equal or not> <subquery>
  3477. ENG|09105702    |     7|R |    }
  3478. ENG|0910570201  |     1|  |    <comp op>
  3479. ENG|0910570201  |     3|  |    {   <
  3480. ENG|0910570201  |     4|  |      | >
  3481. ENG|0910570201  |     5|  |      | <>
  3482. ENG|0910570201  |     6|  |      | !=
  3483. ENG|0910570201  |     7|  |      | =
  3484. ENG|0910570201  |     8|  |      | <=
  3485. ENG|0910570201  |     9|  |      | >=
  3486. ENG|0910570201  |    10|  |      | ¼=
  3487. ENG|0910570201  |    11|  |      | ¼<
  3488. ENG|0910570201  |    12|  |      | ¼>
  3489. ENG|0910570201  |    13|  |    }
  3490. ENG|0910570201  |    15|R |    ¼ and ! correspond to the logical negation.
  3491. ENG|09105703    |     1|  |    <default predicate>
  3492. ENG|09105703    |     3|RI|    ##091052<column^spec> ##0910570201<comp^op> DEFAULT
  3493. ENG|09105704    |     1|  |    <exists predicate>
  3494. ENG|09105704    |     3|RI|    EXISTS ##091055<subquery>
  3495. ENG|09105705    |     1|  |    <in predicate>
  3496. ENG|09105705    |     3| I|    {   ##091050<expression> [NOT] IN ##091055<subquery>
  3497. ENG|09105705    |     4|  |      | <expression> [NOT] IN ( <expression>,... )
  3498. ENG|09105705    |     5| I|      | ##09105002<expression^list> [NOT] IN <subquery>
  3499. ENG|09105705    |     6|  |      | <expression list> [NOT] IN ( <expression list>,... )
  3500. ENG|09105705    |     7|R |    }
  3501. ENG|09105706    |     1|  |    <join predicate>
  3502. ENG|09105706    |     3| I|    ##091050<expression> [ (+) ]
  3503. ENG|09105706    |     4| I|        ##0910570201<comp^op>
  3504. ENG|09105706    |     5|R |    <expression> [ (+) ]
  3505. ENG|09105707    |     1|  |    <like predicate>
  3506. ENG|09105707    |     3| I|    ##091050<expression> [NOT] LIKE { <expression> | '<pattern element>...' }
  3507. ENG|09105707    |     4|  |      [ESCAPE <expression>]
  3508. ENG|09105707    |     6|  |    <pattern element>...
  3509. ENG|09105707    |     8|  |    {   <Any character except %, *, X'1F', underscore, ?, X'1E', (>
  3510. ENG|09105707    |     9|  |      | { % | * | X'1F' }
  3511. ENG|09105707    |    10|  |      | { underscore | ? | X'1E' }
  3512. ENG|09105707    |    11|  |      | ( [{~ | ¼}] {   <match element> - <match element>
  3513. ENG|09105707    |    12|  |                      | <match element> } ...
  3514. ENG|09105707    |    13|  |        )
  3515. ENG|09105707    |    14|  |    } ...
  3516. ENG|09105707    |    16|  |    <match element>
  3517. ENG|09105707    |    18|R |    <Any character except )>
  3518. ENG|09105708    |     1|  |    <null predicate>
  3519. ENG|09105708    |     3|RI|    ##091050<expression> IS [NOT] NULL
  3520. ENG|09105709    |     1|  |    <quantified predicate>
  3521. ENG|09105709    |     3| I|        ##091050<expression> ##0910570201<comp^op> <quantifier> ##091055<subquery>
  3522. ENG|09105709    |     4|  |      | <expression> <comp op> <quantifier> ( <expression>,... )
  3523. ENG|09105709    |     5| I|      | ##09105002<expression^list> ##0910570202<equal^or^not>
  3524. ENG|09105709    |     6|  |        <quantifier> ( <expression list>,... )
  3525. ENG|09105709    |     7|  |      | <expression list> <equal or not> <quantifier> <subquery>
  3526. ENG|09105709    |    10|  |    <quantifier>
  3527. ENG|09105709    |    12|  |    {   ALL
  3528. ENG|09105709    |    13|  |      | ANY
  3529. ENG|09105709    |    14|  |      | SOME
  3530. ENG|09105709    |    15|R |    }
  3531. ENG|09105710    |     1|  |    <rowno predicate>
  3532. ENG|09105710    |     3|  |    {   ROWNO <  { <unsigned integer> | <parameter name> }
  3533. ENG|09105710    |     4|  |      | ROWNO <= { <unsigned integer> | <parameter name> }
  3534. ENG|09105710    |     5|R |    }
  3535. ENG|09105711    |     1|  |    <sounds predicate>
  3536. ENG|09105711    |     3|RI|    ##091050<expression> [NOT] SOUNDS [LIKE] <expression>
  3537. ENG|09105712    |     1|  |    <bool predicate>
  3538. ENG|09105712    |     3|RI|    ##091052<column^spec> [ IS [NOT] { TRUE | FALSE } ]
  3539. ENG|091058      |     1|  |    <key spec>
  3540. ENG|091058      |     3|RI|    <column name> = ##091051<value^spec>
  3541. ENG|091059      |     1|  |    <query statement>
  3542. ENG|091059      |     3| I|    {   ##091002<declare^cursor^statement>
  3543. ENG|091059      |     4| I|      | ##09100110<named^select^statement>
  3544. ENG|091059      |     5| I|      | ##091001<select^statement>
  3545. ENG|091059      |     6|R |    }
  3546. ENG|091061      |     1|  |    <refresh statement>
  3547. ENG|091061      |     3|R |    REFRESH SNAPSHOT <table name> [COMPLETE]
  3548. ENG|091062      |     1|  |    <clear snapshot log statement>
  3549. ENG|091062      |     3|R |    CLEAR SNAPSHOT LOG ON <table name>
  3550. ENG|091063      |     1|  |    <create snapshot statement>
  3551. ENG|091063      |     3|  |    CREATE SNAPSHOT <table name> [ (<alias name>,...) ]
  3552. ENG|091063      |     4| I|    AS ##09105501<query^expression>
  3553. ENG|091063      |     7|  |    <drop snapshot statement>
  3554. ENG|091063      |     9|R |    DROP SNAPSHOT <table name>
  3555. ENG|091064      |     1|  |    <create snapshot log statement>
  3556. ENG|091064      |     3|  |    CREATE SNAPSHOT LOG ON <table name>
  3557. ENG|091064      |     6|  |    <drop snapshot log statement>
  3558. ENG|091064      |     8|R |    DROP SNAPSHOT LOG ON <table name>
  3559. ENG|091065      |     1|  |    <comment on statement>
  3560. ENG|091065      |     3|  |    COMMENT ON
  3561. ENG|091065      |     4|  |    {   COLUMN  <table name>.<column name>
  3562. ENG|091065      |     5|  |      | DBPROC  <db procedure>
  3563. ENG|091065      |     6|  |      | DOMAIN  <domain name>
  3564. ENG|091065      |     7|  |      | INDEX   <index name> ON <table name>
  3565. ENG|091065      |     8|  |      | INDEX   <table name>.<column name>
  3566. ENG|091065      |     9|  |      | TABLE   <table name>
  3567. ENG|091065      |    10|  |      | TRIGGER <trigger name> ON <table name>
  3568. ENG|091065      |    11|  |      | USER    <user name>
  3569. ENG|091065      |    12|  |      | <parameter name>
  3570. ENG|091065      |    13|R |    } IS {<string literal> | <parameter name>}
  3571. ENG|091066      |     1|  |    <update statistics statement>
  3572. ENG|091066      |     3|  |    UPDATE STAT[ISTICS]
  3573. ENG|091066      |     4|  |    {   COLUMN <table name>.<column name>
  3574. ENG|091066      |     5|  |      | COLUMN (<column name>,...) FOR <table name>
  3575. ENG|091066      |     6|  |      | [<owner>.]<table name>
  3576. ENG|091066      |     7|  |      | [<owner>.][<identifier>]*
  3577. ENG|091066      |     8|R |    }
  3578. ENG|091067      |     1|  |    <monitor statement>
  3579. ENG|091067      |     3|  |    MONITOR
  3580. ENG|091067      |     4|  |    {   ON
  3581. ENG|091067      |     5|  |      | OFF
  3582. ENG|091067      |     6|R |    }
  3583. ENG|091068      |     1|  |    <sql statement>
  3584. ENG|091068      |     3| I|    {   ##091010<create^table^statement>
  3585. ENG|091068      |     4| I|      | ##091012<drop^table^statement>
  3586. ENG|091068      |     5| I|      | ##091011<alter^table^statement>
  3587. ENG|091068      |     6| I|      | ##091019<rename^table^statement>
  3588. ENG|091068      |     7| I|      | ##091020<rename^column^statement>
  3589. ENG|091068      |     8| I|      | ##091023<exists^table^statement>
  3590. ENG|091068      |     9| I|      | ##091013<create^domain^statement>
  3591. ENG|091068      |    10| I|      | ##091014<drop^domain^statement>
  3592. ENG|091068      |    11| I|      | ##091015<create^synonym^statement>
  3593. ENG|091068      |    12| I|      | ##091015<drop^synonym^statement>
  3594. ENG|091068      |    13| I|      | ##091015<rename^synonym^statement>
  3595. ENG|091068      |    14| I|      | ##091063<create^snapshot^statement>
  3596. ENG|091068      |    15| I|      | ##091063<drop^snapshot^statement>
  3597. ENG|091068      |    16| I|      | ##091064<create^snapshot^log^statement>
  3598. ENG|091068      |    17| I|      | ##091064<drop^snapshot^log^statement>
  3599. ENG|091068      |    18|SI|      | ##091016<create^view^statement>
  3600. ENG|091068      |    19| I|      | ##091016<drop^view^statement>
  3601. ENG|091068      |    20| I|      | ##091016<rename^view^statement>
  3602. ENG|091068      |    21| I|      | ##091018<create^index^statement>
  3603. ENG|091068      |    22| I|      | ##091018<drop^index^statement>
  3604. ENG|091068      |    23| I|      | ##091065<comment^on^statement>
  3605. ENG|091068      |    24| I|      | ##091030<create^user^statement>
  3606. ENG|091068      |    25| I|      | ##09103001<create^usergroup^statement>
  3607. ENG|091068      |    26| I|      | ##09103003<drop^user^statement>
  3608. ENG|091068      |    27| I|      | ##09103004<drop^usergroup^statement>
  3609. ENG|091068      |    28| I|      | ##09103002<alter^user^statement>
  3610. ENG|091068      |    29| I|      | ##0910300201<alter^usergroup^statement>
  3611. ENG|091068      |    30| I|      | ##09103006<grant^user^statement>
  3612. ENG|091068      |    31| I|      | ##09103006<grant^usergroup^statement>
  3613. ENG|091068      |    32| I|      | ##09103005<alter^password^statement>
  3614. ENG|091068      |    33| I|      | ##09103007<grant^statement>
  3615. ENG|091068      |    34| I|      | ##09103008<grant^statement>EXECUTE-Privileg^
  3616. ENG|091068      |    35| I|      | ##09103009<revoke^statement>
  3617. ENG|091068      |    36|SI|      | ##09103009<revoke^statement>EXECUTE-Privileg
  3618. ENG|091068      |    37| I|      | ##091024<insert^statement>
  3619. ENG|091068      |    38| I|      | ##091025<update^statement>
  3620. ENG|091068      |    39| I|      | ##09102501<update^statement>mit^"CURRENT^OF"
  3621. ENG|091068      |    40| I|      | ##091026<delete^statement>
  3622. ENG|091068      |    41| I|      | ##09102601<delete^statement>mit^"CURRENT^OF"
  3623. ENG|091068      |    42| I|      | ##091061<refresh^statement>
  3624. ENG|091068      |    43| I|      | ##091062<clear^snapshot^log^statement>
  3625. ENG|091068      |    44| I|      | ##091027<next^stamp^statement>
  3626. ENG|091068      |    45| I|      | ##091059<query^statement>
  3627. ENG|091068      |    46| I|      | ##091002<open^cursor^statement>
  3628. ENG|091068      |    47| I|      | ##091003<fetch^statement>
  3629. ENG|091068      |    48| I|      | ##091002<close^statement>
  3630. ENG|091068      |    49| I|      | ##09100111<single^select^statement>
  3631. ENG|091068      |    50| I|      | ##091004<select^direct^statement:^searched>
  3632. ENG|091068      |    51| I|      | ##091005<select^direct^statement:^positioned>
  3633. ENG|091068      |    52| I|      | ##091006<select^ordered^statement:^searched>
  3634. ENG|091068      |    53| I|      | ##091007<select^ordered^statement:^positioned>
  3635. ENG|091068      |    54|SI|      | ##091008<explain^statement>
  3636. ENG|091068      |    55| I|      | ##091028<connect^statement>
  3637. ENG|091068      |    56| I|      | ##091029<commit^statement>
  3638. ENG|091068      |    57| I|      | ##091029<rollback^statement>
  3639. ENG|091068      |    58| I|      | ##09102901<subtrans^statement>
  3640. ENG|091068      |    59| I|      | ##09102902<lock^statement>
  3641. ENG|091068      |    60| I|      | ##09102903<unlock^statement>
  3642. ENG|091068      |    61| I|      | ##09102801<release^statement>
  3643. ENG|091068      |    62| I|      | ##091066<update^statistics^statement>
  3644. ENG|091068      |    63| I|      | ##091067<monitor^statement>
  3645. ENG|091068      |    64|R |    }
  3646. ENG|0911        |     1|  |                           Statistics, Monitoring
  3647. ENG|0911        |     2|  |                           -----------------------
  3648. ENG|0911        |     4| M|            #01Updating^the^Statistics^for^the^Optimizer
  3649. ENG|0911        |     5|RM|            #02Monitoring
  3650. ENG|091101      |     1|  |    Updating the Statistics for the Optimizer
  3651. ENG|091101      |     3| I|    The ##091066<update^statistics^statement> defines the storage  requirements  of
  3652. ENG|091101      |     4|  |    tables  and  indexes  as  well as the value distribution of indexes and
  3653. ENG|091101      |     5|  |    columns, and stores this information in the catalog. These  values  are
  3654. ENG|091101      |     6|  |    used by the ADABAS optimizer to optimize SQL statements. The values can
  3655. ENG|091101      |     7|  |    be retrieved by selecting the system table DOMAIN.OPTIMIZERSTATISTICS.
  3656. ENG|091101      |     9|  |    The    <update    statistics    statement>    implicitly   performs   a
  3657. ENG|091101      |    10| I|    ##091029<commit^statement> for each base table; i.e.,  the  transaction  within
  3658. ENG|091101      |    11|S |    which the <update statistics statement> has been executed is closed.
  3659. ENG|091101      |    19|  |    The  examples require the update of the statistical values for a column
  3660. ENG|091101      |    20|  |    (zip of the table city), for a particular  table  (city)  and  for  all
  3661. ENG|091101      |    21|  |    tables  of the user SQLTRAVEL00. By UPDATE STATISTICS *, the SYSDBA can
  3662. ENG|091101      |    22|  |    achieve that the <update statistics statement>  is  performed  for  all
  3663. ENG|091101      |    23|  |    base  tables of his HOME SERVERDB. The SYSDBA does not need a privilege
  3664. ENG|091101      |    24|  |    for the particular table.
  3665. ENG|091101      |    26|  |    UPDATE STATISTICS COLUMN city.zip
  3666. ENG|091101      |    27| E|
  3667. ENG|091101      |    28| E|    UPDATE STAT       city
  3668. ENG|091101      |    29| E|
  3669. ENG|091101      |    30|  |    UPDATE STAT       sqltravel00.*
  3670. ENG|091101      |    32|RI|                                                                    ##091066Syntax
  3671. ENG|091102      |     1|  |    Monitoring
  3672. ENG|091102      |     3| I|    The ##091067<monitor^statement> enables or disables the database monitoring and
  3673. ENG|091102      |     4|  |    initializes the counters used with 0.
  3674. ENG|091102      |     6|  |    If MONITOR ON is specified, all counters of internal ADABAS events  are
  3675. ENG|091102      |     7|  |    initialized with 0.
  3676. ENG|091102      |     9|  |    MONITOR OFF disables the counters, but does not reset them.
  3677. ENG|091102      |    11|  |    MONITOR ON
  3678. ENG|091102      |    12| E|
  3679. ENG|091102      |    13| E|    MONITOR OFF
  3680. ENG|091102      |    14| E|
  3681. ENG|091102      |    15|RI|                                                                    ##091067Syntax
  3682. ENG|0912        |     1|  |                                System Tables
  3683. ENG|0912        |     2|  |                                --------------
  3684. ENG|0912        |     4|  |                      Information About
  3685. ENG|0912        |     5| M|                          #01General Items
  3686. ENG|0912        |     6| M|       #02Tables                      #03Columns
  3687. ENG|0912        |     7| M|       #04View^Tables                  #05Snapshot^Tables
  3688. ENG|0912        |     8| M|       #06Synonyms                      #07Domains
  3689. ENG|0912        |     9| M|       #08Constraints                   #09Referential^Constraint^Definitions
  3690. ENG|0912        |    10| M|       #10Indexes                       #14Users
  3691. ENG|0912        |    11| M|       #15DB^Procedures                 #16DB^Functions
  3692. ENG|0912        |    12| M|       #17Triggers                       #18Charsets
  3693. ENG|0912        |    13| M|       #22Miscellaneous
  3694. ENG|0912        |    14| M|       #26Statistics
  3695. ENG|0912        |    15| M|       #27Monitoring
  3696. ENG|0912        |    16|RM|       #30Objects^of^the^Components
  3697. ENG|091201      |     1|  |    General Items
  3698. ENG|091201      |     3|  |    The   system  tables  inform  about  the  database  objects  and  their
  3699. ENG|091201      |     4|  |    relationships and the objects of the ADABAS components.
  3700. ENG|091201      |     6|  |    The system tables belong to the user 'DOMAIN'. In  all  SQLMODEs  other
  3701. ENG|091201      |     7|  |    than  ADABAS,  the name of the user 'DOMAIN' must be placed in front of
  3702. ENG|091201      |     8|  |    the name of the system table.
  3703. ENG|091201      |    10|  |    In the following, the names of the tables and a  short  description  of
  3704. ENG|091201      |    11|  |    their contents are listed for the specified objects. The definitions of
  3705. ENG|091201      |    12|R |    the tables can be retrieved by selecting the table COLUMNS.
  3706. ENG|091202      |     1|  |    Tables
  3707. ENG|091202      |     4|  |    TABLES             All tables for which the current user has privileges
  3708. ENG|091202      |     6|  |    TAB_CONT_COL       Relationship Table Contains Column
  3709. ENG|091202      |     8|  |    TAB_CONT_TRG       Relationship Table Contains Trigger
  3710. ENG|091202      |    10|  |    TAB_USES_CON       Relationship Table Uses Constraint
  3711. ENG|091202      |    12|R |    USR_USES_TAB       Relationship User Uses Table
  3712. ENG|091203      |     1|  |    Columns
  3713. ENG|091203      |     4|  |    COLUMNS            All   columns   for   which  the  current  user  has
  3714. ENG|091203      |     5|  |                       privileges
  3715. ENG|091203      |     7|  |    COL_REFS_DOM       Relationship Column Refers to Domain
  3716. ENG|091203      |     9|  |    COL_USES_COL       Relationship Column Uses Column
  3717. ENG|091203      |    11|  |    TAB_CONT_COL       Relationship Table Contains Column
  3718. ENG|091203      |    13|R |    USR_USES_COL       Relationship User Uses Column
  3719. ENG|091204      |     1|  |    View Tables
  3720. ENG|091204      |     4|  |    VIEWDEFS           Definition of a view for which the current user  has
  3721. ENG|091204      |     5|  |                       privileges
  3722. ENG|091204      |     7|  |    VIEWS              All  view  tables  for  which  the  current user has
  3723. ENG|091204      |     8|  |                       privileges
  3724. ENG|091204      |    10|  |    VIE_CONT_COL       Relationship View Contains Column
  3725. ENG|091204      |    12|  |    VIE_USES_SNP       Relationship View Uses Snapshot
  3726. ENG|091204      |    14|  |    VIE_USES_SYN       Relationship View Uses Synonym
  3727. ENG|091204      |    16|  |    VIE_USES_TAB       Relationship View Uses Table
  3728. ENG|091204      |    18|R |    VIE_USES_VIE       Relationship View Uses View
  3729. ENG|091205      |     1|  |    Snapshot Tables
  3730. ENG|091205      |     4|  |    SNAPSHOTDEFS       Definition of a snapshot table for which the current
  3731. ENG|091205      |     5|  |                       user has privileges
  3732. ENG|091205      |     7|  |    SNAPSHOTS          All snapshot tables for which the current  user  has
  3733. ENG|091205      |     8|  |                       privileges
  3734. ENG|091205      |    10|  |    SNP_CONT_COL       Relationship Snapshot Contains Column
  3735. ENG|091205      |    12|  |    SNP_USES_SYN       Relationship Snapshot Uses Synonym
  3736. ENG|091205      |    14|  |    SNP_USES_TAB       Relationship Snapshot Uses Table
  3737. ENG|091205      |    16|R |    SNP_USES_VIE       Relationship Snapshot Uses View
  3738. ENG|091206      |     1|  |    Synonyms
  3739. ENG|091206      |     4|  |    SYNONYMS           All   synonyms   for  which  the  current  user  has
  3740. ENG|091206      |     5|  |                       privileges
  3741. ENG|091206      |     7|R |    SYN_REFS_TAB       Relationship Synonym Refers to Table
  3742. ENG|091207      |     1|  |    Domains
  3743. ENG|091207      |     4|  |    DOMAINCONSTRAINTS  <constraint definition> for a domain
  3744. ENG|091207      |     6|  |    DOMAINS            All domains
  3745. ENG|091207      |     8|  |    USR_OWNS_DOM       Relationship User Owns Domain
  3746. ENG|091207      |    10|R |    COL_REFS_DOM       Relationship Column Refers to Domain
  3747. ENG|091208      |     1|  |    Constraints
  3748. ENG|091208      |     4|  |    CONSTRAINTS        <constraint definition> for a table  for  which  the
  3749. ENG|091208      |     5|  |                       current user has privileges
  3750. ENG|091208      |     7|  |    DOMAINCONSTRAINTS  <constraint definition> for a domain
  3751. ENG|091208      |     9|R |    TAB_USES_CON       Relationship Table Uses Constraint
  3752. ENG|091209      |     1|  |    Referential Constraint Definitions
  3753. ENG|091209      |     4|  |    FOREIGNKEYS        All  <referential  constraint definition>s for which
  3754. ENG|091209      |     5|  |                       the current user has privileges
  3755. ENG|091209      |     7|  |    FKC_REFS_COL       Relationship Foreign Key  Column  Refers  to  Column
  3756. ENG|091209      |     8|  |                       (foreign key)
  3757. ENG|091209      |    10|  |    FOK_REFS_TAB       Relationship Foreign Key Refers to Table
  3758. ENG|091209      |    12|R |    FOK_USES_COL       Relationship Foreign Key Uses Column
  3759. ENG|091210      |     1|  |    Indexes
  3760. ENG|091210      |     4|  |    INDEXES            All   indexes   for   which  the  current  user  has
  3761. ENG|091210      |     5|  |                       privileges
  3762. ENG|091210      |     7|R |    IND_USES_COL       Relationship Index Uses Column
  3763. ENG|091214      |     1|  |    Users
  3764. ENG|091214      |     4|  |    USERS              All users
  3765. ENG|091214      |     6|  |    CONNECTEDUSERS     All connected users
  3766. ENG|091214      |     8|  |    CONNECTPARAMETERS  Information about session-specific parameters
  3767. ENG|091214      |    10|  |    USR_OWNS_DBF       Relationship User Owns DB Function
  3768. ENG|091214      |    12|  |    USR_OWNS_DOM       Relationship User Owns Domain
  3769. ENG|091214      |    14|  |    USR_OWNS_USR       Relationship User Owns User
  3770. ENG|091214      |    16|  |    USR_USES_COL       Relationship User Uses Column
  3771. ENG|091214      |    18|S |    USR_USES_DBP       Relationship User Uses DB Procedure
  3772. ENG|091214      |    19|  |    USR_USES_PRO       Relationship User Uses Program
  3773. ENG|091214      |    21|  |    USR_USES_QCM       Relationship User Uses QUERY Command
  3774. ENG|091214      |    23|  |    USR_USES_QPC       Relationship User Uses QueryPlus Command
  3775. ENG|091214      |    25|  |    USR_USES_QPE       Relationship User Uses QueryPlus ExcelLink
  3776. ENG|091214      |    27|  |    USR_USES_QPQ       Relationship User Uses QueryPlus Query
  3777. ENG|091214      |    29|  |    USR_USES_QPW       Relationship User Uses QueryPlus WordLink
  3778. ENG|091214      |    31|R |    USR_USES_TAB       Relationship User Uses Table
  3779. ENG|091215      |     1|  |    DB Procedures
  3780. ENG|091215      |     4|  |    DBPROCEDURES       All DB Procedures for which  the  current  user  has
  3781. ENG|091215      |     5|  |                       privileges
  3782. ENG|091215      |     7|  |    DBPROCPARAMS       All  parameters  of  a  DB  procedure  for which the
  3783. ENG|091215      |     8|  |                       current user has privileges
  3784. ENG|091215      |    10|  |    DBP_CONT_PRM       Relationship DB Procedure Contains Parameter
  3785. ENG|091215      |    12|  |    DBP_REFS_MOD       Relationship DB Procedure Refers to Module
  3786. ENG|091215      |    14|R |    USR_USES_DBP       Relationship User Uses DB Procedure
  3787. ENG|091216      |     1|  |    DB Functions
  3788. ENG|091216      |     4|  |    DBFUNCPARAMS       All parameters  of  a  DB  function  for  which  the
  3789. ENG|091216      |     5|  |                       current user has privileges
  3790. ENG|091216      |     7|  |    DBFUNCTIONS        All  DB  functions  for  which  the current user has
  3791. ENG|091216      |     8|  |                       privileges
  3792. ENG|091216      |    10|  |    USR_OWNS_DBF       Relationship User Owns DB Function
  3793. ENG|091216      |    12|  |    DBF_CONT_PRM       Relationship DB Function Contains Parameter
  3794. ENG|091216      |    14|R |    DBF_REFS_MOD       Relationship DB Function Refers to Module
  3795. ENG|091217      |     1|  |    Triggers
  3796. ENG|091217      |     4|  |    TRIGGERS           All  triggers  for  which  the  current   user   has
  3797. ENG|091217      |     5|  |                       privileges
  3798. ENG|091217      |     7|  |    TRIGGERPARAMS      All  parameters  of  a trigger for which the current
  3799. ENG|091217      |     8|  |                       user has privileges
  3800. ENG|091217      |    10|  |    TRG_CONT_PRM       Relationship Trigger Contains Parameter
  3801. ENG|091217      |    12|R |    TRG_REFS_MOD       Relationship Trigger Refers to Module
  3802. ENG|091218      |     1|  |    Charsets
  3803. ENG|091218      |     4|  |    TERMCHARSETS       All terminal character sets
  3804. ENG|091218      |     6|R |    MAPCHARSETS        All MAPCHAR SETs
  3805. ENG|091222      |     1|  |    Miscellaneous
  3806. ENG|091222      |     4|  |    SERVERDBS          All SERVERDBs
  3807. ENG|091222      |     6|  |    VERSIONS           Version
  3808. ENG|091222      |     8|  |    SEQUENCES          All  sequences  for  which  the  current  user   has
  3809. ENG|091222      |     9|R |                       privileges
  3810. ENG|091226      |     1|  |    Statistics
  3811. ENG|091226      |     4|  |    CONFIGURATION       and
  3812. ENG|091226      |     5|  |    DBPARAMETERS        Installation parameters
  3813. ENG|091226      |     7|  |    SERVERDBSTATISTICS  usage level of the SERVERDB and the log
  3814. ENG|091226      |     9|  |    DATADEVSPACES       usage level of the data DEVSPACEs
  3815. ENG|091226      |    11|  |    USERSTATISTICS      Storage requirements per user
  3816. ENG|091226      |    13|  |    TRANSACTIONS        Active transactions
  3817. ENG|091226      |    15|  |    LOCKLISTSTATISTICS  Size and usage level of the lock list
  3818. ENG|091226      |    17|  |    LOCKSTATISTICS      Held and requested locks; i.e., the contents of the
  3819. ENG|091226      |    18|S |                        lock list
  3820. ENG|091226      |    19|  |    TABLESTATISTICS     Sizes and storage structures of base tables
  3821. ENG|091226      |    21|  |    OPTIMIZERSTATISTICS Statistical values for tables stored in the catalog
  3822. ENG|091226      |    23|R |    INDEXSTATISTICS     Structure and sizes of indexes
  3823. ENG|091227      |     1|  |    Monitoring
  3824. ENG|091227      |     4|  |    MONITOR_CACHES     Operations on the ADABAS Caches
  3825. ENG|091227      |     6|  |    MONITOR_LOAD       Executed  SQL  statements  and  access  methods used
  3826. ENG|091227      |     7|  |                       methoden
  3827. ENG|091227      |     9|  |    MONITOR_LOCK       Operations of the ADABAS lock list
  3828. ENG|091227      |    11|  |    MONITOR_LOG        Operations of the ADABAS Logging
  3829. ENG|091227      |    13|  |    MONITOR-PAGES      Accesses  to  pages  of  data   and   administrative
  3830. ENG|091227      |    14|  |                       information
  3831. ENG|091227      |    16|S |    MONITOR_ROW        Operations on row level
  3832. ENG|091227      |    19|  |    MONITOR_SERVERDB   Information  about  special  processes  used  for  a
  3833. ENG|091227      |    20|  |                       distributed database
  3834. ENG|091227      |    22|  |    MONITOR_TRANS      Information about transactions
  3835. ENG|091227      |    24|R |    MONITOR_VTRACE     Information about vtrace output
  3836. ENG|091230      |     1|  |                             Objects of the Components
  3837. ENG|091230      |     2|  |                             -----------------------
  3838. ENG|091230      |     4| M|                             #01Programs
  3839. ENG|091230      |     5| M|                             #02Modules
  3840. ENG|091230      |     6| M|                             #03Query^Commands
  3841. ENG|091230      |     7| M|                             #04QueryPlus^Commands
  3842. ENG|091230      |     8| M|                             #05QueryPlus^Queries
  3843. ENG|091230      |     9| M|                             #06QueryPlus^ExcelLinks
  3844. ENG|091230      |    10| M|                             #07QueryPlus^WordLinks
  3845. ENG|091230      |    11| M|                             #08Easy^Commands
  3846. ENG|091230      |    12|RM|                             #09Easy^Forms
  3847. ENG|09123001    |     1|  |    Programs
  3848. ENG|09123001    |     4|  |    PROGRAMS           All  programs  for  which  the  current   user   has
  3849. ENG|09123001    |     5|  |                       privileges
  3850. ENG|09123001    |     7|  |    PRO_CONT_MOD       Relationship Program Contains Module
  3851. ENG|09123001    |     9|R |    USR_USES_PRO       Relationship User Uses Program
  3852. ENG|09123002    |     1|  |    Modules
  3853. ENG|09123002    |     4|  |    MODULES            All   modules   for   which  the  current  user  has
  3854. ENG|09123002    |     5|  |                       privileges
  3855. ENG|09123002    |     7|  |    MOD_CALL_DBP       Relationship Module Calls DB Procedure
  3856. ENG|09123002    |     9|  |    MOD_CALL_MOD       Relationship Module Calls Module
  3857. ENG|09123002    |    11|  |    MOD_USES_COL       Relationship Module Uses Column
  3858. ENG|09123002    |    13|  |    MOD_USES_DOM       Relationship Module Uses Domain
  3859. ENG|09123002    |    15|  |    MOD_USES_QCM       Relationship Module Uses QUERY Command
  3860. ENG|09123002    |    17|S |    MOD_USES_SNP       Relationship Module Uses Snapshot
  3861. ENG|09123002    |    19|  |    MOD_USES_SYN       Relationship Module Uses Synonym
  3862. ENG|09123002    |    21|  |    MOD_USES_TAB       Relationship Module Uses Table
  3863. ENG|09123002    |    23|  |    MOD_USES_VIE       Relationship Module Uses View
  3864. ENG|09123002    |    25|  |    DBF_REFS_MOD       Relationship DB Function Refers to Module
  3865. ENG|09123002    |    27|  |    DBP_REFS_MOD       Relationship DB Procedure Refers to Module
  3866. ENG|09123002    |    29|  |    PRO_CONT_MOD       Relationship Program Contains Module
  3867. ENG|09123002    |    31|R |    TRG_REFS_MOD       Relationship Trigger Refers to Module
  3868. ENG|09123003    |     1|  |    Query Commands
  3869. ENG|09123003    |     4|  |    QUERYCOMMANDS      All commands (QUERY Command) for which  the  current
  3870. ENG|09123003    |     5|  |                       user has privileges
  3871. ENG|09123003    |     7|  |    QCM_USES_COL       Relationship QUERY Command Uses Column
  3872. ENG|09123003    |     9|  |    QCM_USES_SNP       Relationship QUERY Command Uses Snapshot
  3873. ENG|09123003    |    11|  |    QCM_USES_SYN       Relationship QUERY Command Uses Synonym
  3874. ENG|09123003    |    13|  |    QCM_USES_TAB       Relationship QUERY Command Uses Table
  3875. ENG|09123003    |    15|  |    QCM_USES_VIE       Relationship QUERY Command Uses View
  3876. ENG|09123003    |    17|R |    USR_USES_QCM       Relationship User Uses QUERY Command
  3877. ENG|09123004    |     1|  |    QueryPlus Commands
  3878. ENG|09123004    |     4|  |    QPCOMMANDS         All  QueryPlus  Commands  for which the current user
  3879. ENG|09123004    |     5|  |                       has privileges
  3880. ENG|09123004    |     7|  |    QPC_USES_COL       Relationship QueryPlus Command Uses Column
  3881. ENG|09123004    |     9|  |    QPC_USES_SNP       Relationship QueryPlus Command Uses Snapshot
  3882. ENG|09123004    |    11|  |    QPC_USES_SYN       Relationship QueryPlus Command Uses Synonym
  3883. ENG|09123004    |    13|  |    QPC_USES_TAB       Relationship QueryPlus Command Uses Table
  3884. ENG|09123004    |    15|  |    QPC_USES_VIE       Relationship QueryPlus Command Uses View
  3885. ENG|09123004    |    17|  |    QPE_USES_QPC       Relationship  QueryPlus  ExcelLink  Uses   QueryPlus
  3886. ENG|09123004    |    18|S |                       Command
  3887. ENG|09123004    |    19|  |    QPW_USES_QPC       Relationship   QueryPlus   WordLink  Uses  QueryPlus
  3888. ENG|09123004    |    20|  |                       Command
  3889. ENG|09123004    |    22|R |    USR_USES_QPC       Relationship User Uses QueryPlus Command
  3890. ENG|09123005    |     1|  |    QueryPlus Queries
  3891. ENG|09123005    |     4|  |    QPQUERYS           All QueryPlus Queries (QueryPlus  Query)  for  which
  3892. ENG|09123005    |     5|  |                       the current user has privileges
  3893. ENG|09123005    |     7|  |    QPQ_USES_COL       Relationship QueryPlus Query Uses Column
  3894. ENG|09123005    |     9|  |    QPQ_USES_SNP       Relationship QueryPlus Query Uses Snapshot
  3895. ENG|09123005    |    11|  |    QPQ_USES_SYN       Relationship QueryPlus Query Uses Synonym
  3896. ENG|09123005    |    13|  |    QPQ_USES_TAB       Relationship QueryPlus Query Uses Table
  3897. ENG|09123005    |    15|  |    QPQ_USES_VIE       Relationship QueryPlus Query Uses View
  3898. ENG|09123005    |    17|  |    QPE_USES_QPQ       Relationship   QueryPlus  ExcelLink  Uses  QueryPlus
  3899. ENG|09123005    |    18|S |                       Query
  3900. ENG|09123005    |    19|  |    QPW_USES_QPQ       Relationship QueryPlus WordLink Uses QueryPlus Query
  3901. ENG|09123005    |    21|R |    USR_USES_QPQ       Relationship User Uses QueryPlus Query
  3902. ENG|09123006    |     1|  |    QueryPlus ExcelLinks
  3903. ENG|09123006    |     4|  |    QPEXCELLINKS       All QueryPlus ExcelLinks for which the current  user
  3904. ENG|09123006    |     5|  |                       has privileges
  3905. ENG|09123006    |     7|  |    QPE_USES_QPC       Relationship   QueryPlus  ExcelLink  Uses  QueryPlus
  3906. ENG|09123006    |     8|  |                       Command
  3907. ENG|09123006    |    10|  |    QPE_USES_QPQ       Relationship  QueryPlus  ExcelLink  Uses   QueryPlus
  3908. ENG|09123006    |    11|  |                       Query
  3909. ENG|09123006    |    13|R |    USR_USES_QPE       Relationship User Uses QueryPlus ExcelLink
  3910. ENG|09123007    |     1|  |    QueryPlus WordLinks
  3911. ENG|09123007    |     4|  |    QPWORDLINKS        All  QueryPlus  WordLinks for which the current user
  3912. ENG|09123007    |     5|  |                       has privileges
  3913. ENG|09123007    |     7|  |    QPW_USES_QPC       Relationship  QueryPlus  WordLink   Uses   QueryPlus
  3914. ENG|09123007    |     8|  |                       Command
  3915. ENG|09123007    |    10|  |    QPW_USES_QPQ       Relationship QueryPlus WordLink Uses QueryPlus Query
  3916. ENG|09123007    |    12|R |    USR_USES_QPW       Relationship User Uses QueryPlus WordLink
  3917. ENG|09123008    |     1|  |    Easy Commands
  3918. ENG|09123008    |     4|  |    EASYCOMMANDS       All  named  requests  (EASY  command)  for which the
  3919. ENG|09123008    |     5|  |                       current user has privileges
  3920. ENG|09123008    |     7|  |    ECM_USES_COL       Relationship EASY Command Uses Column
  3921. ENG|09123008    |     9|  |    ECM_USES_SNP       Relationship EASY Command Uses Snapshot
  3922. ENG|09123008    |    11|  |    ECM_USES_SYN       Relationship EASY Command Uses Synonym
  3923. ENG|09123008    |    13|  |    ECM_USES_TAB       Relationship EASY Command Uses Table
  3924. ENG|09123008    |    15|R |    ECM_USES_VIE       Relationship EASY Command Uses View
  3925. ENG|09123009    |     1|  |    Easy Forms
  3926. ENG|09123009    |     4|  |    EASYFORMS          All EASY Forms (EASY Form)  for  which  the  current
  3927. ENG|09123009    |     5|  |                       user has privileges
  3928. ENG|09123009    |     7|  |    EFM_USES_COL       Relationship EASY Form Uses Column
  3929. ENG|09123009    |     9|  |    EFM_USES_SNP       Relationship EASY Form Uses Snapshot
  3930. ENG|09123009    |    11|  |    EFM_USES_SYN       Relationship EASY Form Uses Synonym
  3931. ENG|09123009    |    13|  |    EFM_USES_TAB       Relationship EASY Form Uses Table
  3932. ENG|09123009    |    15|R |    EFM_USES_VIE       Relationship EASY Form Uses View
  3933. ENG|091290      |     1|  |    <out of order>
  3934. ENG|091290      |     3|R |    Just for fun, to get the help facility work.
  3935.