为什么grant select on student to A 就可以运行了?

给已经建好的用户A授权,课本上的语句是
grant select on table student to A
结果table附近有语法错误
后来我去掉table
grant select on student to A
就可以运行了
请问这是为什么? 难道课本是错的? 还是SQL版本问题?
课本已经把表名student写在table后面了 如果说table表示表名,那课本的意思岂不是grant select on student student to A
输入2次student?

莫回无
浏览 209回答 3
3回答

一只名叫tom的猫

课本是错的不需要table关键字grant 只能针对表操作 所以不用加table 多此一举drop 可以针对很多对象 所以删表时 要写成drop table xxxdelete 总是针对全列 所以写delete from 而不是写成 delete * from某处语法是否需要某个关键字 很大程度上取决于会不会产生歧义

眼眸繁星

grant <对象语句>如(select,delete,update)on <表名> to <用户名>,这个是sql语言的语法规则。所以这里的table是多余的,课本可能是拿它来代替广义的表名。grant select on student to A意思居室将student表的select功能授权给A。

撒科打诨

它那个table就是 表名的意思 不是关键字好比书上的例子 select * from table你在写的时候 select * from table student这样是不行的&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server