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

标签 azure stored-procedures azure-data-factory

根据以下文档, https://learn.microsoft.com/en-us/azure/data-factory/connector-azure-sql-database enter image description here

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

我已经尝试过了,似乎不起作用,目前正在调查。

感谢您提前提供信息。

最佳答案

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

我创建了两个表:

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 临时表 [dbo].[emp_stage] 中,然后使用存储的程序 [dbo].[spMergeEmpData] 进行传输数据从 [dbo].[emp_stage][dbo].[emp]

enter image description here

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

我调试成功了。 enter image description here

我可以看到数据都在表[dbo].[emp]中。
enter image description here

关于azure - 在 Azure 数据平台中执行存储过程 - Post SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67118539/

相关文章:

c# - 使用 Azure 函数的简单发布请求

c# - Azure Functions 中的 Azure AD 身份验证

ios - Azure 移动服务 - 推送通知注册不起作用 [ios]

angular - Azure CDN 与 Verizon - 重写 URL 以始终加载 index.html

azure - 使用 Azure 数据工厂中的 REST API 映射嵌套 JSON,通过存储过程将每个迭代器使用到 SQL 表

azure - 使用 Azure 数据工厂导入 .tar 文件

python - psycopg2.connect 失败,错误为 'connection refused'(Django app+db 托管在单独的虚拟机上)

stored-procedures - 将 Java 库与 DB2 Java 存储过程捆绑在一起

sql - 为什么没有在此 select 语句中设置变量?

azure - 如何构建增量数据加载?