https://www.projectgroup.info/tips/SQLServer/MSSQL_00000034.html
ポイントは、WITH SCHEMABINDINGオプションを使用して作成すること。
また、テーブル、ビューは[dbo].[名前]形式で指定すること。
https://qiita.com/emotu/items/4653d610c0925504b10a
インデックス付Viewは、作成のSQLだけ通ればめでたしめでたしというわけにもいかないです。。
インデックス付Viewの元テーブルに更新をかけてるクエリやストアド実行時のSETオプション次第では、クエリ実行がエラー終了してしまうという恐ろしい罠があります。SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
上記2オプションが必須です。
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO
- ビューを作成する
CREATE VIEW [dbo].[ビュー名] WITH SCHEMABINDING
AS
SELECT COL001
,COL002
,COL003
,COL004
FROM dbo.TABLE_A
- クラスタ化インデックスを作成する
CREATE UNIQUE CLUSTERED INDEX PK_インデックス名
ON dbo.ビュー名 ( COL001,COL002 )
- 非クラスタ化インデックスを作成する
CREATE NONCLUSTERED INDEX IDX_インデックス名
ON dbo.ビュー名 ( COL003,COL004 )