OBJECT_PRIVILEGES 表格函數

OBJECT_PRIVILEGES 表格函數會針對每一個已授權指定物件的使用者傳回一列,以及其關聯物件和資料權限。

傳回的資訊與透過「顯示物件權限 (DSPOBJAUT)」CL 指令所提供的資訊類似。

授權: 當至少符合下列其中一項時,會針對物件傳回所有授權使用者:
  • 物件是 *AUTL ,且呼叫者對物件具有 *AUTLMGT 權限。
  • 物件不是 *AUTL ,且呼叫程式對物件具有 *OBJMGT 權限。
  • 呼叫者是物件的擁有者。
  • 呼叫者已獲得 QIBM_DB_SECADM 函數用法 ID 的授權。
否則,只會傳回呼叫者的授權。
讀取語法圖跳過視覺化語法圖 OBJECT_PRIVILEGES ( 系統物件綱目 =>  system-object-schema , 系統 _ 物件名稱 =>  system-object-name ,OBJECT_TYPE =>  物件類型 )
綱目為 QSYS2。
系統物件綱目
字元或圖形字串表示式,識別包含 system-object-name的檔案庫。
系統物件名稱
識別物件的字元或圖形字串表示式。
物件類型
指定系統物件類型 system-object-name的字元或圖形字串表示式。

函數的結果是一個表格,其中包含下列表格中所顯示格式的列。 所有直欄都可為空值。

表 1. OBJECT_PRIVILEGES 表格函數
直欄名稱 資料類型 說明
授權 _ 使用者 VARCHAR (10) 使用者設定檔名稱。 可包含下列特殊值。
*PUBLIC
此列包含物件的公用權限。
OBJECT_AUTHORITY VARCHAR (12) 使用者對物件的權限。 包含下列其中一個特殊值:
*ALL
容許對物件執行全部作業,但那些只限擁有者使用或由授權清單管理權限所控制的作業除外。
*AUTL
使用此物件所使用的授權清單中指定的公用權限。
*CHANGE
容許對物件執行全部作業,但那些只限擁有者使用或由物件存在權限、物件改變 權限、物件參照權限及物件管理權限所控制的作業除外。
*EXCLUDE
禁止物件上的全部作業。
*USE
容許存取物件屬性及使用物件。 使用者無法變更該物件。
使用者已定義
特定物件權限和資料權限不符合任何預先定義的物件權限層次。
授權 _ 清單 VARCHAR (10) 如果物件受到授權清單保護,則為授權清單的名稱。

如果物件未受授權清單保護,則包含空值。

PRIMARY_GROUP VARCHAR (10) 作為物件主要群組的使用者。

如果沒有物件的主群組,則傳回空值。

OWNER VARCHAR (10) 擁有物件的使用者設定檔。
AUTHORIZATION_LIST_MANAGEMENT VARCHAR (3) AUTHORIZATION_USER 的授權清單管理權限。
使用者沒有此權限。
使用者具有此權限。
OBJECT_OWNER VARCHAR (3) 指出此列的 AUTHORIZATION_USER 是否也是物件的 OWNER。
AUTHORIZATION_USER 不是物件的擁有者。
AUTHORIZATION_USER 是物件的擁有者。
OBJECT_OPERATIONAL VARCHAR (3) 指出 AUTHORIZATION_USER 的物件作業權限。
使用者沒有此權限。
使用者具有此權限。
物件管理 VARCHAR (3) AUTHORIZATION_USER 的物件管理權限。
使用者沒有此權限。
使用者具有此權限。
OBJECT_EXISTENCE VARCHAR (3) AUTHORIZATION_USER 的物件存在權限。
使用者沒有此權限。
使用者具有此權限。
OBJECT_ALTER VARCHAR (3) AUTHORIZATION_USER 的物件變更權限。
使用者沒有此權限。
使用者具有此權限。
OBJECT_REFERENCE VARCHAR (3) AUTHORIZATION_USER 的物件參照權限。
使用者沒有此權限。
使用者具有此權限。
DATA_READ VARCHAR (3) AUTHORIZATION_USER 的資料讀取權限。
使用者沒有此權限。
使用者具有此權限。
資料 _ 新增 VARCHAR (3) AUTHORIZATION_USER 的資料新增權限。
使用者沒有此權限。
使用者具有此權限。
資料 _ 更新 VARCHAR (3) AUTHORIZATION_USER 的資料更新權限。
使用者沒有此權限。
使用者具有此權限。
資料 _ 刪除 VARCHAR (3) AUTHORIZATION_USER 的資料刪除權限。
使用者沒有此權限。
使用者具有此權限。
DATA_EXECUTE VARCHAR (3) AUTHORIZATION_USER 的資料執行權限。
使用者沒有此權限。
使用者具有此權限。

範例

傳回檔案 APPLIB/XX_ENCODE_CASE_ONE employee 的權限資訊。
SELECT *
   FROM TABLE(QSYS2.OBJECT_PRIVILEGES('APPLIB', 'EMPLOYEE', '*FILE'));