當前位置:首頁 » 編程語言 » sql語句賦查詢許可權給某用戶
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句賦查詢許可權給某用戶

發布時間: 2022-11-29 16:57:47

Ⅰ 如何把一個用戶下所有表的查詢許可權賦給另一用戶

只要將用戶1下所有表的查詢許可權賦給用戶2即可。但是,用戶1下可能有很多表,如果一條一條地寫grant語句很不現實,這里介紹一種便捷的方法:通過查詢語句得到grant賦許可權腳本,執行一下就可以了。

sql> show user
USER 為"SYS"
SQL> create user tt
2 identified by tt;

用戶已創建

SQL> grant create session to tt;

授權成功。

SQL> select 'grant select on '||owner||'.'||object_name|| ' to user1;'
2 from dba_objects
3 where object_type='TABLE' and wner='SCOTT';

'GRANTSELECTON'||OWNER||'.'||OBJECT_NAME||'TOUSER1;'
------------------------------------------------------------------------------

grant select on SCOTT.BONUS to user1;
grant select on SCOTT.CC to user1;
grant select on SCOTT.CC1 to user1;
grant select on SCOTT.DEPT to user1;
grant select on SCOTT.EMP to user1;
grant select on SCOTT.SALGRADE to user1;
grant select on SCOTT.T1 to user1;
grant select on SCOTT.T2 to user1;
grant select on SCOTT.TT to user1;

已選擇9行。

復制上面的查詢結果執行一下就可以了。如果查詢結果太多的話,可以將這樣做:

set pages 999;
set heading off;
spool run_grant.sql
select 'grant select on '||owner||'.'||object_name|| ' to user1;'
from dba_objects
where object_type='TABLE' and wner='SCOTT';
spool off;
@run_grant

這是一種很方便高效的方法,可以使工作事半功倍。

把所有表的查詢許可權賦給另一個用戶

grant select any table to QUERY;

Ⅱ oracle中怎樣把一個用戶的所有table的select許可權授給另外一個用戶

1、雙擊桌面sqldeveloper軟體圖標啟動軟體。

Ⅲ sql中如何用什麼語句給用戶授權

sql語言用grant語句向用戶授予操作許可權,grant語句的一般格式為:
grant
<許可權>[,<許可權>]...
[on
<對象類型>
<對象名>]
to
<用戶>[,<用戶>]...
[with
grant
option];
其語義為:將對指定操作對象的指定操作許可權授予指定的用戶。
不同類型的操作對象有不同的操作許可權,常見的操作許可權如表3-4所示。
表3-4
不同對象類型允許的操作許可權
對象
對象類型
操作許可權
屬性列
table
select,
insert,
update,
delete
all
privieges
視圖
table
select,
insert,
update,
delete
all
privieges
基本表
table
select,
insert,
update,
alter,
index,delete
all
privieges
資料庫
database
createtab
詳細信息…
接受許可權的用戶可以是一個或多個具體用戶,也可以是public即全體用戶。
如果指定了with
grant
option子句,則獲得某種許可權的用戶還可以把這種許可權再授予別的用戶。如果沒有指定with
grant
option子句,則獲得某種許可權的用戶只能使用該許可權,但不能傳播該許可權。
例1
把查詢student表許可權授給用戶u1
grant
select
on
table
student
to
u1;
例2
把對student表和course表的全部許可權授予用戶u2和u3
grant
all
priviliges
on
table
student,
course
to
u2,
u3;
例3
把對表sc的查詢許可權授予所有用戶
grant
select
on
table
sc
to
public;
例4
把查詢student表和修改學生學號的許可權授給用戶u4
詳細信息…
這里實際上要授予u4用戶的是對基本表student的select許可權和對屬性列sno的update許可權。授予關於屬性列的許可權時必須明確指出相應屬性列名。完成本授權操作的sql語句為:
grant
update(sno),
select
on
table
student
to
u4;
例5
把對表sc的insert許可權授予u5用戶,並允許他再將此許可權授予其他用戶
grant
insert
on
table
sc
to
u5
with
grant
option;
詳細信息…
執行此sql語句後,u5不僅擁有了對表sc的insert許可權,還可以傳播此許可權,即由u5用戶發上述grant命令給其他用戶。
例如u5可以將此許可權授予u6:
grant
insert
on
table
sc
to
u6
with
grant
option;
同樣,u6還可以將此許可權授予u7:
grant
insert
on
table
sc
to
u7;
因為u6未給u7傳播的許可權,因此u7不能再傳播此許可權。
例6
dba把在資料庫s_c中建立表的許可權授予用戶u8
grant
createtab
on
database
s_c
to
u8;

Ⅳ sql server 2000 怎樣給一個用戶分配某一個表的查詢許可權

只能把多個角色賦給一個用戶
不能將多個對象一次賦給一個用戶

Ⅳ 增加用戶與分配許可權,SQL語句怎麼寫

增加用戶
-------------------------------------------------------------------------
USE master
GO
sp_addlogin @loginame = 'TempWorker', @password = 'fff', defdb = 'sales'
GO
USE sales
GO
sp_grantdbaccess 'TempWorker'
GO
許可權
-------------------------------------------------------------------------------------
GRANT
在安全系統中創建項目,使當前資料庫中的用戶得以處理當前資料庫中的數據或執行特定的 Transact-SQL 語句。
語法
語句許可權:
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
對象許可權:
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procere | extended_procere }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]
示例
A. 授予語句許可權
下面的示例給用戶 Mary 和 John 以及 Windows NT 組 Corporate\BobJ 授予多個語句許可權。
GRANT CREATE DATABASE, CREATE TABLE
TO Mary, John, [Corporate\BobJ]
B. 在許可權層次中授予對象許可權
下例顯示許可權的優先順序。首先,給 public 角色授予 SELECT 許可權。然後,將特定的許可權授予用戶 Mary、John 和 Tom。於是這些用戶就有了對 authors 表的所有許可權。
USE pubs
GO
GRANT SELECT
ON authors
TO public
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO
C. 給 SQL Server 角色授予許可權
下面的示例將 CREATE TABLE 許可權授予 Accounting 角色的所有成員。
GRANT CREATE TABLE TO Accounting
D. 用 AS 選項授予許可權
用戶 Jean 擁有表 Plan_Data。Jean 將表 Plan_Data 的 SELECT 許可權授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用戶 Jill 是 Accounting 的成員,他要將表 Plan_Data 上的 SELECT 許可權授予用戶 Jack,Jack 不是 Accounting 的成員。
因為對表 Plan_Data 用 GRANT 語句授予其他用戶 SELECT 許可權的許可權是授予 Accounting 角色而不是顯式地授予 Jill,不能因為已授予 Accounting 角色中成員該許可權,而使 Jill 能夠授予表的許可權。Jill 必須用 AS 子句來獲得 Accounting 角色的授予許可權。
/* User Jean */
GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION
/* User Jill */
GRANT SELECT ON Plan_Data TO Jack AS Accounting

Ⅵ 資料庫原理 SQL怎麼賦予一個一個賬號查詢所有表的許可權

賦予這個賬號--admin角色就可以了
請採納!

Ⅶ SQL如何語用語句授予一個角色只能查詢這個數據的所有表

比如:授予用戶USER1在當前資料庫中具有查詢所以表的許可權

EXEC sp_addrolemember 'db_datareader', 'USER1'

Ⅷ 請問如何用SQL語句為指定用戶授權

用SQL語句為指定用戶授權的具體步驟如下:

我們需要准備的材料分別是:電腦、sqlserver2008

1、首先打開sqlserver2008,之後點擊打開左上角的「新建查詢」。

Ⅸ 用SQL語句查詢當前用戶的所有許可權

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。