我的客户想在他的Order表(来自Sage)上使用插入触发器来创建使用API的Freshdesk票证.
作为我开发的一部分,我构建了一个存储过程,在提供订单号时可以正常工作.但是,将相同的代码移植到触发器中会毫无错误地返回,但是当存储过程中的相同代码工作时,Freshdesk系统中不会出现任何内容.
我希望评论为什么触发器中的API调用可能是一个坏主意,但Freshdesk调用非常快(从存储过程<1秒).
我想知道的是 - 出于某种原因,SQL Server在架构上是否禁止这样做?如果允许,我可以在哪里查找被抛出的错误.
编辑2:好的,这是整个触发器......以前的版本只有OA调用.
ALTER TRIGGER [dbo].[CreateFreshdeskTicketFromOrder]
ON [dbo].[OEORDH]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Get the original order number, and use that in the main lookup query
DECLARE @ORDNUM VARCHAR(22)
SELECT @ORDNUM = ORDNUMBER FROM inserted
-- Variables for fields going to the API
DECLARE @EMAIL VARCHAR(60), @SHPCONTACT VARCHAR(60), @ORDNUMBER VARCHAR(22)
DECLARE @LOCATION VARCHAR(6), @EXPDATE INT
DECLARE …
Run Code Online (Sandbox Code Playgroud)