doc-exports/docs/dws/dev/dws_06_0253.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

216 lines
46 KiB
HTML

<a name="EN-US_TOPIC_0000001233708707"></a><a name="EN-US_TOPIC_0000001233708707"></a>
<h1 class="topictitle1">REVOKE</h1>
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001233708707__sa50897bae12c482b857c7d309c9e2126"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001233708707__a5740e4d179e2495189473031b1f3cf02"><strong id="EN-US_TOPIC_0000001233708707__b151034610118">REVOKE</strong> revokes rights from one or more roles.</p>
</div>
<div class="section" id="EN-US_TOPIC_0000001233708707__s13807594272c4c4da55b4d9b045a5fd4"><h4 class="sectiontitle">Precautions</h4><p id="EN-US_TOPIC_0000001233708707__ac9e277d40ee74927a78d5b6e6878d081">If a non-owner user of an object attempts to <strong id="EN-US_TOPIC_0000001233708707__en-us_topic_0058965552_b6691807511655">REVOKE</strong> rights on the object, the command is executed based on the following rules:</p>
<ul id="EN-US_TOPIC_0000001233708707__u1f04dc79b6214318b29af2dc905db67e"><li id="EN-US_TOPIC_0000001233708707__l3bc4cfd7fcd446d6875af789099c2c6a">If the user has no right whatsoever on the object, the command will fail outright.</li><li id="EN-US_TOPIC_0000001233708707__lb308ff6fc79b44cabbe4aef650d68c58">If some permissions are available, the command proceeds, but it revokes only those rights for which the user has grant options.</li><li id="EN-US_TOPIC_0000001233708707__l2fdbf5159f5646eeb98fd2492003beee">The <strong id="EN-US_TOPIC_0000001233708707__b840898111655">REVOKE ALL PRIVILEGES</strong> forms will issue an error message if no grant options are held, while the other forms will issue a warning if grant options for any of the rights named in the command are not held.</li><li id="EN-US_TOPIC_0000001233708707__l5d41af9ccfac475fb8e21d3ebe1bb075">Do not perform <strong id="EN-US_TOPIC_0000001233708707__b84235270615336">REVOKE</strong> to a table partition. Performing <strong id="EN-US_TOPIC_0000001233708707__b127775225093720">REVOKE</strong> to a partitioned table incurs an alarm.</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001233708707__s79fbea600cbd41c5836304628bbdb2e4"><h4 class="sectiontitle">Syntax</h4><ul id="EN-US_TOPIC_0000001233708707__ue25a96185e9348c594749b1e1ae616e9"><li id="EN-US_TOPIC_0000001233708707__l989ede89db654c53af0f66ecae2edbba">Revoke the permission of specified table and view.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__s06bd17621fb84aedbe9867b1eb2b0836"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span>
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DELETE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRUNCATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRIGGER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYZE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYSE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">VACUUM</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALTER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="err">}</span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="k">table_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="k">schema_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__led11d1828dd841e889b7c4bfbe982958">Revoke the permission of specified fields on the table.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__sf338a406d1b64738b82abff6b9d5546d"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">column_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">)</span><span class="err">}</span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">column_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="k">table_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__l6ae6d3ebd6e54514a58a7570f3193b8d">Revoke the permission of a specified database.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__sb9ed6c5e885b41f8a58a8ca8af37dd16"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CONNECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TEMPORARY</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">TEMP</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="n">database_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__lc3b64dc9310d40b58128d3b1f12ad06c">Revoke the permission of a specified function.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__sd69bb3440b6c4dd6a1b345f0b597ea9e"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">EXECUTE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="err">{</span><span class="n">function_name</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">{</span><span class="p">[</span><span class="w"> </span><span class="n">argmode</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="n">arg_name</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">arg_type</span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">)</span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="n">FUNCTIONS</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="k">schema_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__l6e830bafc8ee4059aad759b91d4da3d7">Revoke the permission of a specified large object.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__s5865759ab97f48a8a91168c9a92610bc"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">LARGE</span><span class="w"> </span><span class="k">OBJECT</span><span class="w"> </span><span class="n">loid</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__li105761225132915">Revoke the permission on a specified sequence.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen6887174318296"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">SEQUENCE</span><span class="w"> </span><span class="n">sequence_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__l537038ef0ce04416a987d81f15362536">Revoke the permission of a specified schema.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__scf8b8a105ad74dd59d5a4fda359d60e8"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALTER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="k">schema_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__li19125143273215">Revoke the permission of a specified sub-cluster.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen17379195211325"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">COMPUTE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">NODE</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="n">group_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__lade6355b96aa4671904a52a4bd4d4007">Revoke the permission of roles based on roles.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__s57c00aea09154d6a9ba5809542caedaa"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ADMIN</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="p">];</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233708707__la3f0598615bf4724b30886dbad87f88e">Revoke the sysadmin permission of roles.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__s7ec8c238e7054138b0de9e68f6853201"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">PRIVILEGE</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">role_name</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001233708707__s7f10538b14c249089d17ff66f3823486"><h4 class="sectiontitle">Parameter Description</h4><p id="EN-US_TOPIC_0000001233708707__aa87d4d6943ee40878b6c4c64f93f6579">The keyword <strong id="EN-US_TOPIC_0000001233708707__b48583925113634">PUBLIC</strong> indicates an implicitly defined group that contains all roles.</p>
<p id="EN-US_TOPIC_0000001233708707__a293b240a68f045c19f58bf20a0d4a6d7">See <a href="dws_06_0250.html#EN-US_TOPIC_0000001188270556__s226158f44a8f4b908e69a283aeb813cd">Parameter Description</a> of the <strong id="EN-US_TOPIC_0000001233708707__en-us_topic_0085032400_en-us_topic_0058965552_b842352706103928">GRANT</strong> command for the meaning of the privileges and related parameters.</p>
<p id="EN-US_TOPIC_0000001233708707__p1856754015244">Permissions of a role include the permissions directly granted to the role, permissions inherited from the parent role, and permissions granted to <strong id="EN-US_TOPIC_0000001233708707__b187505125561">PUBLIC</strong>. Therefore, revoking the <strong id="EN-US_TOPIC_0000001233708707__b116171237571">SELECT</strong> permission for an object from <strong id="EN-US_TOPIC_0000001233708707__b0375123218574">PUBLIC</strong> does not necessarily mean that the <strong id="EN-US_TOPIC_0000001233708707__b133799415571">SELECT</strong> permission for the object has been revoked from all roles, because the <strong id="EN-US_TOPIC_0000001233708707__b15563635105914">SELECT</strong> permission directly granted to roles and inherited from parent roles still remains. Similarly, if the <strong id="EN-US_TOPIC_0000001233708707__b647312617218">SELECT</strong> permission is revoked from a user but is not revoked from <strong id="EN-US_TOPIC_0000001233708707__b4318182119214">PUBLIC</strong>, the user can still run the <strong id="EN-US_TOPIC_0000001233708707__b137891458323">SELECT</strong> statement.</p>
<p id="EN-US_TOPIC_0000001233708707__ac08688525337427296160ca570032229">If <strong id="EN-US_TOPIC_0000001233708707__b59142030113634">GRANT OPTION FOR</strong> is specified, only the grant option for the right is revoked, not the right itself.</p>
<p id="EN-US_TOPIC_0000001233708707__acfcefc69bda2464c84cee2fa9b4235e4">If user A holds the <strong id="EN-US_TOPIC_0000001233708707__b25775095113634">UPDATE</strong> rights on a table and the <strong id="EN-US_TOPIC_0000001233708707__b30649263113634">WITH GRANT OPTION</strong> and has granted them to user B, the rights that user B holds are called dependent rights. If the rights or the grant option held by user A is revoked, the dependent rights still exist. Those dependent rights are also revoked if <strong id="EN-US_TOPIC_0000001233708707__b7407912113634_1">CASCADE</strong> is specified.</p>
<p id="EN-US_TOPIC_0000001233708707__a1612dddeb08d4ee5a57d9dc996a2434c">A user can only revoke rights that were granted directly by that user. If, for example, user A has granted a right with grant option (<strong id="EN-US_TOPIC_0000001233708707__b63169994113634">WITH ADMIN OPTION</strong>) to user B, and user B has in turned granted it to user C, then user A cannot revoke the right directly from C. However, user A can revoke the grant option held by user B and use <strong id="EN-US_TOPIC_0000001233708707__b7407912113634_3">CASCADE</strong>. In this manner, the rights held by user C are automatically revoked. For another example, if both user A and user B have granted the same right to C, A can revoke his own grant but not B's grant, so C will still effectively have the right.</p>
<p id="EN-US_TOPIC_0000001233708707__ab9dbd1515e974af0b8288f81aa8de555">If the role executing <strong id="EN-US_TOPIC_0000001233708707__b14245162113634">REVOKE</strong> holds rights indirectly via more than one role membership path, it is unspecified which containing role will be used to execute the command. In such cases, it is best practice to use <strong id="EN-US_TOPIC_0000001233708707__b61097599113634">SET ROLE</strong> to become the specific role you want to do the <strong id="EN-US_TOPIC_0000001233708707__b13007484113634">REVOKE</strong> as, and then execute REVOKE. Failure to do so may lead to deleting rights not intended to delete, or not deleting any rights at all.</p>
</div>
<div class="section" id="EN-US_TOPIC_0000001233708707__section144512030161919"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001233708707__p0202869448">Create user <strong id="EN-US_TOPIC_0000001233708707__b1428681653104411">jim</strong>:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen123261558194413"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="n">jim</span><span class="w"> </span><span class="n">PASSWORD</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p6243192515463">Create a schema:</p>
<pre class="screen" id="EN-US_TOPIC_0000001233708707__screen2033154484612">CREATE SCHEMA tpcds;</pre>
<p id="EN-US_TOPIC_0000001233708707__p199161232154813">Create a database:</p>
<pre class="screen" id="EN-US_TOPIC_0000001233708707__screen18171732185116">CREATE DATABASE mydatabase OWNER jim;</pre>
<p id="EN-US_TOPIC_0000001233708707__p15519940153211">Create a table:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen1096317417337"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="p">(</span><span class="n">r_reason_sk</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="n">r_reason_id</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="n">r_reason_desc</span><span class="w"> </span><span class="nb">int</span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p2052492815619">Create a view:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen13513165912617"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">myview</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<div class="p" id="EN-US_TOPIC_0000001233708707__p15221111553">Revoke all permissions of user <strong id="EN-US_TOPIC_0000001233708707__b23375440533531">jim</strong>:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen837819390610"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="p" id="EN-US_TOPIC_0000001233708707__p1575773310559">Revoke the permissions granted in a specified schema:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__s4b59530588414fc089dab84ff1ff6aa4"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">USAGE</span><span class="p">,</span><span class="k">CREATE</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p10195820271">Revoke the <strong id="EN-US_TOPIC_0000001233708707__b5283131615920">CONNECT</strong> privilege from user <strong id="EN-US_TOPIC_0000001233708707__b19283416105918">jim</strong>:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen114618346318"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">CONNECT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="n">mydatabase</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p126365072819">Revoke the membership of role <strong id="EN-US_TOPIC_0000001233708707__b679911814595">dbadmin</strong> from user <strong id="EN-US_TOPIC_0000001233708707__b13800121817593">jim</strong>:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen287953919312"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="n">dbadmin</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p19712172973617">Revoke all the privileges of user <strong id="EN-US_TOPIC_0000001233708707__b9444112012599">jim</strong> for the <strong id="EN-US_TOPIC_0000001233708707__b944532018592">myView</strong> view:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen10256164317319"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">myView</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p65621988346">Revoke the public insert permission on the <strong id="EN-US_TOPIC_0000001233708707__b19587202125915">customer_t1</strong> table.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen20119132116438"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">PUBLIC</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p9836840114614">Revoke the query permissions for <strong id="EN-US_TOPIC_0000001233708707__b1772612435917">r_reason_sk</strong> and <strong id="EN-US_TOPIC_0000001233708707__b0726124115919">r_reason_id</strong> in the <strong id="EN-US_TOPIC_0000001233708707__b147271324115919">tpcds.reason</strong> table from user <strong id="EN-US_TOPIC_0000001233708707__b57271524105920">jim</strong>.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen14091453114616"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="p">(</span><span class="n">r_reason_sk</span><span class="p">,</span><span class="w"> </span><span class="n">r_reason_id</span><span class="p">)</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233708707__p078902313488">Revoke a function permission from user <strong id="EN-US_TOPIC_0000001233708707__b1850793193913">jim</strong>.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708707__screen12924024104910"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">func_add_sql</span><span class="p">(</span><span class="nb">integer</span><span class="p">,</span><span class="w"> </span><span class="nb">integer</span><span class="p">)</span><span class="w"> </span><span class="k">RETURNS</span><span class="w"> </span><span class="nb">integer</span>
<span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="s1">'select $1 + $2;'</span>
<span class="w"> </span><span class="k">LANGUAGE</span><span class="w"> </span><span class="k">SQL</span>
<span class="w"> </span><span class="k">IMMUTABLE</span>
<span class="w"> </span><span class="k">RETURNS</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="k">INPUT</span><span class="p">;</span>
<span class="k">REVOKE</span><span class="w"> </span><span class="k">execute</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">func_add_sql</span><span class="p">(</span><span class="nb">integer</span><span class="p">,</span><span class="w"> </span><span class="nb">integer</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jim</span><span class="w"> </span><span class="k">CASCADE</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001233708707__s6007f55ea202409ba71e8c3cb563133b"><h4 class="sectiontitle">Links</h4><p id="EN-US_TOPIC_0000001233708707__a53c8672f0c6846169e783a2e7fb0229c"><a href="dws_06_0250.html">GRANT</a></p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0242.html">DCL Syntax</a></div>
</div>
</div>