ストアドプロシージャ:ストアドプロシージャ - 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に挿入idとCompanyNameを持つレコードセットを返します。私がビューから実行すると、 IdおよびCompanyName ...を含むレコードセットを返しますが、zInvoicesテーブルには挿入されません。
ご意見をいただければ幸いです。
ビュー定義のみが 'シングルSELECT'文を持つことができます。ビューのチェックMSDN内でプロシージャを実行することはできません。SQL Serverのビューには制限があります。 –
ストアドプロシージャがレコードセットを返す限り、ビュー内でストアドプロシージャを実行できます。 – sgreen