0
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)

SQL Management Studio を使用しています。これが私の変更ビューです。ビューが常に最新のレコードを反映するように、この行に更新コマンドを追加するにはどうすればよいですか?

4

2 に答える 2

1

あなたはそれをする必要はありません。ビューはテーブルではなく、事前定義されたクエリです。

ビューから選択すると、SQLServerはその時点でビューのクエリを実行します。

これをテストするには、ビューを作成し、そこから選択してから、ベーステーブルに行を追加し、ビューから再度選択します。

于 2012-07-24T02:48:26.480 に答える
0

基になるテーブルに変更を加えた場合、ビューを更新して反映された変更を確認する必要がありますが、alter ステートメントではそれを行うことができないと確信しています。

sp_refreshview [dbo].[pais2k1view]

次に、データベースに変更を加えるときに手動で実行するか、ビュークエリを呼び出す前にどこかで自動化する必要があるスクリプトに含めることができます。

于 2012-07-24T03:01:29.340 に答える