开发者社区 > 数据库 > 正文

如果想要在dms变更工单里面使用临时表的功能,有介绍的文档或者推荐的使用方式吗?

问题1:如果想要在dms变更工单里面使用临时表的功能create temporary table 的过程,我们正常的变更工单创表和变更不能一起,现在希望临时和数据变更能一起这个有介绍的文档或者推荐的使用方式吗?创建临时表,然后在临时表变更。
问题2:但是分为两个工单,变更工单里面上一个工单创建临时表是不存在的(不在同一个session)。

展开
收起
十一0204 2023-07-19 12:44:39 93 0
3 条回答
写回答
取消 提交回答
  • 问题1:在DMS变更工单中,如果您希望在临时表和数据变更之间进行操作,可以尝试以下方式:

    1. 创建临时表:在变更工单中执行 "CREATE TEMPORARY TABLE" 语句,创建所需的临时表。确保在该变更工单的后续步骤中仍然可以引用该临时表。

    2. 执行数据变更:在同一个变更工单中执行对临时表的数据变更操作,例如插入、更新或删除操作。

    3. 提交变更工单:在完成所有需要对临时表进行的操作后,提交变更工单以应用所有的变更。这样可以确保临时表的数据变更和其他结构变更同时生效。

    需要注意的是,临时表在会话结束后会自动删除,因此请确保在变更工单中的其他步骤不依赖于临时表的存在,或者在创建临时表后及时清理它们。

    问题2:如果您将临时表的创建和数据变更拆分为两个不同的工单,由于它们位于不同的会话中,临时表在后续的工单中将无法被识别。这是正常情况,因为临时表是会话级别的对象。

    为了解决这个问题,您可以考虑以下方法:

    1. 将创建临时表和数据变更合并到一个工单中:将创建临时表的操作和对其进行的数据变更操作合并到同一个变更工单中,这样它们将在同一个会话中执行,临时表也可以被正确引用。

    2. 使用全局临时表:某些数据库支持全局临时表,它们可以跨会话共享。您可以尝试使用全局临时表来解决在不同会话中无法引用临时表的问题。请参考数据库文档了解如何创建和使用全局临时表。

    2023-07-25 19:14:55
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在DMS变更工单中同时使用临时表和数据变更的方法如下:

    创建临时表:在DMS中,您可以使用SQL命令来创建临时表。具体命令如下:
    Copy
    CREATE TEMPORARY TABLE temp_table_name (
    column1 datatype1,
    column2 datatype2,
    .....
    );
    执行上述SQL命令后,将创建一个临时表,可以在该表中进行数据操作。

    变更临时表:在临时表中进行数据变更时,需要将变更操作封装成SQL脚本,并将脚本提交到DMS变更工单中执行。具体操作步骤如下:
    编写SQL脚本:在SQL脚本中,可以包含需要执行的数据变更操作,如INSERT、UPDATE、DELETE等。同时,需要在脚本中指定要操作的临时表名,以确保变更操作能够在临时表中执行。

    提交变更工单:在DMS中,您可以创建变更工单,并将SQL脚本提交到工单中执行。在提交工单时,需要选择要操作的数据库和表,以及要执行的SQL脚本。

    审批工单:在DMS中,变更工单需要经过审批流程,才能够执行。在审批工单时,需要确保变更操作的安全性和可靠性,并根据实际情况进行审批。

    执行工单:在工单审批通过后,可以执行工单中的SQL脚本,对临时表进行数据变更操作。需要注意的是,变更操作可能会影响业务的正常运行,建议在执行前进行充分的测试和验证。

    2023-07-23 09:20:30
    赞同 展开评论 打赏
  • 意中人就是我呀!

    回答1:这个目前只能分为两个工单执行。
    回答2:你提一个数据变更工单,预校验的时候跳过行数校验。执行变更的时候选择事务方式执行。 就是把创表和变更放一起按这个方式执行这样操作看看。此回答整理至钉群“阿里云DMS数据管理用户交流群”。

    2023-07-19 13:35:40
    赞同 展开评论 打赏

数据库领域前沿技术分享与交流

相关电子书

更多
金融行业高频交易数据管理解决方案 立即下载
基于Spark的统一数据管理与数据探索平台 立即下载
INFINIDATA:基于Spark的统一数据管理与探索平台 立即下载