首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure数据工厂在管道中重命名表

Azure数据工厂在管道中重命名表
EN

Stack Overflow用户
提问于 2021-10-04 23:21:46
回答 1查看 248关注 0票数 0

我正在从一个Oracle数据库批量复制到另一个Oracle数据库。为此,我使用了大容量复制操作,该操作基于所有者进行并创建表查找。

这个很好用。但是,我们正在从视图中提取带有'vw_‘的表名,并且需要删除前缀。目标Oracle数据库的表名没有“vw_”。流程很简单。

  1. 我们创建一个表名的查找。
  2. 我们触发一个副本,该副本对每个表进行迭代并复制数据。
  3. 该操作将复制的数据发送到存储blob。
  4. 然后,复制到使用者操作将数据从存储帐户移动到目标。到那时,查询应该是正确的。我们检查表的存在,如果它在那里,我们截断数据并重新加载它。

IF EXISTS (SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().VIEW_NAME}]) TRUNCATE TABLE [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]

问题是我不能在管道中重命名表。我该怎么做?

下面是提取表名的查询。

代码语言:javascript
运行
复制
SELECT OWNER as TABLE_SCHEMA, VIEW_NAME as TABLE_NAME
from SYS.ALL_VIEWS
WHERE  VIEW_NAME LIKE 'VW_RX_%'

下面是一个表名VW_RX_CASE_WORKLIST

我想在查找任务上将其转换为RX_CASE_WORKLIST,这样我们就不必处理存储帐户中的文件了。复制任务

EN

回答 1

Stack Overflow用户

发布于 2021-10-08 10:24:18

将前3个字符(VW_)从在lookup活动中使用的查询中的视图名称中删除。

下面是执行子字符串之前的结果。

查找活动:

代码语言:javascript
运行
复制
SELECT 'dbo' as tb_schema, substring(name, 4, (len(name)-3)) as tb_name
from SYS.ALL_VIEWS
WHERE name LIKE 'VW_%'

您可以将lookup活动的输出传递给下一个活动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69443318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档