Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存.sql文件与创建视图_Sql_Sql Server_Sql View - Fatal编程技术网

保存.sql文件与创建视图

保存.sql文件与创建视图,sql,sql-server,sql-view,Sql,Sql Server,Sql View,在过去的几天里,我开始阅读大量有关SQL Server的文档,并发现了视图的概念 我已经知道了,但只是因为在讨论SQL Server时使用了它们 因此,如果有人能帮助我,这就是我对观点的理解: 1视图以物理方式保存在数据库中 2您只能将视图的访问权限授予某人,而不授予他们访问整个数据库的权限 3您可以编写一个新查询,并在视图中使用join子句 这三点是我理解的与保存在磁盘上的普通.sql文件的区别 但是,除了这三个区别之外,如果数据库访问没有问题,为什么我要创建一个视图而不是保存一个查询呢 我真

在过去的几天里,我开始阅读大量有关SQL Server的文档,并发现了视图的概念

我已经知道了,但只是因为在讨论SQL Server时使用了它们

因此,如果有人能帮助我,这就是我对观点的理解:

1视图以物理方式保存在数据库中

2您只能将视图的访问权限授予某人,而不授予他们访问整个数据库的权限

3您可以编写一个新查询,并在视图中使用join子句

这三点是我理解的与保存在磁盘上的普通.sql文件的区别

但是,除了这三个区别之外,如果数据库访问没有问题,为什么我要创建一个视图而不是保存一个查询呢

我真的不明白为什么很多人谈论视图,尤其是SQL Server报表,我想提高我的知识水平

提前谢谢你

视图是存储的查询;它不包含任何数据。例如,如果您从这里谈论Oracle的数据库中导出它,您将看到导出了0行

因此,您和任何其他有权访问它的用户都可以使用它。如果用于创建视图的查询存储在您的硬盘上,除非您将其发送给我、Scott、Mick、Jenny和。。。然后有人改变了他们的观点,我们将不会获取相同的数据集,尽管我们都从相同的角度出发

视图可以限制数据访问;您可以允许其他人仅从表中获取一小列集。或者,如果您加入7个表来创建一个视图,并将该视图的select权限授予其他人,他们就不知道其背后隐藏着什么,因为他们只看到数据

不过,我不认为有很多人谈论观点;也许你现在读到他们时会这么想。但是,毫无疑问,它们是有用的。

视图是一个存储的查询;它不包含任何数据。例如,如果您从这里谈论Oracle的数据库中导出它,您将看到导出了0行

因此,您和任何其他有权访问它的用户都可以使用它。如果用于创建视图的查询存储在您的硬盘上,除非您将其发送给我、Scott、Mick、Jenny和。。。然后有人改变了他们的观点,我们将不会获取相同的数据集,尽管我们都从相同的角度出发

视图可以限制数据访问;您可以允许其他人仅从表中获取一小列集。或者,如果您加入7个表来创建一个视图,并将该视图的select权限授予其他人,他们就不知道其背后隐藏着什么,因为他们只看到数据


不过,我不认为有很多人谈论观点;也许你现在读到他们时会这么想。但是,毫无疑问,它们是有用的。

您可以像处理表一样处理视图。例如,如果您有一个名为viewTest的视图。 您可以从它的选择*从viewTest中选择,加入它。
它与保存文件非常不同。

您可以像处理表一样处理视图。例如,如果您有一个名为viewTest的视图。 您可以从它的选择*从viewTest中选择,加入它。
它与保存文件非常不同。

因为视图的行为类似于数据库中的表,任何具有DB登录名的人都可以查询它,而磁盘上的SQL文件是一个只有您才能运行的查询,因为视图的行为类似于数据库中的表,任何具有DB登录名的人都可以查询它,而磁盘上的SQL文件是一个只有您才能运行的查询