在 Azure 数据平台中执行存储过程 - Post SQL 脚本

Execute stored procedure in Azure Data Platform - Post SQL Scripts

根据以下文档, https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-sql-database

运行 post SQL 脚本有一个功能。是否可以从那里 运行 存储过程?

我已经试过了,它似乎没有用,目前正在调查中。

提前感谢您的信息。

我创建了一个测试来证明可以在 Post SQL 脚本中调用存储过程。

我创建了两个 table:

CREATE TABLE [dbo].[emp](
    id int IDENTITY(1,1),
    [name] [nvarchar](max) NULL,
    [age] [nvarchar](max) NULL
) 


CREATE TABLE [dbo].[emp_stage](
    id int,
    [name] [nvarchar](max) NULL,
    [age] [nvarchar](max) NULL
) 

我创建了一个存储程序。

create PROCEDURE [dbo].[spMergeEmpData]
AS
BEGIN
SET IDENTITY_INSERT dbo.emp ON
   MERGE [dbo].[emp] AS target
   USING [dbo].[emp_stage] AS source
   ON (target.[id] = source.[id])
   WHEN MATCHED THEN
      UPDATE SET name = source.name,
       age = source.age

    WHEN NOT matched THEN

       
       INSERT (id, name, age)
      VALUES (source.id, source.name, source.age);
    TRUNCATE TABLE [dbo].[emp_stage]
END

我会将 csv 文件复制到我的 Azure SQL staging table [dbo].[emp_stage],然后使用存储过程 [dbo].[spMergeEmpData] 将数据从 [dbo].[emp_stage] 传输到[dbo].[emp].

在 Post SQL 脚本字段中输入存储过程名称 exec [dbo].[spMergeEmpData]

我调试成功了。

我可以看到数据都在TABLE [dbo].[emp].