<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="dc.language" scheme="rfc1766" content="en-us" /> <!-- All rights reserved. Licensed Materials Property of IBM --> <!-- US Government Users Restricted Rights --> <!-- Use, duplication or disclosure restricted by --> <!-- GSA ADP Schedule Contract with IBM Corp. --> <meta name="dc.date" scheme="iso8601" content="2005-09-19" /> <meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" /> <meta name="security" content="public" /> <meta name="Robots" content="index,follow"/> <meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' /> <meta name="keywords" content=" GRANT (Function or Procedure Privileges) statement, GRANT (Function or Procedure Privileges), SQL statements, ALL clause, ALL PRIVILEGES clause, ALTER clause, EXECUTE clause, FUNCTION clause, GRANT statement, SPECIFIC clause, in GRANT statement, specific-name, granting, function, procedure, in GRANT (Function or Procedure Privileges) statement, authorization-name, PUBLIC clause, WITH GRANT OPTION clause, GRANT (Fnction or Procedure Privileges) statement" /> <title>GRANT (Function or Procedure Privileges)</title> <link rel="stylesheet" type="text/css" href="ibmidwb.css" /> <link rel="stylesheet" type="text/css" href="ic.css" /> </head> <body> <a id="Top_Of_Page" name="Top_Of_Page"></a><!-- Java sync-link --> <script language = "Javascript" src = "../rzahg/synch.js" type="text/javascript"></script> <a name="gntprc"></a> <h2 id="gntprc"><a href="rbafzmst02.htm#ToC_1112">GRANT (Function or Procedure Privileges)</a></h2><a id="idx2785" name="idx2785"></a><a id="idx2786" name="idx2786"></a> <a name="grntprc"></a> <p id="grntprc">This form of the GRANT statement grants privileges on a function or procedure.</p> <a name="wq1554"></a> <h3 id="wq1554"><a href="rbafzmst02.htm#ToC_1113">Invocation</a></h3> <p>This statement can be embedded in an application program or issued interactively. It is an executable statement that can be dynamically prepared.</p> <a name="wq1555"></a> <h3 id="wq1555"><a href="rbafzmst02.htm#ToC_1114">Authorization</a></h3> <p>The privileges held by the authorization ID of the statement must include at least one of the following: </p> <ul> <li>For each function or procedure identified in the statement: <ul> <li>Every privilege specified in the statement</li> <li>The system authority of *OBJMGT on the function or procedure</li> <li>The system authority *EXECUTE on the library (or directory if this is a Java™ routine) containing the function or procedure</li></ul></li> <li>Administrative authority</li></ul> <p>If WITH GRANT OPTION is specified, the privileges held by the authorization ID of the statement must include at least one of the following: </p> <ul> <li>Ownership of the function or procedure</li> <li>Administrative authority</li></ul> <a name="wq1556"></a> <h3 id="wq1556"><a href="rbafzmst02.htm#ToC_1115">Syntax</a></h3> <a href="rbafzmstgntprc.htm#synsgrantf"><img src="c.gif" alt="Click to skip syntax diagram" /></a> <p> </p> <a name="wq1557"></a> <div class="fignone" id="wq1557"> <pre class="cgraphic"><span><img src="c.gif" alt="Read syntax diagram" longdesc="rbafzmstsyn348.htm" border="0" /></span><a href="#skipsyn-347"><img src="c.gif" alt="Skip visual syntax diagram" border="0" /></a> .-PRIVILEGES-. >>-GRANT--+-ALL--+------------+-+--ON---------------------------> | .-,-----------. | | V | | '---+-ALTER---+-+-----' '-EXECUTE-' .-,-----------------------------------------------------------------------. V | >----+-+-+-FUNCTION-+--<span class="italic">function-name</span>--+------------------------------+-+---+-+--> | | '-ROUTINE--' '-(--+--------------------+--)-' | | | | | .-,--------------. | | | | | | V | | | | | | '---<span class="italic">parameter-type</span>-+-' | | | '-SPECIFIC--+-FUNCTION-+--<span class="italic">specific-name</span>-------------------------' | | '-ROUTINE--' | '-+-+-PROCEDURE-+--<span class="italic">procedure-name</span>--+------------------------------+-+-' | '-ROUTINE---' '-(--+--------------------+--)-' | | | .-,--------------. | | | | V | | | | '---<span class="italic">parameter-type</span>-+-' | '-SPECIFIC--+-PROCEDURE-+--<span class="italic">specific-name</span>--------------------------' '-ROUTINE---' .-,----------------------. V | >--TO----+-<span class="italic">authorization-name</span>-+-+--+-------------------+------->< '-PUBLIC-------------' '-WITH GRANT OPTION-' </pre> <a name="skipsyn-347" id="skipsyn-347"></a></div> <a name="wq1558"></a> <div class="fignone" id="wq1558"> <pre class="cgraphic"><span><img src="c.gif" alt="Read syntax diagram" longdesc="rbafzmstsyn349.htm" border="0" /></span><a href="#skipsyn-348"><img src="c.gif" alt="Skip visual syntax diagram" border="0" /></a>parameter-type: |----<span class="italic">data-type</span>--+------------+----------------------------------| '-AS LOCATOR-' </pre> <a name="skipsyn-348" id="skipsyn-348"></a></div> <a name="wq1559"></a> <div class="fignone" id="wq1559"> <pre class="cgraphic"><span><img src="c.gif" alt="Read syntax diagram" longdesc="rbafzmstsyn350.htm" border="0" /></span><a href="#skipsyn-349"><img src="c.gif" alt="Skip visual syntax diagram" border="0" /></a>data-type: |--+-<span class="italic">built-in-type</span>------+---------------------------------------| '-<span class="italic">distinct-type-name</span>-' </pre> <a name="skipsyn-349" id="skipsyn-349"></a></div> <a name="wq1560"></a> <div class="fignone" id="wq1560"> <pre class="cgraphic"><span><img src="c.gif" alt="Read syntax diagram" longdesc="rbafzmstsyn351.htm" border="0" /></span><a href="#skipsyn-350"><img src="c.gif" alt="Skip visual syntax diagram" border="0" /></a>built-in-type: |--+-+---SMALLINT---+----------------------------------------------------------------------------------------------+--| | +-+-INTEGER-+--+ | | | '-INT-----' | | | '---BIGINT-----' | | .-(5,0)----------------------------. | +-+-+-DECIMAL-+-+--+----------------------------------+---------------------------------------------------------+ | | '-DEC-----' | '-(--+------------------------+--)-' | | '-NUMERIC-----' '-<span class="italic">integer</span>--+-----------+-' | | '-<span class="italic">, integer</span>-' | | .-(53)----------. | +-+-FLOAT--+---------------+-+----------------------------------------------------------------------------------+ | | '-(--<span class="italic">integer</span>--)-' | | | +-REAL---------------------+ | | | .-PRECISION-. | | | '-DOUBLE--+-----------+----' | | .-(1)---------------. | +-+-+-+-CHARACTER-+--+-------------------+--------------+--+----------------+---------------------------------+-+ | | | '-CHAR------' '-(--+---------+--)-' | +-FOR BIT DATA---+ | | | | | '-<span class="italic">integer</span>-' | +-FOR SBCS DATA--+ | | | | '---+-+-CHARACTER-+--VARYING-+--(--+---------+--)---' +-FOR MIXED DATA-+ | | | | | '-CHAR------' | '-<span class="italic">integer</span>-' '-CCSID--<span class="italic">integer</span>-' | | | | '-VARCHAR----------------' | | | | .-(1M)---------------------. | | | '-----+-+-<span>CHARACTER</span>-+--<span>LARGE OBJECT</span>-+------+--------------------------+--+----------------+--+------------+-' | | | '-<span>CHAR</span>------' | '-(--+---------+--+---+--)-' +-FOR SBCS DATA--+ '-AS LOCATOR-' | | '-<span>CLOB</span>------------------------' '-<span class="italic">integer</span>-' +-K-+ +-FOR MIXED DATA-+ | | +-M-+ '-CCSID--<span class="italic">integer</span>-' | | '-G-' | | .-(1)---------------. | +-+-+---GRAPHIC----+-------------------+---------+--+----------------+-----------+------------------------------+ | | | '-(--+---------+--)-' | '-CCSID--<span class="italic">integer</span>-' | | | | | '-<span class="italic">integer</span>-' | | | | | '---+-VARGRAPHIC------+--(--+---------+--)---' | | | | '-GRAPHIC VARYING-' '-<span class="italic">integer</span>-' | | | | .-(1M)---------------------. | | | '---DBCLOB----+--------------------------+--+----------------+--+------------+-' | | '-(--+---------+--+---+--)-' '-CCSID--<span class="italic">integer</span>-' '-AS LOCATOR-' | | '-<span class="italic">integer</span>-' +-K-+ | | +-M-+ | | '-G-' | | .-(1)---------------. | +-+-+-BINARY--+-------------------+---------+---------------------------------+---------------------------------+ | | | '-(--+---------+--)-' | | | | | | '-<span class="italic">integer</span>-' | | | | | '-+-BINARY VARYING-+--(--+---------+--)-' | | | | '-VARBINARY------' '-<span class="italic">integer</span>-' | | | | .-(1M)---------------------. | | | '---+-BLOB----------------+----+--------------------------+--+------------+-' | | '-BINARY LARGE OBJECT-' '-(--+---------+--+---+--)-' '-AS LOCATOR-' | | '-<span class="italic">integer</span>-' +-K-+ | | +-M-+ | | '-G-' | +-+---DATE-----------------+------------------------------------------------------------------------------------+ | | .-(--0--)-. | | | +-TIME--+---------+------+ | | | .-(--6--)-. | | | '-TIMESTAMP--+---------+-' | | .-(200)-------------. | +---DATALINK--+-------------------+--+----------------+---------------------------------------------------------+ | '-(--+---------+--)-' '-CCSID--<span class="italic">integer</span>-' | | '-<span class="italic">integer</span>-' | '---ROWID-------------------------------------------------------------------------------------------------------' </pre> <a name="skipsyn-350" id="skipsyn-350"></a></div> <a name="synsgrantf"></a> <h3 id="synsgrantf"><a href="rbafzmst02.htm#ToC_1116">Description</a></h3> <dl class="parml"> <dt class="bold">ALL <span class="base">or</span> ALL PRIVILEGES</dt><a id="idx2787" name="idx2787"></a><a id="idx2788" name="idx2788"></a> <dd>Grants one or more privileges. The privileges granted are all those grantable privileges that the authorization ID of the statement has on the specified functions or procedures. Note that granting ALL PRIVILEGES on a function or procedure is not the same as granting the system authority of *ALL. <p>If you do not use ALL, you must use one or more of the keywords listed below. Each keyword grants the privilege described.</p> </dd> <dt class="bold">ALTER </dt><a id="idx2789" name="idx2789"></a> <dd>Grants the privilege to use the COMMENT statement. </dd> <dt class="bold">EXECUTE </dt><a id="idx2790" name="idx2790"></a> <dd>Grants the privilege to execute the function or procedure. </dd> <dt class="bold">FUNCTION or SPECIFIC FUNCTION</dt><a id="idx2791" name="idx2791"></a> <dd>Identifies the function on which the privilege is granted. The function must exist at the current server and it must be a user-defined function<span>, but not a function that was implicitly generated with the creation of a distinct type</span>. The function can be identified by its name, function signature, or specific name. <dl class="parml"> <dt class="bold">FUNCTION <var class="pv">function-name</var> </dt> <dd>Identifies the function by its name. The <span class="italic">function-name</span> must identify exactly one function. The function may have any number of parameters defined for it. If there is more than one function of the specified name in the specified or implicit schema, an error is returned. </dd> <dt class="bold">FUNCTION <var class="pv">function-name (parameter-type, ...)</var></dt> <dd>Identifies the function by its function signature, which uniquely identifies the function. The <span class="italic">function-name (parameter-type, ...)</span> must identify a function with the specified function signature. The specified parameters must match the data types in the corresponding position that were specified when the function was created. The number of data types, and the logical concatenation of the data types is used to identify the specific function instance on which the privilege is to be granted. Synonyms for data types are considered a match. <p>If <var class="pv">function-name ()</var> is specified, the function identified must have zero parameters.</p> <dl class="parml"> <dt class="bold"><var class="pv">function-name </var></dt> <dd>Identifies the name of the function. </dd> <dt class="bold"><var class="pv">(parameter-type, ...)</var></dt> <dd>Identifies the parameters of the function. <p>If an unqualified distinct type name is specified, the database manager searches the SQL path to resolve the schema name for the distinct type.</p> <p>For data types that have a length, precision, or scale attribute, use one of the following:</p> <ul> <li>Empty parentheses indicate that the database manager ignores the attribute when determining whether the data types match. For example, DEC() will be considered a match for a parameter of a function defined with a data type of DEC(7,2). However, FLOAT cannot be specified with empty parenthesis because its parameter value indicates a specific data type (REAL or DOUBLE).</li> <li>If a specific value for a length, precision, or scale attribute is specified, the value must exactly match the value that was specified (implicitly or explicitly) in the CREATE FUNCTION statement. If the data type is FLOAT, the precision does not have to exactly match the value that was specified because matching is based on the data type (REAL or DOUBLE).</li> <li>If length, precision, or scale is not explicitly specified, and empty parentheses are not specified, the default attributes of the data type are implied. The implicit length must exactly match the value that was specified (implicitly or explicitly) in the CREATE FUNCTION statement.</li></ul> <p>Specifying the FOR DATA clause or CCSID clause is optional. Omission of either clause indicates that the database manager ignores the attribute when determining whether the data types match. If either clause is specified, it must match the value that was implicitly or explicitly specified in the CREATE FUNCTION statement.</p> </dd> <dt class="bold">AS LOCATOR</dt> <dd>Specifies that the function is defined to receive a locator for this parameter. If AS LOCATOR is specified, the data type must be a LOB or a distinct type based on a LOB. </dd> </dl> </dd> <dt class="bold">SPECIFIC FUNCTION <var class="pv">specific-name</var> <a id="idx2792" name="idx2792"></a></dt><a id="idx2793" name="idx2793"></a><a id="idx2794" name="idx2794"></a> <dd>Identifies the function by its specific name. The <span class="italic">specific-name</span> must identify a specific function that exists at the current server. </dd> </dl> </dd> <dt class="bold">PROCEDURE or SPECIFIC PROCEDURE</dt> <dd>Identifies the procedure on which the privilege is granted. The <span class="italic">procedure-name</span> must identify a procedure that exists at the current server. <dl class="parml"> <dt class="bold">PROCEDURE <var class="pv">procedure-name</var> </dt> <dd>Identifies the procedure by its name. The <span class="italic">procedure-name</span> must identify exactly one procedure. The procedure may have any number of parameters defined for it. If there is more than one procedure of the specified name in the specified or implicit schema, an error is returned. </dd> <dt class="bold">PROCEDURE <var class="pv">procedure-name (parameter-type, ...)</var></dt> <dd>Identifies the procedure by its procedure signature, which uniquely identifies the procedure. The <span class="italic">procedure-name (parameter-type, ...)</span> must identify a procedure with the specified procedure signature. The specified parameters must match the data types in the corresponding position that were specified when the procedure was created. The number of data types, and the logical concatenation of the data types is used to identify the specific procedure instance which is to be granted. Synonyms for data types are considered a match. <p>If <var class="pv">procedure-name ()</var> is specified, the procedure identified must have zero parameters.</p> <dl class="parml"> <dt class="bold"><var class="pv">procedure-name </var></dt> <dd>Identifies the name of the procedure. </dd> <dt class="bold"><var class="pv">(parameter-type, ...)</var></dt> <dd>Identifies the parameters of the procedure. <p>If an unqualified distinct type name is specified, the database manager searches the SQL path to resolve the schema name for the distinct type.</p> <p>For data types that have a length, precision, or scale attribute, use one of the following:</p> <ul> <li>Empty parentheses indicate that the database manager ignores the attribute when determining whether the data types match. For example, DEC() will be considered a match for a parameter of a procedure defined with a data type of DEC(7,2). However, FLOAT cannot be specified with empty parenthesis because its parameter value indicates a specific data type (REAL or DOUBLE).</li> <li>If a specific value for a length, precision, or scale attribute is specified, the value must exactly match the value that was specified (implicitly or explicitly) in the CREATE PROCEDURE statement. If the data type is FLOAT, the precision does not have to exactly match the value that was specified because matching is based on the data type (REAL or DOUBLE).</li> <li>If length, precision, or scale is not explicitly specified, and empty parentheses are not specified, the default attributes of the data type are implied. The implicit length must exactly match the value that was specified (implicitly or explicitly) in the CREATE PROCEDURE statement.</li></ul> <p>Specifying the FOR DATA clause or CCSID clause is optional. Omission of either clause indicates that the database manager ignores the attribute when determining whether the data types match. If either clause is specified, it must match the value that was implicitly or explicitly specified in the CREATE PROCEDURE statement.</p> </dd> <dt class="bold">AS LOCATOR</dt> <dd>Specifies that the procedure is defined to receive a locator for this parameter. If AS LOCATOR is specified, the data type must be a LOB or a distinct type based on a LOB. </dd> </dl> </dd> <dt class="bold">SPECIFIC PROCEDURE <var class="pv">specific-name</var> </dt><a id="idx2795" name="idx2795"></a><a id="idx2796" name="idx2796"></a><a id="idx2797" name="idx2797"></a> <dd>Identifies the procedure by its specific name. The <span class="italic">specific-name</span> must identify a specific procedure that exists at the current server. </dd> </dl> </dd> <dt class="bold">TO</dt> <dd>Indicates to whom the privileges are granted. <dl class="parml"> <dt class="bold"><var class="pv">authorization-name,...</var> </dt><a id="idx2798" name="idx2798"></a> <dd>Lists one or more authorization IDs. </dd> <dt class="bold">PUBLIC </dt><a id="idx2799" name="idx2799"></a> <dd>Grants the privileges to a set of users (authorization IDs). For more information, see <a href="rbafzmstauthown.htm#authown">Authorization, privileges and object ownership</a>. </dd> </dl> </dd> <dt class="bold">WITH GRANT OPTION </dt><a id="idx2800" name="idx2800"></a> <dd>Allows the specified <span class="italic">authorization-names</span> to grant privileges on the functions or procedures specified in the ON clause to other users. <p>If WITH GRANT OPTION is omitted, the specified <span class="italic">authorization-names</span> cannot grant privileges on the functions or procedures specified in the ON clause to another user unless they have received that authority from some other source (for example, from a grant of the system authority *OBJMGT).</p> </dd> </dl> <a name="wq1561"></a> <h3 id="wq1561"><a href="rbafzmst02.htm#ToC_1117">Note</a></h3> <p><span class="bold">Corresponding System Authorities:</span> Privileges granted to either an SQL or external function or procedure are granted to its associated program (*PGM) or service program (*SRVPGM) object. Privileges granted to a Java external function or procedure are granted to the associated class file or jar file. If the associated program, service program, class file, or jar file is not found when the grant is executed, an error is returned.</p> <p>GRANT and REVOKE statements assign and remove system authorities for SQL objects. The following table describes the system authorities that correspond to the SQL privileges:</p> <a name="wq1562"></a> <table id="wq1562" width="100%" summary="" border="1" frame="border" rules="all"> <caption>Table 62. Privileges Granted to or Revoked from Non-Java Functions or Procedures</caption> <thead valign="bottom"> <tr> <th id="wq1563" width="50%" align="left" valign="bottom">SQL Privilege</th> <th id="wq1564" width="50%" align="left" valign="bottom">Corresponding System Authorities when Granting to or Revoking from a Function or Procedure</th> </tr> </thead> <tbody valign="top"> <tr> <td align="left" valign="top" headers="wq1563">ALL (Grant or revoke of ALL grants or revokes only those privileges the authorization ID of the statement has)</td> <td align="left" valign="top" headers="wq1564"> <div class="lines">*OBJALTER<br /> *OBJOPR<br /> *EXECUTE<br /> *OBJMGT (Revoke only)<br /> </div></td> </tr> <tr> <td align="left" valign="top" headers="wq1563">ALTER</td> <td align="left" valign="top" headers="wq1564">*OBJALTER</td> </tr> <tr> <td align="left" valign="top" headers="wq1563">EXECUTE</td> <td align="left" valign="top" headers="wq1564"> <div class="lines">*EXECUTE<br /> *OBJOPR<br /> </div></td> </tr> <tr> <td align="left" valign="top" headers="wq1563">WITH GRANT OPTION</td> <td align="left" valign="top" headers="wq1564">*OBJMGT</td> </tr> </tbody> </table> <a name="wq1565"></a> <table id="wq1565" width="100%" summary="" border="1" frame="border" rules="all"> <caption>Table 63. Privileges Granted to or Revoked from Java Functions or Procedures</caption> <thead valign="bottom"> <tr> <th id="wq1566" width="33%" align="left" valign="bottom">SQL Privilege</th> <th id="wq1567" width="33%" align="left" valign="bottom">Corresponding Data Authorities when Granting to or Revoking from a Java Function or Procedure</th> <th id="wq1568" width="33%" align="left" valign="bottom">Corresponding Object Authorities when Granting to or Revoking from a Java Function or Procedure</th> </tr> </thead> <tbody valign="top"> <tr> <td align="left" valign="top" headers="wq1566">ALL (Grant or revoke of ALL grants or revokes only those privileges the authorization ID of the statement has)</td> <td headers="wq1567">*RWX</td> <td align="left" valign="top" headers="wq1568"> <div class="lines">*OBJEXIST<br /> *OBJALTER<br /> *OBJMGT (Revoke only)<br /> </div></td> </tr> <tr> <td align="left" valign="top" headers="wq1566">ALTER</td> <td headers="wq1567">*R</td> <td align="left" valign="top" headers="wq1568">*OBJALTER</td> </tr> <tr> <td align="left" valign="top" headers="wq1566">EXECUTE</td> <td headers="wq1567">*RX</td> <td align="left" valign="top" headers="wq1568"> <div class="lines">*EXECUTE<br /> </div></td> </tr> <tr> <td align="left" valign="top" headers="wq1566">WITH GRANT OPTION</td> <td headers="wq1567">*RWX</td> <td align="left" valign="top" headers="wq1568">*OBJMGT</td> </tr> </tbody> </table> <a name="eqtabler"></a> <p id="eqtabler"><span class="bold">Corresponding System Authorities When Checking Privileges to a Function or Procedure:</span> The following table describes the system authorities that correspond to the SQL privileges when checking privileges to a function or procedure. The left column lists the SQL privilege. The right column lists the equivalent system authorities.</p> <a name="wq1569"></a> <table id="wq1569" width="100%" summary="" border="1" frame="border" rules="all"> <caption>Table 64. Corresponding System Authorities When Checking Privileges to a Non-Java Function or Procedure</caption> <thead valign="bottom"> <tr> <th id="wq1570" width="50%" align="left" valign="bottom">SQL Privilege</th> <th id="wq1571" width="50%" align="left" valign="bottom">Corresponding System Authorities</th> </tr> </thead> <tbody valign="top"> <tr> <td align="left" valign="top" headers="wq1570">ALTER</td> <td align="left" valign="top" headers="wq1571">*OBJALTER</td> </tr> <tr> <td align="left" valign="top" headers="wq1570">EXECUTE</td> <td align="left" valign="top" headers="wq1571"> <div class="lines">*EXECUTE and *OBJOPR<br /> </div></td> </tr> </tbody> </table> <a name="wq1572"></a> <table id="wq1572" width="100%" summary="" border="1" frame="border" rules="all"> <caption>Table 65. Corresponding System Authorities When Checking Privileges to a Java Function or Procedure</caption> <thead valign="bottom"> <tr> <th id="wq1573" width="33%" align="left" valign="bottom">SQL Privilege</th> <th id="wq1574" width="33%" align="left" valign="bottom">Corresponding Data Authorities when Checking Privileges to a Java Function or Procedure</th> <th id="wq1575" width="33%" align="left" valign="bottom">Corresponding Object Authorities when Checking Privileges to a Java Function or Procedure</th> </tr> </thead> <tbody valign="top"> <tr> <td align="left" valign="top" headers="wq1573">ALTER</td> <td headers="wq1574">*R</td> <td align="left" valign="top" headers="wq1575">*OBJALTER</td> </tr> <tr> <td align="left" valign="top" headers="wq1573">EXECUTE</td> <td headers="wq1574">*RX</td> <td align="left" valign="top" headers="wq1575"> <div class="lines">*EXECUTE<br /> </div></td> </tr> </tbody> </table> <p><span class="bold">Syntax alternatives:</span> The following keywords are synonyms supported for compatibility to prior releases. These keywords are non-standard and should not be used:</p> <ul> <li>The keyword RUN can be used as a synonym for EXECUTE.</li></ul> <a name="wq1576"></a> <h3 id="wq1576"><a href="rbafzmst02.htm#ToC_1118">Example</a></h3> <p>Grant the EXECUTE privilege on procedure PROCA to PUBLIC. </p> <a name="granty"></a> <pre id="granty" class="xmp"><span class="bold">GRANT EXECUTE</span> <span class="bold">ON PROCEDURE</span> PROCA <span class="bold">TO PUBLIC</span></pre><a id="idx2801" name="idx2801"></a><a id="idx2802" name="idx2802"></a> <hr /><br /> [ <a href="#Top_Of_Page">Top of Page</a> | <a href="rbafzmstgntudtp.htm">Previous Page</a> | <a href="rbafzmstgntpp.htm">Next Page</a> | <a href="rbafzmst02.htm#wq1">Contents</a> | <a href="rbafzmstindex.htm#index">Index</a> ] <a id="Bot_Of_Page" name="Bot_Of_Page"></a> </body> </html>