A. Oracle把视图查询权限给某用户的sql是什么
oracle给某用户授权试图查询的SQL语句为:
SQL> grant select on v_$mystat to test1;
Grant succeeded.
这样 test1用户就拥有了 查询v$mystat视图的权限了
收回权限命令:
SQL>revoke select on v_$mystat from test1;
(1)sql用户视图扩展阅读
oracle 的用户管理的常用命令介绍:
1、创建用户:create user 用户名 identified by 密码;
SQL> create user scw identified by 123;
2、修改其他用户密码 需要权限;
SQL> conn system/123;
已连接。
SQL> alter user scw identified by 123;
3、赋予用户连接数据库的权限:
SQL>grant create session to zhansgan;
4、查看当前用户所有表的表名:
SQL> select table_name from user_tables;
B. 数据库中的数据视图与用户数据视图的区别与联系。
在数据库系统原理中,存在三级模式:外模式、模式(概念模式)、内模式(存储模式),分别对应视图级、概念级、物理级。
所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中"的反映,很显然,不同层次(级别)用户所“看到’’的数据库是不相同的。
你问题中提到的“用户数据视图”应该是三级模式中的视图级即是用户使用的数据视图级,主要为局部逻辑结构,因为模式上很多个外模式,外模式到模式的映射定义了局部数据逻辑结构与全局逻辑结构之间的对应关系,表现了数据的逻辑独立性。
C. 在sql数据库里的视图是什么意思,怎么理解
视图为原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。视图为从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。
视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。
(3)sql用户视图扩展阅读
视图有很多优点,主要表现在:
1、视点集中
使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。
2、简化操作
视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。
3、定制数据
视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
4、合并分割数据
在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。
5、安全性
视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
D. sql 如何查看视图的创建用户
select owner,view_name from all_views where view_name = '';注意视图名要大写
E. SQL 中如何让不同的用户看到同一个视图中不同的列
在写后台代码处理sql脚本的时候,依据不同的用户编写不同的字段值,或者编写相同的sql语句,返回给用户的时候再处理显示列。
F. 获取数据库中的全部用户视图
SQL?ASP?创建记录集
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={SQL server};server=.;database=db_database;uid=sa;pwd=1"
%> <title>获取数据库中的全部用户视图</title><table width="485" height="360" border="0" align="center" cellspacing="0" background="bg.jpg" >
<tr>
<td height="81" align="center"><span class="style1"><br>
<span class="style2">数据库中的视图:</span></span></td>
</tr>
<tr>
<td align="center" valign="top"><span class="style1">
<%
set rs=server.CreateObject("adodb.recordset")
sql="select name from sysobjects where xtype = 'v'"
rs.open sql,conn,1,3
for i=1 to rs.recordcount
%>
<table width="200" border="0">
<tr>
<td>【<%=rs("name")%>】</td>
</tr>
</table><%
rs.movenext()
next
%>
G. sql server 2008设置用户访问视图的权限,但是系统视图还在,并且可以编辑,可以关闭吗
information_schema架构下的视图是用来获取sql server系统的一些信息用的,这个针对不同用户的权限返回不同的结果,并且是只读的,用户不能编辑,也不能查看被授予的权限以外的内容,所以无需担心,当然这个也是不能“关闭”的。
H. 在sql中,用户可以直接操作视图吗
视图只能查询,不能插入。
可以把它看作一个表格查询的批处理。
I. 如何用SQL语句创建一个视图
使用create view语句就可以创建视图了,具体语句如下:
create view viewname as select * from Tab_EdsProd(Tab_EdsProd是表的名字)where (后面可以接一线限制的条件)。
删除视图:drop view viewname。
(9)sql用户视图扩展阅读
视图的作用:
1、使用视图,可以定制用户数据,聚焦特定的数据。
2、使用视图,可以简化数据操作。
3、使用视图,基表中的数据就有了一定的安全性。因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户。
视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。
4、使用视图可以合并分离的数据,创建分区视图。
J. 在SQL中,建立视图用什么命令
1.使用CREATE VIEW语句创建视图
2.语法格式为:
CREATE VIEW 视图名[(列名1,列名2[,…n])]
[WITH ENCRYPTION]]
AS 查询语句
[WITH CHECK OPTION]
其中:
l 列名 视图中包含的列,可以有多个列名,最多可引用1024个列。若使用与源表或视图中相同的列名时,则不必给出列名。
l ENCRYPTION 说明在系统表syscomments中存储CREATE VIEW语句时进行加密。
l 查询语句 用来创建视图的SELECT语句。可在SELECT语句中查询多个表或视图,以表明新创建的视图所参照的表或视图,但对SELECT语句有以下的限制:
①定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。
②不能使用COMPUTE或COMPUTE BY子句。
③不能使用ORDER BY子句。
④不能使用INTO子句。
⑤不能在临时表或表变量上创建视图。
l WITH CHECK OPTION 指出在视图上所进行的修改都要符合查询语句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改的数据。例如对于V_05GZYY视图,只能修改除“班级编号”字段以外的字段值,而不能把“班级编号”字段的值改为“=’20051001’”以外的值,以保证仍可通过V_05GZYY视图查询到修改后的数据。
创建一个名为“Test”的视图,要求显示Test为01的信息。
在查询分析器中运行如下命令:
CREATE VIEW Test
AS begin
SELECT * FROM Test WHERE test='01'
end