Db2 12 for Z/OS: Purexml Guide Chapter 1

Total Page:16

File Type:pdf, Size:1020Kb

Db2 12 for Z/OS: Purexml Guide Chapter 1 Db2 12 for z/OS pureXML Guide IBM SC27-8862-02 Notes Before using this information and the product it supports, be sure to read the general information under "Notices" at the end of this information. Subsequent editions of this PDF will not be delivered in IBM Publications Center. Always download the latest edition from PDF format manuals for Db2 12 for z/OS (Db2 for z/OS Knowledge Center). 2020-12-16 edition This edition applies to Db2® 12 for z/OS® (product number 5650-DB2), Db2 12 for z/OS Value Unit Edition (product number 5770-AF3), and to any subsequent releases until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. Specific changes are indicated by a vertical bar to the left of a change. A vertical bar to the left of a figure caption indicates that the figure has changed. Editorial changes that have no technical significance are not noted. © Copyright International Business Machines Corporation 2007, 2019. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this information.......................................................................................... ix Who should read this information................................................................................................................x Db2 Utilities Suite for z/OS...........................................................................................................................x Terminology and citations............................................................................................................................x Accessibility features for Db2 12 for z/OS..................................................................................................xi How to send your comments...................................................................................................................... xi How to read syntax diagrams......................................................................................................................xi Chapter 1. Overview of pureXML............................................................................ 1 pureXML data model ................................................................................................................................... 2 Sequences and items............................................................................................................................. 2 Atomic values......................................................................................................................................... 3 Nodes......................................................................................................................................................3 Data model generation in XQuery........................................................................................................12 Comparison of the XML model and the relational model......................................................................... 13 XML data type............................................................................................................................................ 14 Tutorial: Working with XML data................................................................................................................15 Prerequisites for using pureXML............................................................................................................... 18 Setting up the XML schema repository................................................................................................18 Chapter 2. Working with XML data....................................................................... 29 Creation of tables with XML columns........................................................................................................29 Altering tables with XML columns............................................................................................................. 29 Storage structure for XML data..................................................................................................................31 Insertion of rows with XML column values............................................................................................... 34 Updates of XML columns........................................................................................................................... 36 Updates of entire XML documents.......................................................................................................37 Partial updates of XML documents......................................................................................................38 Deletion of rows with XML documents from tables.................................................................................. 43 XML versions.............................................................................................................................................. 43 XML support in triggers..............................................................................................................................45 XML parsing................................................................................................................................................46 XML parsing and whitespace handling................................................................................................ 47 XML parsing and DTDs..........................................................................................................................48 XML schema validation.............................................................................................................................. 50 XML schema validation and ignorable whitespace............................................................................. 50 XML schema validation with an XML type modifier.............................................................................51 XML schema validation with DSN_XMLVALIDATE...............................................................................57 How to determine whether an XML document has been validated....................................................61 Casts between XML data types and SQL data types.................................................................................61 Examples of casts from XML schema data types to SQL data types.................................................. 62 Retrieving XML data................................................................................................................................... 65 Retrieval of an entire XML document from an XML column................................................................65 XMLQUERY function for retrieval of portions of an XML document.................................................... 65 XMLEXISTS predicate for querying XML data......................................................................................68 Constant and parameter marker passing to XMLEXISTS and XMLQUERY......................................... 69 XMLTABLE function for returning XQuery results as a table............................................................... 69 XML support in native SQL routines.....................................................................................................74 Requests for data in XML columns by earlier Db2 clients...................................................................77 Functions for constructing XML values..................................................................................................... 77 iii Special character handling in SQL/XML publishing functions.................................................................. 81 XML serialization........................................................................................................................................81 Differences in an XML document after storage and retrieval................................................................... 83 Transforming an XML document with XSLTRANSFORM........................................................................... 85 Chapter 3. XML data indexing...............................................................................87 Pattern expressions................................................................................................................................... 88 Namespace declarations in XML index definitions................................................................................... 89 Data types associated with pattern expressions...................................................................................... 90 XML schemas and XML indexes.................................................................................................................90 The UNIQUE keyword in an XML index definition..................................................................................... 91 Access methods with XML indexes........................................................................................................... 92 Examples of DOCID single index access (ACCESSTYPE='DX' only)....................................................93 Example of DOCID ANDing access (ACCESSTYPE='DI')..................................................................... 95 Example of DOCID ORing access (ACCESSTYPE='DU').......................................................................96 Examples of index
Recommended publications
  • Xquery in IBM DB2 10 for Z/OS
    ® XQuery in IBM DB2 10 for z/OS Introduction In November 2011, support was added for XQuery in IBM® DB2® 10 for z/OS® through APARs PM47617 and PM47618. XQuery extends XPath with new language constructs, adding expressiveness to the IBM pureXML® features of DB2. Many XQuery queries can be rewritten using a combination of XPath and SQL/XML, but often XQuery is the preferred tool, as it is an easier to code and more readable alternative. Like XPath, XQuery is a W3C standard, and its addition is a further step in ensuring compatibility within the DB2 family of products. XQuery has been available in DB2 for Linux, UNIX, and Windows since 2006. Constructs of XQuery XQuery introduces new types of expressions that can be used in XMLQUERY, XMLTABLE, and XMLEXISTS function calls. The XMLQUERY function is used in the SELECT clause of an SQL query to specify which XML data to retrieve. The XMLTABLE function is used in the FROM clause to extract XML data in a table format. The XMLEXISTS function is used in the WHERE clause to specify under which conditions to retrieve the data. XQuery expressions are most applicable with XMLQUERY, because arguments to XMLEXISTS can be specified by XPath expressions, which are indexable, while XQuery expressions are not. XMLQUERY is not indexable. XQuery can be used in XMLTABLE as the row expression or column expressions, but is usually not needed for the relational result. XQuery could be used to construct new XML values for the XML column results. There are three types of expressions that can be used alone or in combination: FLWOR expressions A FLWOR expression is a loop construct for manipulating XML documents in an application-like manner.
    [Show full text]
  • Select Items from Proc.Sql Where Items>Basics
    Advanced Tutorials SELECT ITEMS FROM PROC.SQL WHERE ITEMS> BASICS Alan Dickson & Ray Pass ASG. Inc. to get more SAS sort-space. Also, it may be possible to limit For those of you who have become extremely the total size of the resulting extract set by doing as much of comfortable and competent in the DATA step, getting into the joining/merging as close to the raw data as possible. PROC SQL in a big wrJ may not initially seem worth it Your first exposure may have been through a training class. a 3) Communications. SQL is becoming a lingua Tutorial at a conference, or a real-world "had-to" situation, franca of data processing, and this trend is likely to continue such as needing to read corporate data stored in DB2, or for some time. You may find it easier to deal with your another relational database. So, perhaps it is just another tool systems department, vendors etc., who may not know SAS at in your PROC-kit for working with SAS datasets, or maybe all, ifyou can explain yourself in SQL tenus. it's your primary interface with another environment 4) Career growth. Not unrelated to the above - Whatever the case, your first experiences usually there's a demand for people who can really understand SQL. involve only the basic CREATE TABLE, SELECT, FROM, Its apparent simplicity is deceiving. On the one hand, you can WHERE, GROUP BY, ORDER BY options. Thus, the do an incredible amount with very little code - on the other, tendency is frequently to treat it as no more than a data extract you can readily generate plausible, but inaccurate, results with tool.
    [Show full text]
  • The Not So Short Introduction to Latex2ε
    The Not So Short Introduction to LATEX 2ε Or LATEX 2ε in 139 minutes by Tobias Oetiker Hubert Partl, Irene Hyna and Elisabeth Schlegl Version 4.20, May 31, 2006 ii Copyright ©1995-2005 Tobias Oetiker and Contributers. All rights reserved. This document is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this document; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Thank you! Much of the material used in this introduction comes from an Austrian introduction to LATEX 2.09 written in German by: Hubert Partl <[email protected]> Zentraler Informatikdienst der Universität für Bodenkultur Wien Irene Hyna <[email protected]> Bundesministerium für Wissenschaft und Forschung Wien Elisabeth Schlegl <noemail> in Graz If you are interested in the German document, you can find a version updated for LATEX 2ε by Jörg Knappen at CTAN:/tex-archive/info/lshort/german iv Thank you! The following individuals helped with corrections, suggestions and material to improve this paper. They put in a big effort to help me get this document into its present shape.
    [Show full text]
  • Database Foundations 6-8 Sorting Data Using ORDER BY
    Database Foundations 6-8 Sorting Data Using ORDER BY Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Roadmap Data Transaction Introduction to Structured Data Definition Manipulation Control Oracle Query Language Language Language (TCL) Application Language (DDL) (DML) Express (SQL) Restricting Sorting Data Joining Tables Retrieving Data Using Using ORDER Using JOINS Data Using WHERE BY SELECT You are here DFo 6-8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. 3 Sorting Data Using ORDER BY Objectives This lesson covers the following objectives: • Use the ORDER BY clause to sort SQL query results • Identify the correct placement of the ORDER BY clause within a SELECT statement • Order data and limit row output by using the SQL row_limiting_clause • Use substitution variables in the ORDER BY clause DFo 6-8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. 4 Sorting Data Using ORDER BY Using the ORDER BY Clause • Sort the retrieved rows with the ORDER BY clause: – ASC: Ascending order (default) – DESC: Descending order • The ORDER BY clause comes last in the SELECT statement: SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date ; DFo 6-8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. 5 Sorting Data Using ORDER BY Sorting • Sorting in descending order: SELECT last_name, job_id, department_id, hire_date FROM employees 1 ORDER BY hire_date DESC ; • Sorting by column alias: SELECT employee_id, last_name, salary*12 annsal 2 FROM employees ORDER BY annsal ; DFo 6-8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. 6 Sorting Data Using ORDER BY Sorting • Sorting by using the column's numeric position: SELECT last_name, job_id, department_id, hire_date FROM employees 3 ORDER BY 3; • Sorting by multiple columns: SELECT last_name, department_id, salary FROM employees 4 ORDER BY department_id, salary DESC; DFo 6-8 Copyright © 2015, Oracle and/or its affiliates.
    [Show full text]
  • IBM Data Conversion Under Websphere MQ
    IBM WebSphere MQ Data Conversion Under WebSphere MQ Table of Contents .................................................................................................................................................... 3 .................................................................................................................................................... 3 Int roduction............................................................................................................................... 4 Ac ronyms and terms used in Data Conversion........................................................................ 5 T he Pieces in the Data Conversion Puzzle............................................................................... 7 Coded Character Set Identifier (CCSID)........................................................................................ 7 Encoding .............................................................................................................................................. 7 What Gets Converted, and How............................................................................................... 9 The Message Descriptor.................................................................................................................... 9 The User portion of the message..................................................................................................... 10 Common Procedures when doing the MQPUT................................................................. 10 The message
    [Show full text]
  • How Mysql Handles ORDER BY, GROUP BY, and DISTINCT
    How MySQL handles ORDER BY, GROUP BY, and DISTINCT Sergey Petrunia, [email protected] MySQL University Session November 1, 2007 Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 1 Handling ORDER BY • Available means to produce ordered streams: – Use an ordered index • range access – not with MyISAM/InnoDB's DS-MRR – not with Falcon – Has extra (invisible) cost with NDB • ref access (but not ref-or-null) results of ref(t.keypart1=const) are ordered by t.keypart2, t.keypart3, ... • index access – Use filesort Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 2 Executing join and producing ordered stream There are three ways to produce ordered join output Method EXPLAIN shows Use an ordered index Nothing particular Use filesort() on 1st non-constant table “Using filesort” in the first row Put join result into a temporary table “Using temporary; Using filesort” in the and use filesort() on it first row EXPLAIN is a bit counterintuitive: id select_type table type possible_keys key key_len ref rows Extra Using where; 1 SIMPLE t2 range a a 5 NULL 10 Using temporary; Using filesort 1 SIMPLE t2a ref a a 5 t2.b 1 Using where Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 3 Using index to produce ordered join result • ORDER BY must use columns from one index • DESC is ok if it is present for all columns • Equality propagation: – “a=b AND b=const” is detected – “WHERE x=t.key ORDER BY x” is not • Cannot use join buffering – Use of matching join order disables use of join buffering.
    [Show full text]
  • Database SQL Call Level Interface 7.1
    IBM IBM i Database SQL call level interface 7.1 IBM IBM i Database SQL call level interface 7.1 Note Before using this information and the product it supports, read the information in “Notices,” on page 321. This edition applies to IBM i 7.1 (product number 5770-SS1) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. © Copyright IBM Corporation 1999, 2010. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents SQL call level interface ........ 1 SQLExecute - Execute a statement ..... 103 What's new for IBM i 7.1 .......... 1 SQLExtendedFetch - Fetch array of rows ... 105 PDF file for SQL call level interface ....... 1 SQLFetch - Fetch next row ........ 107 Getting started with DB2 for i CLI ....... 2 SQLFetchScroll - Fetch from a scrollable cursor 113 | Differences between DB2 for i CLI and embedded SQLForeignKeys - Get the list of foreign key | SQL ................ 2 columns .............. 115 Advantages of using DB2 for i CLI instead of SQLFreeConnect - Free connection handle ... 120 embedded SQL ............ 5 SQLFreeEnv - Free environment handle ... 121 Deciding between DB2 for i CLI, dynamic SQL, SQLFreeHandle - Free a handle ...... 122 and static SQL ............. 6 SQLFreeStmt - Free (or reset) a statement handle 123 Writing a DB2 for i CLI application ....... 6 SQLGetCol - Retrieve one column of a row of Initialization and termination tasks in a DB2 for i the result set ............ 125 CLI application ............ 7 SQLGetConnectAttr - Get the value of a Transaction processing task in a DB2 for i CLI connection attribute .........
    [Show full text]
  • Firebird 3 Windowing Functions
    Firebird 3 Windowing Functions Firebird 3 Windowing Functions Author: Philippe Makowski IBPhoenix Email: pmakowski@ibphoenix Licence: Public Documentation License Date: 2011-11-22 Philippe Makowski - IBPhoenix - 2011-11-22 Firebird 3 Windowing Functions What are Windowing Functions? • Similar to classical aggregates but does more! • Provides access to set of rows from the current row • Introduced SQL:2003 and more detail in SQL:2008 • Supported by PostgreSQL, Oracle, SQL Server, Sybase and DB2 • Used in OLAP mainly but also useful in OLTP • Analysis and reporting by rankings, cumulative aggregates Philippe Makowski - IBPhoenix - 2011-11-22 Firebird 3 Windowing Functions Windowed Table Functions • Windowed table function • operates on a window of a table • returns a value for every row in that window • the value is calculated by taking into consideration values from the set of rows in that window • 8 new windowed table functions • In addition, old aggregate functions can also be used as windowed table functions • Allows calculation of moving and cumulative aggregate values. Philippe Makowski - IBPhoenix - 2011-11-22 Firebird 3 Windowing Functions A Window • Represents set of rows that is used to compute additionnal attributes • Based on three main concepts • partition • specified by PARTITION BY clause in OVER() • Allows to subdivide the table, much like GROUP BY clause • Without a PARTITION BY clause, the whole table is in a single partition • order • defines an order with a partition • may contain multiple order items • Each item includes
    [Show full text]
  • AIX Globalization
    AIX Version 7.1 AIX globalization IBM Note Before using this information and the product it supports, read the information in “Notices” on page 233 . This edition applies to AIX Version 7.1 and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 2010, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document............................................................................................vii Highlighting.................................................................................................................................................vii Case-sensitivity in AIX................................................................................................................................vii ISO 9000.....................................................................................................................................................vii AIX globalization...................................................................................................1 What's new...................................................................................................................................................1 Separation of messages from programs..................................................................................................... 1 Conversion between code sets.............................................................................................................
    [Show full text]
  • Aggregate Order by Clause
    Aggregate Order By Clause Dialectal Bud elucidated Tuesdays. Nealy vulgarizes his jockos resell unplausibly or instantly after Clarke hurrah and court-martial stalwartly, stanchable and jellied. Invertebrate and cannabic Benji often minstrels some relator some or reactivates needfully. The default order is ascending. Have exactly match this assigned stream aggregate functions, not work around with security software development platform on a calculation. We use cookies to ensure that we give you the best experience on our website. Result output occurs within the minimum time interval of timer resolution. It is not counted using a table as i have group as a query is faster count of getting your browser. Let us explore it further in the next section. If red is enabled, when business volume where data the sort reaches the specified number of bytes, the collected data is sorted and dumped into these temporary file. Kris has written hundreds of blog articles and many online courses. Divides the result set clock the complain of groups specified as an argument to the function. Threat and leaves only return data by order specified, a human agents. However, this method may not scale useful in situations where thousands of concurrent transactions are initiating updates to derive same data table. Did you need not performed using? If blue could step me first what is vexing you, anyone can try to explain it part. It returns all employees to database, and produces no statements require complex string manipulation and. Solve all tasks to sort to happen next lesson. Execute every following query access GROUP BY union to calculate these values.
    [Show full text]
  • List of Approved Special Characters
    List of Approved Special Characters The following list represents the Graduate Division's approved character list for display of dissertation titles in the Hooding Booklet. Please note these characters will not display when your dissertation is published on ProQuest's site. To insert a special character, simply hold the ALT key on your keyboard and enter in the corresponding code. This is only for entering in a special character for your title or your name. The abstract section has different requirements. See abstract for more details. Special Character Alt+ Description 0032 Space ! 0033 Exclamation mark '" 0034 Double quotes (or speech marks) # 0035 Number $ 0036 Dollar % 0037 Procenttecken & 0038 Ampersand '' 0039 Single quote ( 0040 Open parenthesis (or open bracket) ) 0041 Close parenthesis (or close bracket) * 0042 Asterisk + 0043 Plus , 0044 Comma ‐ 0045 Hyphen . 0046 Period, dot or full stop / 0047 Slash or divide 0 0048 Zero 1 0049 One 2 0050 Two 3 0051 Three 4 0052 Four 5 0053 Five 6 0054 Six 7 0055 Seven 8 0056 Eight 9 0057 Nine : 0058 Colon ; 0059 Semicolon < 0060 Less than (or open angled bracket) = 0061 Equals > 0062 Greater than (or close angled bracket) ? 0063 Question mark @ 0064 At symbol A 0065 Uppercase A B 0066 Uppercase B C 0067 Uppercase C D 0068 Uppercase D E 0069 Uppercase E List of Approved Special Characters F 0070 Uppercase F G 0071 Uppercase G H 0072 Uppercase H I 0073 Uppercase I J 0074 Uppercase J K 0075 Uppercase K L 0076 Uppercase L M 0077 Uppercase M N 0078 Uppercase N O 0079 Uppercase O P 0080 Uppercase
    [Show full text]
  • Hive Where Clause Example
    Hive Where Clause Example Bell-bottomed Christie engorged that mantids reattributes inaccessibly and recrystallize vociferously. Plethoric and seamier Addie still doth his argents insultingly. Rubescent Antin jibbed, his somnolency razzes repackages insupportably. Pruning occurs directly with where and limit clause to store data question and column must match. The ideal for column, sum of elements, the other than hive commands are hive example the terminator for nonpartitioned external source table? Cli to hive where clause used to pick tables and having a column qualifier. For use of hive sql, so the source table csv_table in most robust results yourself and populated using. If the bucket of the sampling is created in this command. We want to talk about which it? Sql statements are not every data, we should run in big data structures the. Try substituting synonyms for full name. Currently the where at query, urban private key value then prints the where hive table? Hive would like the partitioning is why the. In hive example hive data types. For the data, depending on hive will also be present in applying the example hive also widely used. The electrician are very similar to avoid reading this way, then one virtual column values in data aggregation functionalities provided below is sent to be expressed. Spark column values. In where clause will print the example when you a script for example, it will be spelled out of subquery must produce such hash bucket level of. After copy and collect_list instead of the same type is only needs to calculate approximately percentiles for sorting phase in keyword is expected schema.
    [Show full text]