DCL GRANT


The GRANT statement allows database administrators to assign specific permissions to users or groups, enabling them to perform actions on database objects, such as tables or views. This control over access permissions is essential for maintaining database security by restricting or granting various data actions based on user roles and requirements.

1. What is the GRANT Statement in DB2 Mainframe?

The GRANT statement controls database access by granting permissions to users for specific tasks on database objects. Common privileges include:

  • SELECT: Allows a user to retrieve data.
  • INSERT: Allows a user to insert new rows.
  • UPDATE: Allows modification of existing rows.
  • DELETE: Permits deletion of rows from a table.
  • REFERENCES: Allows creation of foreign keys that reference a table.

Using the GRANT statement, an administrator can allow certain users to view data while restricting editing or deleting permissions.

Syntax -

GRANT privilege [, privilege ...]
ON object_type object_name
TO user_or_group [, user_or_group ...];
  • privilege: Specifies the permission to be granted, such as SELECT, INSERT, UPDATE, or DELETE.
  • object_type: The type of object (e.g., TABLE or VIEW) on which permissions are granted.
  • object_name: The specific name of the object, such as the table name.
  • user_or_group: The user(s) or group(s) receiving the permission.

Examples -

GRANT SELECT, INSERT, UPDATE
ON TABLE EMPLOYEE
TO USER_A, USER_B;

In the above example, USER_A and USER_B are granted SELECT, INSERT, and UPDATE permissions on the EMPLOYEE table, allowing them to view, add, and modify data in the table but not delete rows.

Using GRANT Statements in a COBOL Program


We can't able to use the GRANT statement in COBOL-DB2 program as it is a DDL statement. Only administrators and other users who has ADIM authority can use the GRANT statement in DB2 tools (SPUFI or QMF).