File: result.xml

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (105 lines) | stat: -rw-r--r-- 4,262 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 
 -  
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2018 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program 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 program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<refentry id="fn_result">
  <refmeta> 
    <refentrytitle>result</refentrytitle> 
    <refmiscinfo>sql</refmiscinfo>
  </refmeta> 
  <refnamediv> 
    <refname>result</refname> 
    <refpurpose>Sends one row of results to the calling client.</refpurpose>
  </refnamediv>
  <refsynopsisdiv> 
    <funcsynopsis id="fsyn_result"> 
      <funcprototype id="fproto_result">
        <funcdef><function>result</function></funcdef> 
	<paramdef>in <parameter>col_1</parameter> any</paramdef>
	<paramdef><parameter>..</parameter> </paramdef>
	<paramdef>in <parameter>col_n</parameter> any</paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>
  <refsect1 id="desc_result">
    <title>Description</title>
    <para>The <function>result_names()</function>
predefines variables to be used in a result set to follow.  The variables must 
be previously declared, from which the column data types are ascertained.  
This assigns the meta data but does not send any results.  The 
<function>result()</function> function sends its parameters as a single row 
of results.  These parameters should be compatible with those in the previous 
<function>result_names()</function>.  The <function>end_results()</function> 
function can be used to separate multiple result sets.  The 
<function>result_names()</function> can then be used to alter 
the structure of the next result set.</para>
<para>The <function>result_names()</function> call can be omitted if 
the application already knows what columns and their types are to be returned.</para>
  </refsect1>
  <refsect1 id="params_result">
    <title>Parameters</title>
    <refsect2><title>col_1, ..., col_n</title>
      <para>The data to be sent to the client.</para>
    </refsect2>
  </refsect1>
  <refsect1 id="examples_result">
    <title>Examples</title>
    <example id="ex_result"><title></title>
      <para>This example demonstrates outputting multiple result sets from a
stored procedure.  This procedure can be entered using ISQL but ISQL does not 
support multiple result sets.  To view the output you can use the 
the sample application odbc test or another application that supports multiple result
sets.  
The RES procedure below returns two result sets -- the first has two rows and
the second has four rows. The result_names function gives each result column
a type and title.  This can be omitted if the application knows which columns 
to expect.  The result function sends the actual result row.  The end_result function 
indicates that a new result set will begin.  These functions can be used inside 
loops or subprocedures, thus allowing with one call to yield a variable number of
result sets.</para>
      <programlisting><![CDATA[
CREATE PROCEDURE RES (IN I INTEGER)
{
  DECLARE STR, STR2 VARCHAR;

  RESULT_NAMES (I, STR);
  RESULT (I, 'FIRST');
  RESULT (I + 1, 'SECOND');
  RESULT_NAMES (I, STR, STR2);

  END_RESULT ();

  RESULT (I, 'FIRST');
  RESULT (I + 1, 'SECOND');
  RESULT (I + 2, 'THIRD', 'FF');
  RESULT (I + 3, 'FOURTH', 'FF');

  RETURN 1;
}]]></programlisting>
    </example>
  </refsect1>
  <refsect1 id="seealso_result">
    <title>See Also</title>
    <para><link linkend="fn_result_names"><function>result_names()</function></link></para>
    <para><link linkend="fn_end_result"><function>end_result()</function></link></para>
  </refsect1>
</refentry>