我無法更改服務代理存儲過程,當我更新存儲過程時,它不顯示任何錯誤併成功更新,但更改不會生效。SQL SERVER:更改服務代理存儲過程
是否因爲我需要在更改可能發生影響之前停止兩個數據庫上的服務代理隊列?
注意:服務代理存儲過程生成並讀取xml。
包括該存儲過程
ALTER PROCEDURE [dbo].[ServiceBroker_AtTarget_FromSLICJobEstimateDetailsNewLineAddedBySupplier]
@XML XML(SLICMessageSchema)
AS
BEGIN
-- extract data :
DECLARE
@LogNo INT,
@QuoteReference INT,
@JobEstimatesDetailID INT,
@UserName NVARCHAR(50),
@Description NVARCHAR(MAX),
@UnitValue DECIMAL(18,2),
@Quantity DECIMAL(18,2),
@LineTotal DECIMAL(18,2),
@QuoteTotal DECIMAL(18,2),
@tsCreated DATETIME
SELECT @QuoteReference = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@QuoteReference)[1]', 'int'),
@JobEstimatesDetailID = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@JobEstimatesDetailID)[1]', 'int'),
@UserName = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@UserName)[1]', 'nvarchar(50)'),
@Description = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@Description)[1]', 'nvarchar(max)'),
@UnitValue = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@UnitValue)[1]', 'decimal(18,2)'),
@Quantity = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@Quantity)[1]', 'decimal(18,2)'),
@tsCreated = @XML.value('data(//FromSLIC/FromSLICJobEstimateDetailsNewLineAddedBySupplier/@tsCreated)[1]', 'datetime')
SET @LogNo = (SELECT mlq.logno FROM fsgmgtservices.dbo.maintlogquotes mlq WHERE mlq.quoteno = @QuoteReference)
INSERT INTO fsgcentraldata.dbo.[tblSLICGeneratedEvents]
(EventNameID, tsCreated, CreatedBy, IsAcknowledged, JobNumber, ContractorID)
SELECT 9, @tsCreated, @UserName, 0, @LogNo, je.contractorid
FROM [slic3.0].dbo.JobEstimates je WHERE je.legacyreference = CAST(@quotereference AS varchar(50))
SET @LineTotal = (@UnitValue * @Quantity) // IF I CHANGE IT TO ((@UnitValue * 2)) FOR EXMPL
INSERT INTO fsgmgtservices.dbo.maintlogquotedetails
(quoteno, details, quantity, rate, amount, [date], slicreference)
SELECT @QuoteReference, @description, @quantity, @UnitValue, @LineTotal, @tscreated, @JobEstimatesDetailID
SET @QuoteTotal = (SELECT SUM(mlqd.amount) FROM fsgmgtservices.dbo.maintlogquotedetails mlqd
WHERE mlqd.quoteno = @QuoteReference)
UPDATE fsgmgtservices.dbo.maintlogquotes SET amount = @QuoteTotal WHERE quoteno = @QuoteReference
INSERT INTO [fsgmgtservices].[dbo].maintlognotes
(logno, [date], [user], [note], transferredfromslic)
SELECT @LogNo, @tsCreated, @UserName, 'Quote ' + CAST(@QuoteReference AS varchar(20)) + ', new lines added by supplier in SLIC By ' + @UserName , 0
END
使用'sp_helptext'來驗證'ALTER'實際使用。或者,也許你正在查看錯誤的數據庫。 – usr