- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 azure 的突触管道,如果目标表已经存在,它可以正常运行...复制事件预复制脚本是
@{concat('drop table ', item().target_schema, '.', item().target_object)}
但是我需要编辑上面的语法,首先检查表是否存在,然后仅删除表(如果存在)...下面是合法的 sql server 语法
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[myschema].[mytable]') AND type in (N'U'))DROP TABLE [myschema].[mytable]GO
正如您所看到的,我的预复制脚本已参数化,因为我的 azure synapse 分析管道正在执行这些事件:
Lookup -> ForEach -> Copy
因此预复制脚本语法也必须参数化
如何实现 IF EXISTS 逻辑并将其放入参数化预复制脚本语法中?
以下对预复制脚本的猜测...全部错误
if object_id (item().target_schema, '.', item().target_object,'U') is not null drop table item().target_schema, '.', item().target_object
以下失败
如果存在@{item().target_schema}.@{item().target_object}则删除表
有错误
"message": "ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed with the following error: 'Parse error at line: 1, column: 12: Incorrect syntax near 'IF'.',Source=,''Type=System.Data.SqlClient.SqlException,Message=Parse error at line: 1, column: 12: Incorrect syntax near 'IF'.,Source=.Net SqlClient Data Provider,SqlErrorNumber=103010,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=103010,State=1,Message=Parse error at line: 1, column: 12: Incorrect syntax near 'IF'.,},],'",
最佳答案
这是我的查找输出数组,我已将其提供给 ForEach。
[
{
"table_name": "one",
"schema_name": "dbo"
},
{
"table_name": "two",
"schema_name": "dbo"
}
]
我用 DROP TABLE IF EXISTS @{item().schema_name}.@{item().table_name}
重现了上述场景在复制事件的预复制脚本中执行命令并得到相同的错误。
我在 synapse SQL 数据库中尝试了相同的命令,但最终出现了相同的错误。
据此Documentation ,此错误的原因可能是上述命令仅适用于SQL Server而不适用于SQL DW。
The following guesses for the pre-copy script ... all error out
if object_id (item().target_schema, '.', item().target_object,'U') is not null drop table item().target_schema, '.', item().target_object
我可以通过使用上述命令的字符串插值来删除预复制脚本中的表,如下所示。
if object_id ('@{item().schema_name}.@{item().table_name}','U') is not null drop table @{item().schema_name}.@{item().table_name};
关于azure - 如果预复制脚本 azure synapse 管道中存在表,如何删除表复制事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76007457/
当存储帐户访问 key 被禁用时,Dataverse 的突触链接运行正常。我们可以创建新记录,这里没有问题。但当存储帐户 key 被禁用时,它无法为 Dataverse 设置新的突触链接。有人以前见过
是否有计划支持专用池的开放行集?优点: 比外部文件格式更多(更快)的解析器选项,例如行分隔符 可以自动推断模式 直接定义文件格式更方便 最佳答案 这是一个很棒的功能请求,安德斯。我看到您已经创建了一个
我有一个天蓝色的突触工作区,其中包含无服务器 SQL 池中的许多管道和外部表。所有这些都与一个特定项目相关。 还有另外 2-3 个完全独立的项目正在进行中,需要突触工具集。 我应该创建一个新的工作区,
我有一个天蓝色的突触工作区,其中包含无服务器 SQL 池中的许多管道和外部表。所有这些都与一个特定项目相关。 还有另外 2-3 个完全独立的项目正在进行中,需要突触工具集。 我应该创建一个新的工作区,
能否请您帮助我在 Azure Synapse 中使用 FOR XML PATH。如果不是,还有什么选择。 谢谢 最佳答案 如果您希望使用 FOR XML 来准备,例如动态数据透视查询的列名,那么 st
编辑:这是一个连接到 git 存储库的工作区。如果我向处于“实时”模式的工作区添加触发器,触发器将显示。如何将触发器添加到设置到 git 存储库的工作区? 使用 Azure Synapse,我在创建和
我在 AzureSynapse 无服务器池中定义了一个 View ,它使用 openrowset 获取数据。我在专用 sql 池中的表中也有数据。 我可以做一个连接这两个表的 sql 查询吗? 最佳答
我在 Synapse 工作区中有一个主管道,其中有 2 个事件: 第一 - 笔记本事件 第二 - If 条件事件 对于第一个(Synapse 笔记本、spark 池、pyspark),我有一个如下所示
我在 Synapse 工作区中有一个主管道,其中有 2 个事件: 第一 - 笔记本事件 第二 - If 条件事件 对于第一个(Synapse 笔记本、spark 池、pyspark),我有一个如下所示
我们将从本地迁移到 Azure,并将使用 Azure Synapse。我们的转换主要是从 SQL 存储过程的直接迁移开始。 查看高级文档,我没有发现 ADF 和 Azure Synapse Pipel
最近,我们将专用 SQL 池部署到生产中的 Synapse 工作区。在开发中,我们可以访问无服务器 SQL 池和专用 SQL 池。但是,在生产中,我们可以访问无服务器 SQL 池,但无法访问专用 SQ
我正在尝试克隆 Synapse Serverless SQL 数据库,以便可以使用它进行测试。 当我在 Synapse Studio 中单击 SQL 数据库时,没有克隆选项。 No 'Clone' o
我正在尝试克隆 Synapse Serverless SQL 数据库,以便可以使用它进行测试。 当我在 Synapse Studio 中单击 SQL 数据库时,没有克隆选项。 No 'Clone' o
根据Doc。这是否意味着,目前数据库设计器不支持Delta格式来可视化地创建Lake数据库表?
以下 Azure 服务之间有什么区别? Azure Synapse Analytics(以前称为 SQL DW) Azure Synapse Analytics(专用链接中心预览版) Azure Sy
以下 Azure 服务之间有什么区别? Azure Synapse Analytics(以前称为 SQL DW) Azure Synapse Analytics(专用链接中心预览版) Azure Sy
我正在尝试使用 Synapse Pipelines 中的 Notebook Activity 执行 Azure Synapse Notebook,它在调试 Pipelines 时不断出现错误,Note
我有一个表,由于名称列中的差异,它为相同的ID返回多个行。有些名字在名字后面加上中间字母,或者在姓氏后面加上后缀。在下面的示例中,我只想要第一行,因为它有完整的名称。。我尝试按名称长度进行排名,但因未
我有一个表,由于名称列中的差异,它为相同的ID返回多个行。有些名字在名字后面加上中间字母,或者在姓氏后面加上后缀。在下面的示例中,我只想要第一行,因为它有完整的名称。。我尝试按名称长度进行排名,但因未
我们在目录和订阅(我们将其称为目录_1 和订阅_1)下有不同的资源(存储帐户、逻辑应用、SQL 数据库、SQL Server、Synapse 工作区) 这些资源用于执行简单的 ETL 管道。 我们希望
我是一名优秀的程序员,十分优秀!