2015-01-04 83 views
0

鉴于数据库模式:数据库SQL - 如何授予和传播特权?

CREATE SCHEMA Database; 

CREATE TABLE DVD-Rental 
(

Member-Email NVARCHAR(50) NOT NULL, 
Member_firstname NVARCHAR(50) NOT NULL, 
Member_lastname NVARCHAR(50) NOT NULL, 
Birth_date DATE NOT NULL, 
DVDRentDate DATE NOT NULL, 
CONSTRAINT DVDPK PRIMARY KEY (Member-Email) 
) 

我怎么会授予帐户鲍勃特权中插入和DVD-租赁 关系以及这些权限传播到其他帐户的功能删除的元组?

对于授予鲍勃特权: 我发现这段代码,并调整它的架构,但不知道是否正确,或把它放在哪里(在关系括号或外部):

GRANT INSERT, DELETE ON DVD-Rental TO Bob 

请包括一个带有答案的SQL代码解决方案,因为我没有关于特权的线索,并且一直在努力在互联网上或我有权访问的书籍中找到有用的东西。

谢谢

+2

您使用的是什么RDBMS? – Mureinik 2015-01-04 12:33:56

+0

林不实际使用一个,即时只是试图写代码。但MS Access应该没问题,我认为?还是SQL Server? – KnowledgeWizard 2015-01-04 13:14:41

+0

搜索条件“sql grant”会帮助你很多。 – 2015-01-04 15:58:25

回答

1

如果您使用的是SQL Server,则授予使用你设计的说法,例如权限

GRANT INSERT, DELETE ON DVD-Rental TO Bob; 

要包括你的用户,然后将此权限授予他人的能力,你需要包括WITH GRANT OPTION条款,像这样:

GRANT INSERT, DELETE ON DVD-Rental TO Bob WITH GRANT OPTION; 

授予的权限是它自己的SQL语句,所以它需要与其他SQL语句分开。这意味着你会将它包含在CREATE TABLE语句的括号之外。

请注意,MS Access没有任何等效于WITH GRANT OPTION

+0

谢谢,这有助于很多:) – KnowledgeWizard 2015-01-04 15:07:19

相关问题