からテーブルにレコードを挿入します。 SQL Serverを、SSMS 2008、T-SQLを使用してビュー
目標:私はそれが(たとえばselect * from VIEW
のために)呼ばれるたびにVIEWを作成したい、基本的に現在の日時を示す別のテーブルにレコードを挿入します。この目的は、VIEWが呼び出される頻度を追跡することです。
私が試したこと:以下のVIEW擬似コードのようなものを実行しようとしましたが、失敗しました。
質問:この目標は可能ですか?
USE DATABASE
GO
/****** Object: View SCHEMA.VIEW1 Script Date: 08/10/2016 17:52:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW SCHEMA.VIEW1 AS
--Step 1: Update the LogTable with the current datetime so I will know that the VIEW was called on this date/time
INSERT INTO DATABASE.SCHEMA.LogTable (DATE)
VALUES (GETDATE())
--Step 2: The "actual" VIEW code, select all records from TABLE1 (just as an example)
SELECT *
FROM DATABASE.SCHEMA.TABLE1
GO
あなたはそこから選択することで、ビューを呼び出す必要がありますか?たとえば、ビューから選択してログテーブルに挿入して代わりに呼び出すプロシージャを作成することはできませんか? – ZLK
@ZLKデータベースのすべての従業員に実行権限を与える必要がないプロシージャではなく、VIEWコードに 'insert into'を保持します。代わりに、LogTable専用の書き込み権限が与えられます。 – Chase
私が知っている限り、それは実際には見ることができません。しかし、同じことをしても、ユーザに手続きの許可を与えることでどのような問題が起こるのか分かりません。 – ZLK