Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 2008 - Fatal编程技术网

Sql 从我的表视图刷新我的查询结果

Sql 从我的表视图刷新我的查询结果,sql,sql-server-2008,Sql,Sql Server 2008,我使用的是sql management studio,这是我的alter视图,如何向此行添加刷新命令,以便视图始终反映最新的记录,而不必这样做。视图不是表,它们是预定义的查询 当您从视图中选择时,SQL Server将在此时执行该视图的查询 您可以通过创建视图,从中进行选择,然后向基表添加一行,然后再次从视图中进行选择来测试这一点。如果您对基础表进行了更改,您将需要刷新视图以查看反映的更改,但我敢肯定您不能在alter语句中执行此操作 SET ANSI_NULLS ON GO SET QUO

我使用的是sql management studio,这是我的alter视图,如何向此行添加刷新命令,以便视图始终反映最新的记录,而不必这样做。视图不是表,它们是预定义的查询

当您从视图中选择时,SQL Server将在此时执行该视图的查询


您可以通过创建视图,从中进行选择,然后向基表添加一行,然后再次从视图中进行选择来测试这一点。

如果您对基础表进行了更改,您将需要刷新视图以查看反映的更改,但我敢肯定您不能在alter语句中执行此操作

SET ANSI_NULLS ON
 GO

SET QUOTED_IDENTIFIER ON
 GO


ALTER VIEW [dbo].[pais2k1view]
AS
SELECT DISTINCT 
                  RTRIM(dbo.Gen_info.last) AS LastName, RTRIM(dbo.Gen_info.first) AS         Firstname, RTRIM(dbo.Gen_info.middle) AS Middlename, RTRIM(dbo.Gen_info.rank) AS rank, 
                  RTRIM(dbo.Gen_info.badge_no) AS badge_no, RTRIM(dbo.Gen_info.tin) AS TIN, CONVERT(char(10), dbo.Gen_info.birthdate, 110) AS birthdate, dbo.Gen_info.hair, 
                  dbo.Gen_info.eyes, RTRIM(dbo.Gen_info.blood) AS Blood, dbo.Gen_info.height, dbo.Gen_info.weight, dbo.Gen_info.marks, dbo.dependent.name, 
                  dbo.dependent.address, dbo.dependent.phone_no, dbo.dependent.dep_contact, dbo.dependent.dep_phone, dbo.Gen_info.acct_no, dbo.Gen_info.unit AS RDO_Code, 
                  dbo.Gen_info.fstatus, dbo.dependent.tag1, RTRIM(dbo.Gen_info.first) + ' ' + RTRIM(dbo.Gen_info.middle) + ' ' + RTRIM(dbo.Gen_info.last) AS Fullname, 
                  RTRIM(dbo.Gen_info.last) + RTRIM(dbo.Gen_info.first) AS Photolink, dbo.Unit.abbvr AS unit
FROM         dbo.Gen_info WITH (NOLOCK) LEFT OUTER JOIN
                  dbo.dependent WITH (NOLOCK) ON dbo.Gen_info.link = dbo.dependent.link LEFT OUTER JOIN
                  dbo.Unit WITH (NOLOCK) ON dbo.Gen_info.unit = dbo.Unit.unit
WHERE     (dbo.dependent.fstatus = 0) AND (dbo.dependent.tag1 = 1) AND (dbo.Gen_info.fstatus = 0)

然后,您可以在对数据库进行更改时手动运行,也可以将其包含在脚本中,您必须在调用视图查询之前将其自动化。

我一直认为,使用相同的定义执行ALTER view将刷新视图,就像
sp\u refreshview
一样。只是后者使用起来更方便。
sp_refreshview [dbo].[pais2k1view]