Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 538

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="Function: signal - Virtuoso Functions Guide" />
  <meta name="dc.subject" content="Function: signal - Virtuoso Functions Guide" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="functions.html" title="Chapter Contents" />
  <link rel="prev" href="appendixa.html" title="Appendix" />
  <link rel="next" href="functions.html#.html" title="" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>Function: signal - Virtuoso Functions Guide</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="fn_signal" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>22. Virtuoso Functions Guide - signal</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_set_identity_column.html" title="set_identity_column">Prev</a> | <a class="link" href="fn_sinv_create_key_mapping.html" title="sinv_create_key_mapping">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div>
      <a class="selected" href="functions.html">Virtuoso Functions Guide</a>
   </div>
    <br />
   <div>
      <a href="functions.html#admin">Administration</a>
   </div>
   <div>
      <a href="functions.html#aggr">Aggregate Functions</a>
   </div>
   <div>
      <a href="functions.html#array">Array Manipulation</a>
   </div>
   <div>
      <a href="functions.html#bpel">BPEL APIs</a>
   </div>
   <div>
      <a href="functions.html#backup">Backup</a>
   </div>
   <div>
      <a href="functions.html#compression">Compression</a>
   </div>
   <div>
      <a href="functions.html#cursors">Cursor</a>
   </div>
   <div>
      <a href="functions.html#time">Date &amp; Time Manipulation</a>
   </div>
   <div>
      <a href="functions.html#debug">Debug</a>
   </div>
   <div>
      <a href="functions.html#dict">Dictionary Manipulation</a>
   </div>
   <div>
      <a href="functions.html#encoding">Encoding &amp; Decoding</a>
   </div>
   <div>
      <a href="functions.html#file">File Manipulation</a>
   </div>
   <div>
      <a href="functions.html#ft">Free Text</a>
   </div>
   <div>
      <a href="functions.html#hash">Hashing / Cryptographic</a>
   </div>
   <div>
      <a href="functions.html#ldap">LDAP</a>
   </div>
   <div>
      <a href="functions.html#localization">Locale</a>
   </div>
   <div>
      <a href="functions.html#mail">Mail</a>
   </div>
   <div>
      <a href="functions.html#misc">Miscellaneous</a>
   </div>
   <div>
      <a href="functions.html#number">Number</a>
   </div>
   <div>
      <a href="functions.html#phrz">Phrases</a>
   </div>
   <div>
      <a href="functions.html#rdf">RDF data</a>
   </div>
   <div>
      <a href="functions.html#rmt">Remote SQL Data Source</a>
   </div>
   <div>
      <a href="functions.html#repl">Replication</a>
   </div>
   <div>
      <a href="functions.html#soap">SOAP</a>
   </div>
   <div>
      <a class="selected" href="functions.html#sql">SQL</a>
   </div>
   <div class="selected">
    <div>
        <a href="fn___any_grants.html">__any_grants</a>
    </div>
    <div>
        <a href="fn_exec_close.html">close</a>
    </div>
    <div>
        <a href="fn_collation_define.html">collation_define</a>
    </div>
    <div>
        <a href="fn_complete_table_name.html">complete_table_name</a>
    </div>
    <div>
        <a href="fn_delay.html">delay</a>
    </div>
    <div>
        <a href="fn_end_result.html">end_result</a>
    </div>
    <div>
        <a href="fn_exec.html">exec</a>
    </div>
    <div>
        <a href="fn_exec_metadata.html">exec_metadata</a>
    </div>
    <div>
        <a href="fn_exec_next.html">exec_next</a>
    </div>
    <div>
        <a href="fn_exec_result.html">exec_result</a>
    </div>
    <div>
        <a href="fn_exec_result_names.html">exec_result_names</a>
    </div>
    <div>
        <a href="fn_exec_score.html">exec_score</a>
    </div>
    <div>
        <a href="fn_identity_value.html">identity_value</a>
    </div>
    <div>
        <a href="fn_name_part.html">name_part</a>
    </div>
    <div>
        <a href="fn_registry_get.html">registry_get</a>
    </div>
    <div>
        <a href="fn_registry_get_all.html">registry_get_all</a>
    </div>
    <div>
        <a href="fn_registry_name_is_protected.html">registry_name_is_pro...</a>
    </div>
    <div>
        <a href="fn_registry_remove.html">registry_remove</a>
    </div>
    <div>
        <a href="fn_registry_set.html">registry_set</a>
    </div>
    <div>
        <a href="fn_result.html">result</a>
    </div>
    <div>
        <a href="fn_result_names.html">result_names</a>
    </div>
    <div>
        <a href="fn_row_count.html">row_count</a>
    </div>
    <div>
        <a href="fn_sequence_get_all.html">sequence_get_all</a>
    </div>
    <div>
        <a href="fn_sequence_next.html">sequence_next</a>
    </div>
    <div>
        <a href="fn_sequence_remove.html">sequence_remove</a>
    </div>
    <div>
        <a href="fn_sequence_set.html">sequence_set</a>
    </div>
    <div>
        <a href="fn_set_identity_column.html">set_identity_column</a>
    </div>
    <div>
        <a href="fn_set_row_count.html">set_row_count</a>
    </div>
    <div>
        <a href="fn_set_user_id.html">set_user_id</a>
    </div>
    <div>
        <a class="selected" href="fn_signal.html">signal</a>
    </div>
    <div>
        <a href="fn_sinv_create_inverse.html">sinv_create_inverse</a>
    </div>
    <div>
        <a href="fn_sinv_create_key_mapping.html">sinv_create_key_mapp...</a>
    </div>
    <div>
        <a href="fn_sinv_drop_inverse.html">sinv_drop_inverse</a>
    </div>
    <div>
        <a href="fn_sys_stat_analyze.html">sys_stat_analyze</a>
    </div>
    <div>
        <a href="fn_sys_stat_histogram.html">sys_stat_histogram</a>
    </div>
    <div>
        <a href="fn_table_drop_policy.html">table_drop_policy</a>
    </div>
    <div>
        <a href="fn_table_set_policy.html">table_set_policy</a>
    </div>
    <div>
        <a href="fn_username.html">username</a>
    </div>
   </div>
   <div>
      <a href="functions.html#string">String</a>
   </div>
   <div>
      <a href="functions.html#txn">Transaction</a>
   </div>
   <div>
      <a href="functions.html#type">Type Mapping</a>
   </div>
   <div>
      <a href="functions.html#uddi">UDDI</a>
   </div>
   <div>
      <a href="functions.html#udt">User Defined Types &amp; The CLR</a>
   </div>
   <div>
      <a href="functions.html#vad">VAD</a>
   </div>
   <div>
      <a href="functions.html#jvmpl">Virtuoso Java PL API</a>
   </div>
   <div>
      <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a>
   </div>
   <div>
      <a href="functions.html#ws">Web &amp; Internet</a>
   </div>
   <div>
      <a href="functions.html#xml">XML</a>
   </div>
   <div>
      <a href="functions.html#XPATH">XPATH &amp; XQUERY</a>
   </div>
    <br />
   <div>
      <a href="functionidx.html">Functions Index</a>
   </div>
    <br />
  </div>
  <div id="text">
    <h2>signal</h2>
    <div class="refpurpose">Signal an exception   in the calling procedure</div>
    <div class="funcsynopsis">
        <span class="funcdef">
     <span class="function">signal</span>
     </span>
        (<span class="paramdef">in <span class="parameter">sqlstate</span> varchar</span>, 
        <span class="paramdef">in <span class="parameter">message</span> varchar</span>);
      </div>
  
  
  
  <div class="refsect1">
      <div class="refsect1title">Description</div>
    <p>This signals the given SQLSTATE with the message. The calling procedure will transfer control to the most appropriate local handler. In the absence of a local handler the procedure terminates and signals the exception in the scope where it was called from, until there either is a handler or there are no more calling procedures. If there is no handler in the entire stack of call contexts the error is signalled to the client.
Handlers can be declared with whenever .. goto and the declare handler for construct.
See the Virtuoso/PL documentation.
</p>
			<div>
        <pre class="screen">
CREATE PROCEDURE WITHDRAW (IN C_ID VARCHAR, IN DELTA NUMERIC)
{
    DECLARE BAL NUMERIC;

    DECLARE CR CURSOR FOR SELECT C_BALANCE FROM CUSTOMER WHERE C_ID = C_ID;

    WHENEVER NOT FOUND GOTO NOCUSTOMER;

    OPEN CR (EXCLUSIVE);
    FETCH CR INTO BAL;
    IF (BAL &gt; DELTA)
	UPDATE CUSTOMER SET C_BALANCE = BAL - DELTA WHERE CURRENT OF CR;
    ELSE
	SIGNAL (&#39;NOMONEY&#39;, &#39;INSUFFICIENT BALANCE.&#39;);

    RETURN;

NOCUSTOMER:
    SIGNAL (&#39;NOCUS&#39;, &#39;BAD CUSTOMER ID&#39;);
}
</pre>
      </div>
	</div>
</div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>