Generierung von Standard-XML-Schemata für gespeicherte Prozeduren, die Ergebnismengen zurückgeben

Die Workbench kann detaillierte oder generische XML-Schemata für gespeicherte Prozeduren generieren, die gleichbleibende Eingabewerte akzeptieren und Ergebnismengen zurückgeben, die immer gleich sind.

Für die Erstellung eines möglichst detaillierten XML-Schemas muss die Workbench die Struktur dieser unveränderlichen Ergebnismengen kennen. Die Workbench muss die gespeicherte Prozedur ausführen, um diese Informationen zu erhalten. Bevor die Workbench die gespeicherte Prozedur ausführen kann, müssen Sie die Werte der Eingabeparameter bereitstellen.

Die Operation "two_result_sets" ruft z. B. eine gespeicherte Prozedur auf, die immer dieselben Eingabewerte akzeptiert und immer dieselben zwei Ergebnismengen zurückgibt. Wenn Sie die Eingabewerte nicht bereitstellen und die gespeicherte Prozedur ausführen, erstellt die Workbench das folgende Standard-XML-Schema für die Antwortnachricht:

<xsd:element name="two_result_sets_Response">
   <xsd:complexType>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="rowset" type="tns:anonymousResultSetType" />
         <xsd:element maxOccurs="1" minOccurs="0" name="rowset2" type="tns:anonymousResultSetType" />
      </xsd:sequence>
   </xsd:complexType>
</xsd:element>

Dieses XML-Schema enthält keine Informationen zu Spalten oder Datentypen.

Wenn Sie jedoch die Eingabewerte bereitstellen und anschließend die gespeicherte Prozedur von der Workbench ausführen lassen, generiert die Workbench dieses Standard-XML-Schema für die Antwortnachricht:

<xsd:element name="two_result_setsResponse">
   <xsd:complexType>
      <xsd:sequence>
         <xsd:element name="rowset">
            <xsd:complexType>
               <xsd:sequence>
                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="row">
                     <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element name="NAME" nillable="true" type="xsd:string" />
                           <xsd:element name="JOB" nillable="true" type="xsd:string" />
                           <xsd:element name="_x0033_" nillable="true" type="xsd:double" />
                        </xsd:sequence>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="rowset2">
            <xsd:complexType>
               <xsd:sequence>
                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="row">
                     <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element name="NAME" nillable="true" type="xsd:string" />
                           <xsd:element name="JOB" nillable="true" type="xsd:string" />
                           <xsd:element name="_x0033_" nillable="true" type="xsd:double" />
                        </xsd:sequence>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:complexType>
</xsd:element>

Feedback