Azure 逻辑应用程序:在插入记录之前截断 table

Azure Logic App : Truncate table before insert records

我有一个基本逻辑应用 sql 插入记录,它工作正常。但在这里我需要在插入记录之前截断 table 。

Azure 逻辑应用程序可以做到这一点吗?如果可以,我该如何实现?

注意:我正在使用本地数据网关访问数据库,数据库是 MSsql 一个

在截断 table 的 SQL 服务器上编写一个存储过程,通过数据网关通过 SQL 连接器在逻辑应用程序中调用它。之后,你就可以注入数据了。

我需要在插入记录之前截断 table。 Azure 逻辑应用程序可以做到这一点吗?

是的,您可以在 Logic App 上完成,而无需编写任何 SP。

SQL 下有内置连接器,即逻辑应用程序设计器上的 Execute a SQL Query。您必须使用该连接器。

如果可以,我该如何实现?

你可以在那里写RAW sql 命令。请参阅以下示例。

我有一个 table 如下所示:

  CREATE TABLE AzureSqlTable(
        [Id] [int] PRIMARY KEY IDENTITY(1,1) NOT NULL,
        [FirstName] [nvarchar](max) NULL,
        [LastName] [nvarchar](max) NULL,
        [Email] [nvarchar](max) NULL,
    )
    GO

您的案例:

In your case I had tried to INSERT data using SQL Executor command before INSERT operation I just TRUNCATE that table Like below:

TRUNCATE TABLE AzureSqlTable

INSERT INTO AzureSqlTable VALUES('PassFirstNameParam','PassLastNameParam','PassEmailParam')

我已经用我的参数值定义了一个 HTTP 请求 JSON 模式并将它传递给 SQL Executor Connector。请参阅下面的屏幕截图:

本地操作:

对于本地查询执行,您必须进行如下配置:

注意: 对于 On Prem 连接配置,您可以参考此 official docs

这就是您可以在插入操作之前截断 table 的方法。正如您已经知道如何配置 SQL 连接。所以我没有把它放进去。