хранимая процедура:Хранимая процедура не вставлена в таблицу, когда вызывается из зрения - SQL Server 2014
ALTER PROCEDURE EXPORT_SALES
AS
-- insert invoice numbers into zInvoices table for use later
BEGIN
SET NOCOUNT ON;
INSERT INTO zInvoices
SELECT
Orders.InvoiceNo
FROM
Orders
WHERE
(Orders.PostStatus = 2
AND Orders.VoidFlag = 0
AND Orders.LastModDate > Orders.ReplicationDateTime);
-- get recordset of data to return to view
SELECT NewId() AS IRN, CompanyName
FROM Companies;
END
Вид:
ALTER VIEW mvuEXPORT_SALES
AS
SELECT *
FROM openquery([local], 'SET FMTONLY OFF; SET NOCOUNT ON; EXEC DBName.user.EXPORT_SALES');
GO
Если я запустить хранимую процедуру, он вставляет в zInvoices table и возвращает набор записей с идентификатором и именем компании. Когда я запускаю его из представления; он возвращает набор записей с идентификатором и фирменным именем ... но он не вставляется в таблицу zInvoices.
Любые предложения были бы весьма полезными.
Определение представления может иметь только 'Одно Select' заявление. Вы не можете выполнить процедуру внутри проверки просмотра MSDN для получения дополнительных ограничений для представлений SQL Server. –
Вы можете выполнить хранимую процедуру в представлении, пока хранимая процедура возвращает набор записей. – sgreen