File: result.xml

package info (click to toggle)
virtuoso-opensource 6.1.2%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 213,384 kB
  • ctags: 120,485
  • sloc: ansic: 631,183; sql: 420,245; xml: 272,257; java: 62,959; sh: 39,240; cpp: 37,890; cs: 24,942; php: 12,251; yacc: 8,812; lex: 7,135; makefile: 6,331; jsp: 3,739; asm: 3,281; ada: 1,681; awk: 1,639; pascal: 1,089; perl: 1,017; ruby: 1,000; python: 329
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-2006 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>col_1, ..., col_n<title></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 examples 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 odbctest or another application supporting multiple result 
sets.  
The RES procedure, below, returns two result sets, the first with two rows and 
the second with 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 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>