Progress
SQL-89
Guide and Reference


Granting Privileges

The GRANT statement grants access privileges to users of a table or view, and optionally grants the recipient the right to grant those privileges to other users. The GRANT statement has the following syntax.

SYNTAX
GRANT
  {    ALL [ PRIVILEGES ] 
     | [ SELECT ] [ INSERT ] [ DELETE ]
       [ UPDATE  [ ( column-list ) ] ]
  }
  ON table-name TO { grantee-list | PUBLIC }
    [ WITH GRANT OPTION ] 

The grantee-list is either a list of user names separated by commas, or the keyword PUBLIC. The keyword PUBLIC grants the specified privileges to all users. It is equivalent to the use of the asterisk (*) in Progress privilege fields.

Table 4–1 lists the Progress/SQL statements and their associated Progress privilege fields.

Table 4–1: Progress/SQL Statements and Progress Privileges  
SQL Statement
Progress Privilege Field
SELECT
_Can-read
INSERT
_Can-create
DELETE
_Can-delete
UPDATE
_Can-write

To allow the recipients of the privileges the right to grant those privileges to other users, use the WITH GRANT OPTION keyword. In the privilege lists of the schema tables, Progress uses a pound sign (#) preceding the user name to indicate that the user does not have the GRANT privilege. The absence of the pound sign indicates that the user holds the GRANT privilege and can grant the privilege to other users.

The following statement grants all privileges on the cust_table to users lewis and agganis. It also allows them to grant any of the privileges to other users.

GRANT ALL PRIVILEGES
  ON Cust_Table
  TO lewis, agganis
  WITH GRANT OPTION. 

The following example grants user garcia the SELECT privilege on all columns, and the UPDATE privilege on only the credit_limit column of the cust_table.

GRANT SELECT, UPDATE (Credit_Limit)
  ON Cust_Table
  TO garcia. 


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095