2015-01-04 81 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

相關問題