Использование: SQL Server, SSMS 2008, T-SQLВставьте запись в таблицу из VIEW
Цель: Я хочу, чтобы создать VIEW, где каждый раз, когда она вызывается (например select * from 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 Я хочу сохранить 'insert into' в коде VIEW, а не процедуру, которая не должна предоставлять разрешения на выполнение для всех сотрудников в базе данных. Вместо этого им будут предоставлены права на запись в LogTable. – Chase
Ну, на мой взгляд, это не реально, насколько мне известно. Но я не уверен, что проблема будет заключаться в предоставлении пользователям разрешения на процедуру, если она делает то же самое. – ZLK