[英]SQL Server : creating a procedure/trigger to create a new order for every type of another order
作為初學者,我希望在每次出現另一個訂單時嘗試創建一個訂單時都尋求幫助。
我在表dbo.OrderType
有3種訂單類型,其中的dbo.OrderType
OrderTypeID, OrderTypeName
:
OrderTypeID OrderTypeName
---------------------------
1 Assignment
2 LoanRelease
3 DocumentRetrieval
對於每個OrderTypeName = Assignment
的Order
,我需要創建一個OrderTypeName = DocumentRetrieval
的Order
。
這是我認為我需要的表,
dbo.tblOrder
列: OrderId, OrderTypeID, LoanNumber
和CustomerID
dbo.tblOrderActivity
列: OrderID, ActivityID, ActivityDate
dbo.tblActivity
列ActivityID, ActivityName
ActivityID ActivityName
------------------------
1 Received
2 Keyed
3 Printed
4 Delivered
dbo.tblCustomer
列CustomerID, CustomerName
我相信我需要為此創建一個過程,因為它涉及到創建一個新的Order
與OrderType = 3
對每個Order
與OrderType = 1
,創建必須具備的每個新訂單received
或ActivityID = 1
。
有人可以幫我開始這個邏輯和過程嗎?
這是我開始使用的觸發器創建,但是由於語法錯誤,我無法使其執行,並且仍然需要弄清楚如何不僅為每個具有OrderTypeID(1)
OrderTypeID(3)
Order
創建新的Order
和OrderTypeID(3)
。 OrderTypeID(1)
而且還要創建一個新的ActivityID = 1
OrderActivity
create trigger trg_Order ON dbo.tblOrder
AFTER INSERT
AS
BEGIN
UPDATE dbo.tblOrder
IF exists (select 1 from inserted where OrderTypeId = 1)
BEGIN
INSERT INTO dbo.tblOrder
SELECT OrderID,3,LoanNumber,CustomerID
FROM inserted
WHERE OrderTypeID = 1
END
END
create trigger trg_Order on dbo.tblorder
after insert
as
BEGIN
if exists ( select 1 from inserted where orderTypeId = 1)
BEGIN
insert into dbo.tblorder
select OrderId,3,LoanNumber, customerid
from inserted
where OrderTypeId = 1
insert into dbo.tblorderActivity
select OrderId,1,sysdatetime()
from inserted
where OrderTypeId = 1
END
END
這是成功完成我所需要的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.