给已经建好的用户A授权,课本上的语句是grant select on table student to A结果table附近有语法错误后来我去掉tablegrant select on student to A就可以运行了请问这是为什么? 难道课本是错的? 还是SQL版本问题?课本已经把表名student写在table后面了 如果说table表示表名,那课本的意思岂不是grant select on student student to A输入2次student?
3 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
课本是错的
不需要table关键字
grant 只能针对表操作 所以不用加table 多此一举
drop 可以针对很多对象 所以删表时 要写成drop table xxx
delete 总是针对全列 所以写delete from 而不是写成 delete * from
某处语法是否需要某个关键字 很大程度上取决于会不会产生歧义
眼眸繁星
TA贡献1873条经验 获得超9个赞
grant <对象语句>如(select,delete,update)on <表名> to <用户名>,
这个是sql语言的语法规则。所以这里的table是多余的,课本可能是拿它来代替广义的表名。grant select on student to A
意思居室将student表的select功能授权给A。
撒科打诨
TA贡献1934条经验 获得超2个赞
它那个table就是 表名的意思 不是关键字
好比书上的例子 select * from table
你在写的时候 select * from table student
这样是不行的
- 3 回答
- 0 关注
- 208 浏览
添加回答
举报
0/150
提交
取消