REVOKE [ ALLBASE/SQL Reference Manual ] MPE/iX 5.5 Documentation
ALLBASE/SQL Reference Manual
REVOKE
The REVOKE statement takes away authority that was previously granted by
means of the GRANT statement.The following forms of the REVOKE statement
are described individually:[REV BEG]
* Revoke table or view authority.
* Revoke RUN or EXECUTE authority.
* Revoke CONNECT, DBA, INSTALL, MONITOR, or RESOURCE authority.
* Revoke SECTIONSPACE or TABLESPACE authority for a DBEFileSet.[REV
END]
For detailed information about security schemes, refer to the
"DBEnvironment Configuration and Security" chapter of the ALLBASE/SQL
Database Administration Guide.
Scope
ISQL or Application Programs
SQL Syntax--Revoke Table or View Authority
{ALL [PRIVILEGES] }
{[SELECT ] }
{[INSERT ] }
REVOKE {[DELETE ] } ON
{[ALTER ] |,...|}
{[INDEX ] }
{[UPDATE [({ColumnName} [,...])] ] }
{[REFERENCES [({ColumnName} [,...])]] }
{DBEUserID}
{[Owner.]TableName} FROM {GroupName} [,...] [CASCADE]
{[Owner.]ViewName } {ClassName}
{PUBLIC }
Parameters--Revoke Table or View Authority
ALL [PRIVILEGES] is the same as specifying the SELECT, INSERT,
DELETE, ALTER, INDEX, UPDATE, and REFERENCES
options all at one time. The word PRIVILEGES is
not required; you can include it if you wish to
improve readability. ALTER, INDEX, and
REFERENCES are not applied when using REVOKE ALL
on views.
SELECT revokes authority to retrieve data.
INSERT revokes authority to insert rows.
DELETE revokes authority to delete rows.
ALTER revokes authority to add new columns.
INDEX revokes authority to create and drop indexes.
UPDATE revokes authority to change data in existing
rows. A list of column names can be specified to
revoke UPDATE authority for only those columns if
the columns were named in a GRANT statement
UPDATE clause. Omitting the list of column names
revokes authority to update all columns.
REFERENCES revokes authority to reference columns in the
table from foreign keys in another table. A list
of column names can be specified to revoke
REFERENCES authority for only those columns if
the columns were named in a GRANT statement
REFERENCES clause. Omitting the list of column
names revokes REFERENCES authority on all
columns.
[Owner.]TableName designates the table for which authority is to be
revoked.
[Owner.]ViewName designates the view for which authority is to be
revoked.
FROM The FROM clause designates the users,
authorization groups, and classes whose authority
is to be revoked. PUBLIC is specified to revoke
authority previously granted to PUBLIC. You
cannot revoke table or view authorities from the
current owner of a table or view.
CASCADE If the revoked privilege was grantable (granted
with the WITH GRANT OPTION clause), then any
grants of the privilege by the revokee will also
be revoked. However, if a grantee is DBA or
owner of an object, cascading stops at that point
for the grantee, and any grants and subsequent
chains issued by him or her are still in effect.
CASCADE can be specified by any user who can
revoke authorities on the table or view.
If CASCADE is not specified and you are not DBA,
you cannot revoke a grantable privilege if it had
been granted to another user (as this would
create an orphaned privilege).[REV BEG] For more
information on privileges, refer to "Using the
GRANT OPTION Clause" in the "Database Creation
and Security" chapter of the ALLBASE/SQL Database
Administration Guide.[REV END]
Description--Revoke Table or View Authority
* If a view relies on a SELECT authority on a table and the REVOKE
with CASCADE option is issued against that table, then the view is
destroyed and a warning is returned. If the CASCADE option is not
specified, the view remains, but you will receive authority errors
when you try to use it.
* If a referential constraint relies on a REFERENCES privilege on a
table, and the REVOKE REFERENCES with the CASCADE option is issued
against that table or column in it, then that particular
REFERENCES privilege is destroyed. This can include any
REFERENCES in the chain of privileges that are revoked in the
CASCADE. A warning is returned when a constraint is destroyed.
Authorization--Revoke Table or View Authority
If you are DBA, the owner, or the grantor of table privileges and still
have that grantability, you can issue the REVOKE statement and optionally
the CASCADE option.
SQL Syntax--Revoke RUN or EXECUTE or Authority
REVOKE [RUN ON [Owner.]ModuleName ] FROM
[EXECUTE ON PROCEDURE [Owner.]ProcedureName]
{{DBEUserID} }
{{GroupName} [,...]}
{{ClassName} }
{PUBLIC }
Parameters--Revoke RUN or EXECUTE Authority
RUN revokes authority to access the DBEnvironment
using the specified module.
[Owner.]ModuleName specifies the module for which RUN authority is
to be revoked.
EXECUTE revokes authority to execute the specified
procedure.
[Owner.]ProcedureName specifies the procedure for which EXECUTE
authority is to be revoked.
FROM The FROM clause lists the users, authorization
groups, and classes that were previously granted
the authority that is now to be revoked. PUBLIC
can be specified to revoke authority that was
previously granted to PUBLIC.
[REV BEG]
SQL Syntax--Revoke CONNECT, DBA, INSTALL, MONITOR, or RESOURCE Authority
{CONNECT }
{DBA } {DBEUserID}
REVOKE {INSTALL [AS OwnerID]} FROM {GroupName} [,...]
{MONITOR } {ClassName}
{RESOURCE }
Parameters--Revoke CONNECT, DBA, INSTALL, MONITOR, or RESOURCE Authority
[REV END]
CONNECT revokes authority to use the CONNECT statement.
DBA revokes the authority which exempts a user from
all authorization restrictions. You can never
revoke DBA authority from the DBECreator.[REV
BEG]
INSTALL revokes authority to INSTALL modules where the
owner name equals OwnerID. If the "AS OwnerID"
clause is omitted, then revokes authority to
INSTALL modules having any owner name.
Modules for an application are created and
installed when that application is preprocessed
using one of the SQL preprocessors. Modules can
also be installed by using the ISQL INSTALL
command. See the ISQL Reference Manual for
ALLBASE/SQL and IMAGE/SQL for more details.
MONITOR revokes authority to run SQLMON.[REV END]
RESOURCE revokes authority to create tables and
authorization groups.
FROM The FROM clause specifies the users,
authorization groups, and classes whose authority
is to be revoked.
[REV BEG]
Description--Revoke CONNECT, DBA, INSTALL, MONITOR, or RESOURCE Authority
* The REVOKE statement may invalidate stored sections. Refer to the
VALIDATE statement and to the ALLBASE/SQL Database Administration
Guide for additional information on the validation of stored
sections.
* Issue a REVOKE INSTALL FROM DBEUserID statement that omits the "AS
OwnerID" clause to remove all INSTALL authorities for a particular
user.
Authorization--Revoke CONNECT, DBA, INSTALL, MONITOR, or RESOURCE
Authority
[REV END]
If you have OWNER or DBA authority for a module, you can issue REVOKE
statements for that module.
SQL Syntax--Revoke DBEFileSet Authority
REVOKE {SECTIONSPACE} |,...| ON DBEFILESET DBEFileSetName FROM
{TABLESPACE }
{{DBEUserID} }
{{GroupName} [,...]}
{{ClassName} }
{PUBLIC }
Parameters--Revoke DBEFileSet Authority
SECTIONSPACE revokes authority to store sections in the
specified DBEFileSet.
TABLESPACE revokes authority to store table and long column
data in the specified DBEFileSet.
DBEFileSetName designates the DBEFileSet for which authority is
to be revoked.
Description--Revoke DBEFileSet Authority
* In order for the statement to complete successfully, the authority
being revoked must have been previously granted to the specific
user. In addition, the DBEFileSet cannot be the current default
for that user.
* When SECTIONSPACE authority is revoked, current stored section
information for the DBEFileSet remains (and thus any section
revalidation continues to use that DBEFileSet). No new sections
for the user(s) whose authority was revoked can be placed there.
* When TABLESPACE authority is revoked, table and long column data
currently in the DBEFileSet remain there. No new tables or long
columns for the user(s) whose authority was revoked can be place
there.
* If a REVOKE SECTIONSPACE statement completes successfully, the
STOREDSECT table for the specified DBEFileSet is automatically
dropped if it is empty and if no other user has SECTIONSPACE
authority on the DBEFileSet.
* The execution of this statement causes modification to the
HPRDBSS.SPACEAUTH system catalog table. Refer to the ALLBASE/SQL
Database Administration Guide "System Catalog" chapter.
Authorization--Revoke DBEFileSet Authority
To revoke SECTIONSPACE or TABLESPACE, you must have DBA authority. If
you have DBA authority, you can issue the REVOKE statement for any
DBEFileSet.
Examples
1. Explicitly revoking authority
A public table is accessible to any user or program that can start
a DBE session. It is also accessible by concurrent transactions.
CREATE PUBLIC TABLE PurchDB.Parts
(PartNumber CHAR(16) NOT NULL,
PartName CHAR(30),
SalesPrice DECIMAL(10,2))
IN WarehFS
REVOKE ALL PRIVILEGES ON PurchDB.Parts FROM PUBLIC
GRANT SELECT,UPDATE ON PurchDB.Parts TO Accounting
Now only the DBA and members of authorization group Accounting can
access the table. Later, the accounting department manager is
given control over this table.
TRANSFER OWNERSHIP OF PurchDB.Parts TO Mgr@Account
2. Implicitly revoking authority
The table is private by default.
CREATE TABLE VendorPerf
(OrderNumber INTEGER NOT NULL,
ActualDelivDay SMALLINT,
ActualDelivMonth SMALLINT,
ActualDelivYear SMALLINT,
ActualDelivQty SMALLINT
Remarks VARCHAR(60) )
IN Miscellaneous
CREATE UNIQUE INDEX VendorPerfIndex
ON VendorPerf (OrderNumber)
Only the table creator and members of authorization group Warehse
can update table VendorPerf.
GRANT UPDATE ON VendorPerf TO Warehse
The table and the index are both deleted, and the grant is
revoked.
DROP TABLE VendorPerf
3. Using CASCADE
The DBA gives CLEM@DBMS grantable privileges. Now CLEM@DBMS has
all privileges on the Inventory table as well as the authority to
grant any of the privileges to individual users or a class.
GRANT ALL
ON PurchDB.Inventory
TO CLEM@DBMS WITH GRANT OPTION
CLEM@DBMS grants AMANDA@DBMS all privileges on the Inventory table
as well as the authority to grant any of the privileges to
individual users or a class.
GRANT ALL
ON PurchDB.Inventory
TO AMANDA@DBMS WITH GRANT OPTION
The DBA revokes privileges from both CLEM@DBMS and AMANDA@DBMS.
REVOKE ALL
ON PurchDB.Inventory
FROM CLEM@DBMS CASCADE
4. REVOKE on DBEFileSet
Revoke from PUBLIC the ability to store sections in DBEFileSet1.
REVOKE SECTIONSPACE ON DBEFILESET DBEFileSet1 FROM PUBLIC
Revoke from PUBLIC the ability to store tables and long column
data in DBEFileSet2.
REVOKE TABLESPACE ON DBEFILESET DBEFileSet2 FROM PUBLIC
[REV BEG]
5. Revoke INSTALL or MONITOR authority.
Revoke from GEORGE@DBMS the ability to run SQLMON.
REVOKE MONITOR FROM GEORGE@DBMS;
Revoke from CLEM@DBMS the ability to create modules having any
owner name.
REVOKE INSTALL FROM CLEM@DBMS;
Revoke from CLEM@DBMS the ability to create modules owned by
JOHN@BROCK.
REVOKE INSTALL AS JOHN@BROCK FROM CLEM@DBMS;
[REV END]
MPE/iX 5.5 Documentation