Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 server 生成脚本,用于视图?_Sql Server - Fatal编程技术网

Sql server 生成脚本,用于视图?

Sql server 生成脚本,用于视图?,sql-server,Sql Server,我记得曾经生成一个脚本来插入表值。我使用SQL Server选择数据库,然后右键单击选择任务->然后生成脚本,并通过向导选择我的表并将结果保存到新的查询窗口。在高级设置中,我会选择data only作为要编写脚本的数据类型。我记得得到了一个Insert语句的结果列表,如: GO Insert INTO myTable Values('a','b','c') GO Insert INTO myTable Values('1','2','3') GO Insert INTO myTabl

我记得曾经生成一个脚本来插入表值。我使用SQL Server选择数据库,然后右键单击选择任务->然后生成脚本,并通过向导选择我的表并将结果保存到新的查询窗口。在高级设置中,我会选择data only作为要编写脚本的数据类型。我记得得到了一个Insert语句的结果列表,如:

 GO
 Insert INTO myTable Values('a','b','c')
 GO
 Insert INTO myTable Values('1','2','3')
 GO
 Insert INTO myTable Values('1','2','3')
 GO
…其中脚本化的数据是表中的实际数据。我使用它来保存/重新填充偶尔需要从不同位置更新的表

现在,我在几年后再次尝试,它只给了我看起来像模式脚本的东西。。。?这一次我明确地尝试使用视图,而不是表。我的结果集如下所示:

 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 CREATE VIEW [dbo].[myView] AS  SELECT [_Result2801].[_Column3] [Employee], 
 [_E2].[Date] ...
此Select还有一些嵌套的Select语句、视图


为什么这看起来和我的期望有这么大的不同?我肯定只选择了数据,而不是模式。我试图搜索这是否适用于视图,但我一直在查找没有回答我问题的教程/文档。

不幸的是,由于视图的性质,它不能以这种方式工作。视图通常不会持久化/包含数据,相反,它们是访问数据的查询,插入到视图中充其量是粗略的,而直接插入在最坏的情况下不起作用。最好是为视图查询的基础表编写脚本。

稍微绕道一点,但听起来好像有嵌套视图。这将导致可怕的性能问题。是的,先生。有许多性能问题,不幸的是,当我使用一个配置SQL视图和表的程序自动生成的视图/表时,有些性能问题可能超出了我的控制,该程序已使用多年,造成了一些混乱。这是一个伟大的链接,帮助我通过我可以筛选!谢谢你,这回答了问题。谢谢我的新想法是以某种方式临时创建一个新的DB表,将它从视图INSERT填充到Select*from。。。然后在表上运行这个生成脚本的程序,然后保存脚本。我实际上是在用它来编写测试用例,所以我想把这些数据存储在一个新的临时表中,但我想使用我当前的数据设置,因为它非常代表所有的测试用例。