oracle 创建一个能够增删查改表的账户,但是没有alter权限
时间: 2023-12-21 14:07:08 浏览: 36
可以使用以下语句来创建一个能够增删查改表的账户,但是没有alter权限的用户:
```sql
CREATE USER username IDENTIFIED BY password;
GRANT CREATE SESSION TO username;
GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO username;
```
这将创建一个名为"username"的用户,并授予该用户创建会话和对指定表进行SELECT、INSERT、UPDATE和DELETE操作的权限。由于该用户没有ALTER权限,因此不能修改表结构。
相关问题
oracle 创建一个能够增删查改表的账户,但是没有alter权限。用户需要不带schema,可直接查询
你可以使用以下步骤创建一个能够增删查改表但没有alter权限的用户,并使其能够不带schema直接查询:
1. 使用sysdba权限登录到Oracle数据库中。
2. 创建用户并授予必要的权限:
```
CREATE USER username IDENTIFIED BY password;
GRANT CONNECT, RESOURCE, CREATE SESSION TO username;
GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO username;
```
这将创建一个名为"username"的用户,其密码为"password",并授予它连接、资源和创建会话的权限。您还需要授权用户对特定表执行SELECT、INSERT、UPDATE和DELETE操作。
3. 授予用户执行SELECT的权限:
```
GRANT SELECT ANY TABLE TO username;
```
这将允许用户查询任何表而无需在查询中指定模式名。
4. 撤销用户的ALTER表权限:
```
REVOKE ALTER ANY TABLE FROM username;
```
这将撤销用户对任何表进行ALTER的权限。
现在,用户将能够不带模式名直接查询表,并且只能执行SELECT、INSERT、UPDATE和DELETE操作,而不能执行ALTER操作。
数据库中视图的增删查改语句
视图是数据库中的一个虚拟表,它具有和表一样的结构,但是它本身不存储数据,而是通过查询其他表得到数据。因此,对视图的增删查改操作实际上是对与视图相关的查询语句的操作。
1. 增加视图:创建视图语句类似于创建表语句,可以使用CREATE VIEW语句来完成。例如,创建一个基于表t1和t2的视图v1,可以使用以下语句:
```
CREATE VIEW v1 AS SELECT t1.col1, t2.col2 FROM t1 JOIN t2 ON t1.id = t2.id;
```
2. 删除视图:删除视图可以使用DROP VIEW语句,例如:
```
DROP VIEW v1;
```
3. 查询视图:查询视图和查询表类似,可以使用SELECT语句,例如:
```
SELECT * FROM v1;
```
4. 修改视图:修改视图可以使用ALTER VIEW语句,例如:
```
ALTER VIEW v1 AS SELECT t1.col1, t2.col2, t2.col3 FROM t1 JOIN t2 ON t1.id = t2.id;
```
需要注意的是,对于视图的修改操作只能修改其查询语句,不能修改其结构。