Как вставить данные хранимой процедуры SQL Server в новую таблицу? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть следующая хранимая процедура sql server

SELECT
APO_Order_Id as Purchase_Order_Number,
CompanyID as Company_ID,
p.PJM_UserDefinedProjID as Project_ID,
case m.APO_Use_Alt_Address
end as Project_Site_Address, p.PJM_StartDate as Site_StartDate,
s.CNT_ClientName as Creditor,s.CNT_ABN as Creditor_ABN,s.CNT_UID as Creditor_Id,s.CNT_CreditorType as Creditor_Type, m.APO_Description as Purchase_Order_Description, isnull(d.Order_Amount,0) as Order_Total
FROM
Account_APOrderMaster m
left join
(
SELECT
APOD_Master_Id, APOD_Project_Id, sum(APOD_Total_Amount) as Order_Amount
FROM
Account_APOrderDetail
group by
APOD_Master_Id, APOD_Project_Id
) d on m.Ref_Code = d.APOD_Master_Id
left join Client_Name s on m.APO_Supplier_ID = s.Ref_Code
left join Project_Master p on d.APOD_Project_Id = p.ref_code
left join Client_Name pm on m.APO_ProjectManagerId = pm.Ref_Code
WHERE
apo_order_id = 00122975;

Теперь мне нужно вставить значения данных CompanyId в таблицу «InvoiceMaster». как я могу вставить CompanyID в таблицу?

1 Ответ

0 голосов
/ 07 октября 2019

Если у вас есть доступ для изменения хранимой процедуры, вы можете написать команду вставки вверху запроса в процедуре

INSERT INTO InvoiceMaster(Name of your column)
    SELECT
        CompanyID as Company_ID
    FROM
        Account_APOrderMaster m
    LEFT JOIN
        (SELECT
             APOD_Master_Id, APOD_Project_Id, 
             SUM(APOD_Total_Amount) AS Order_Amount
         FROM
             Account_APOrderDetail
         GROUP BY
             APOD_Master_Id, APOD_Project_Id) d ON m.Ref_Code = d.APOD_Master_Id
     LEFT JOIN 
         Client_Name s ON m.APO_Supplier_ID = s.Ref_Code
     LEFT JOIN
         Project_Master p ON d.APOD_Project_Id = p.ref_code
     LEFT JOIN
         Client_Name pm ON m.APO_ProjectManagerId = pm.Ref_Code
     WHERE
         apo_order_id = 00122975;

Если вы не можете получить доступ к коду хранимой процедуры, лучше написать функцию для решенияпроблемы.

Если вы не можете этого сделать, вам следует использовать параметр распределенных запросов ad-hoc в SQL Server вставить вывод хранимой процедуры во временную таблицу

Или эту ссылкудля решения ваших проблем

вставьте вывод хранимой процедуры во временную таблицу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...