32.4 DELETE语句 下面是删除多行记录的例子。 例3-15删除所有教师的授课记录 程序清单如下: DELETE FROM TC 执行此语句后,TC表即为一个空表,但其定义仍 存在数据字典中。 例3-16删除李明同学选课的记录。 DELETE FROM SC WHERE SNO= ( SELECT SNO FROM S WHERE SN=李明’) SQL SERVER2005入门与实例教程电子工业出版社2006
3.2.4 DELETE语句 • 下面是删除多行记录的例子。 • 例 3-15 删除所有教师的授课记录。 程序清单如下: DELETE FROM TC • 执行此语句后,TC表即为一个空表,但其定义仍 存在数据字典中。 • 例3-16 删除李明同学选课的记录。 DELETE FROM SC WHERE SNO= (SELECT SNO FROM S WHERE SN=’ 李明’)
3.3数据控制语言 ·数据控制语言(DCL)是用来设置或更改 数据库用户或角色权限的语句,包括 GRANT,DENY, REVOKE等语句。在默 认状态下,只有 sysadmin, dbcreator, db owner或 db securityadmin等人员才有 权力执行数据控制语言。 SQL SERVER2005入门与实例教程电子工业出版社2006
3.3 数据控制语言 • 数据控制语言(DCL)是用来设置或更改 数据库用户或角色权限的语句,包括 GRANT,DENY,REVOKE等语句。在默 认状态下,只有sysadmin,dbcreator, db_owner或db_securityadmin等人员才有 权力执行数据控制语言
3.3.1 GRANT语句 1、语句权限与角色的授予 SQL语言使用 GRANT语句为用户授予语句权限的语法格 式为: GRANT<语句权限>角色>[<语句权限>角色习] TO<用户名斗角色> PUBLICI<用户名角色习 TWITH ADMIN OPTIONI 其语义为:将指定的语句权限授予指定的用户或角色。其 (1) PULBIC代表数据库中的全部用户; (2) WITH ADMIN OPTION为可选项,指定后则允许被授 权的用户将指定的系统特权或角色再授予其他用户或角色 SQL SERVER2005入门与实例教程电子工业出版社2006
3.3.1 GRANT语句 1、语句权限与角色的授予 • SQL语言使用GRANT语句为用户授予语句权限的语法格 式为: GRANT <语句权限>|<角色> [,<语句权限>|<角色>]… TO <用户名>|<角色>|PUBLIC[,<用户名>|<角色>]… [WITH ADMIN OPTION] • 其语义为:将指定的语句权限授予指定的用户或角色。其 中: (1)PULBIC代表数据库中的全部用户; (2)WITH ADMIN OPTION为可选项,指定后则允许被授 权的用户将指定的系统特权或角色再授予其他用户或角色
3.3.1 GRANT语句 、语句权限与角色的授予 例3-17给用户Mary和John以及 Windows nt组 CorporatelBobJ授予多个语句权限 程序清单如下: GRANT CREATE DATABASE CREATE TABLE TO Mary, John, [Corporate] 例3-18为用户 ZhangLiN授予 CREATE TABLE的语句权 限。 程序清单如下: GRANT CREATE TABLE TO Zhang yilin SQL SERVER2005入门与实例教程电子工业出版社2006
3.3.1 GRANT语句 1、语句权限与角色的授予 • 例3-17 给用户 Mary 和 John 以及 Windows NT 组 Corporate\BobJ 授予多个语句权限。 程序清单如下: GRANT CREATE DATABASE, CREATE TABLE TO Mary, John, [Corporate\BobJ] • 例3-18 为用户ZhangYiLin授予CREATE TABLE的语句权 限。 程序清单如下: GRANT CREATE TABLE TO ZhangYiLin
3.3.1 GRANT语句 2、对象权限与角色的授予 数据库管理员拥有系统权限,而作为数据库的普通用户,只对自己创建的基本表 视图等数据库对象拥有对象权限。如果要共享其他的数据库对象,则必须授予他 定的对象权限 同语句权限的授予类似,SQL语言使用 GRANT语句为用户授予对象权限,其语法 格式为 GRANT ALLI对象权限(列名[,列名])<对象权限>]ON<对象名> TO<用户名>角色> PUBLIC<用户名>角色] TWITH ADMIN OPTION 其语义为:将指定的操作对象的对象权限授予指定的用户或角色。其中 (1)ALL代表所有的对象权限。 (2)列名用于指定要授权的数据库对象的一列或多列。如果不指定列名,被授权 的用户将在数据库对象的所有列上均拥有指定的特权。实际上,只有当授予 NSER DATEA 3)ON子句用于指定要授予对象权限的数据库对象名,可以是基本表名、视图 名等 ) WITH ADMIN OPTION为可选项,指定后则允许被授权的用户将权限再授予 其他用户或角色。 SQL SERVER2005入门与实例教程电子工业出版社2006
3.3.1 GRANT语句 2、对象权限与角色的授予 • 数据库管理员拥有系统权限,而作为数据库的普通用户,只对自己创建的基本表、 视图等数据库对象拥有对象权限。如果要共享其他的数据库对象,则必须授予他一 定的对象权限。 • 同语句权限的授予类似,SQL语言使用GRANT语句为用户授予对象权限,其语法 格式为: GRANT ALL|<对象权限>[(列名[,列名]…)][,<对象权限>]…ON <对象名> TO <用户名>|<角色>|PUBLIC[,<用户名>|<角色>]… [WITH ADMIN OPTION] • 其语义为:将指定的操作对象的对象权限授予指定的用户或角色。其中: (1)ALL代表所有的对象权限。 (2)列名用于指定要授权的数据库对象的一列或多列。如果不指定列名,被授权 的用户将在数据库对象的所有列上均拥有指定的特权。实际上,只有当授予 INSERT、UPDATE权限时才需指定列名。 (3)ON子句用于指定要授予对象权限的数据库对象名,可以是基本表名、视图 名等。 (4)WITH ADMIN OPTION为可选项,指定后则允许被授权的用户将权限再授予 其他用户或角色