Язык запросов SQL

Массивы



Массивы

Если вы хотите поместить в одно поле больше одного элемента, вместо типа ROW воспользуйтесь типом Array. Для этого примера в таблице CONTACTINFO объявим столбец Phone как массив, а затем создадим XML-схему, которая будет преобразовывать массив в XML:

Например:



CREATE TABLE CONTACTINFO (
Name CHARACTER (30)
Phone CHARACTER (13) ARRAY [4]
) ;

Теперь воспользуемся следующей XML-схемой для преобразования этого типа:

<xsd:complexType Name='ARRAY_4.CHAR_13'>

        <xsd:annotation>

                <xsd:appinfo>

                        <sqlxml:sqltype kind='ARRAY1

                                maxElements='4'

                                mappedElementType='CHAR_13'/>

                </xsd:appinfo>

        </xsd:annotation>

        <xsd:sequence>

                <xsd:element Name='element'

                minOccurs='0' maxOccurs='4'

                nillable='true' type='CHAR_13'/>

        </xsd:sequence >

</xsd:complexType>

Результат будет примерно следующим:

<Phone>

        <element>(888)555-llll</element>

        <element>xsi:nil='true'/>

        <element>(888)555-3434</element>

</Phone>

Элемент в массиве, содержащий xsi:nil='true', говорит о том, что второй телефонный номер в исходной таблице содержит неопределенное значение.



Содержание раздела