簡體   English   中英

使用SQL Server觸發器將數據插入到另一個表

[英]Insert Data To Another Table Using SQL Server Trigger

我創建了兩個表,分別稱為enquiry_masterenquiry_master_hist ..

我正在使用SQL Server觸發器更新表refference_no上的enquiry_master列。

現在,我要插入具有與enquiry_master_hist相同的數據的enquiry_master 所有好的數據都將插入,但更新的列僅插入舊數據...

有什么方法可以在SQL Server觸發器中獲取更新的數據??? 這是代碼

UPDATE enquiry_master
SET    enquiry_master.reference_no = pass.RandomPassword
FROM   #Users tmp
CROSS APPLY       dbo.GeneratePassword_Real(CRYPT_GEN_RANDOM(@RefferenceNOLength)) pass
WHERE  enquiry_master.enquiry_id = @EnquiryId;
DECLARE @InsertedID AS INT;
select @EnquiryId = i.enquiry_id from inserted i;
select @UpdatedRefference = i.reference_no from inserted i;

SET IDENTITY_INSERT enquiry_master_hist ON
INSERT INTO enquiry_master_hist([enquiry_id],
[enquiry_source_id],
[reference_no],
[assigned_staff_no],
[emp_id],
[status_id],
[remarks],
[enquiry_date_time],
[departing_from],
[travelling_to],
[departing_date],
[returning_date],
[hotel_name],
[airline],
[flight_class],
[no_of_adult_passangers],
[no_of_child_passangers],
[no_of_infant_passangers],
[taxes],
[from_price],
[total_price],
[name],
[home_office_no],
[mobile_no],
[prefered_callback_time],
[email],
[additional_comments],
[from_website],
[from_campaign],
[enquiry_type_id],
[type_of_group],
[budget],
[supplier],
[trip_code],
[trip_name],
[no_of_countries],
[no_of_days],
[countries],
[deal_reference_no],
[how_did_know],
[no_of_rooms],
[bedding],
[room_views],
[board_basis],
[system_date],
[system_time]
)
VALUES(
@EnquiryId,
@EnquirySourceId,
@UpdatedRefference,
@AssignedStaffNo,
@EmpId,@StatusId,
@Remarks,
@EnquiryDatetime,
@DepartingFrom,
@TravellingTo,
@DepartingDate,
@ReturningDate,
@HotelName,
@Airline,
@FlightClass,
@NoOfAdults,
@NoOfChild,
@NoOfInfant,
@Taxes,
@FromPrice,
@TotalPrice,
@Name,
@HomeofficeNo,
@MobileNo,
@PreferedCallbackTime,
@Email,
@AdditionalComments,
@FromWebsite,
@FromCompaign,
@EnquiryTypeId,
@TypeOfGroup,
@Budget,
@Supplier,
@TripCode,
@TripName,
@NoOfCountries,
@NoOfDays,
@Countries,
@DealRefferenceNo,
@HowDidknow,
@NoOfRooms,
@Bedding,
@RoomViews,
@BoardBasis,
@SystemDate,
@SystemTime)

SET IDENTITY_INSERT enquiry_master_hist OFF
END

強文本

您無法獲取任何更新的動態表。 SQL僅允許插入和刪除。 如果使用Update命令,先前的數據將存儲在已刪除的動態表中,新值將存儲在插入的動態表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM