问题 问答题 论述题

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能

答案

参考答案:

(a)用户王明对两个表有SELECT权力。GRANTSELECTON职工,部门TO王明

(b)用户李勇对两个表有INSERT和DELETE权力。

GRANTINSERT,DELETEON职工,部门

TO李勇

(c)每个职工只对自己的记录有SELECT权力。

GRANTSELECTON职工

WHENUSER()=NAME

TOALL;

(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。

GRANTSELECT,UPDATE(工资)ON职工

TO刘星

(e)用户张新具有修改这两个表的结构的权力。

GRANTALTERTABLEON职工,部门

TO张新;

(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

GRANTALLPRIVILIGESON职工,部门

TO周平

WITHGRANTOPTION;

(g)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

CREATEVIEW部门工资AS

SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)

FROM职工,部门

WHERE职工.部门号=部门.部门号

GROUPBY职工.部门号

GRANTSELECTON部门工资

TO杨兰;

问答题 简答题
判断题