teradata - 太数据错误 2641进行了重组。重新提交
问题描述
我有一个表,我每天都会删除并创建一个索引,我还有另一个工作是用ACCESS
锁查询这个表。有时这些工作同时发生,然后我收到以下错误:
2641 %DBID.%TVMID was restructured. Resubmit.
我在文档中阅读了以下内容:
Explanation:
A table was changed before a statement that references the table was processed.
(For example, an index may have been added or a field removed.)
Notes:
The statement may not have the intended result because of the change in the table.
Remedy:
Examine the table and resubmit the request.
https://docs.teradata.com/reader/8MhLDQBmL52OycrEKPuGqg/Ju5pqm9uRFO6VziQdcmA6w
我猜这是因为CREATE INDEX
句子请求EXCLUSIVE
锁定并且在SELECT
创建索引时句子在排队,但是当SELECT
从队列中弹出时,表具有不同的版本号并且它失败了。
也许我完全错了,但是,有没有办法避免这种行为?SELECT
当它有机会被执行时,它会使句子重新评估。
谢谢!
解决方案
由应用程序处理 2641 并重新提交请求。没有选项可以让数据库自动执行此操作。
推荐阅读
- excel - Excel 日期时间对象使我的 Python 3.7 shell 崩溃
- firebase - 在每次“firebase 部署”时收到电子邮件
- d3.js - D3.js v5 从值中获取数据
- java - 将按钮的文本设置为 datepicker 上的选定日期
- sqlite - 如何将字符串数组插入到 sqlite3 表的列中
- vb.net - 在 vb.net 程序中打开一个新页面(hreflink)
- php - 正确编写php代码和html - PHP
- php - 使用 homestead vagrant 解决方案访问 symfony 的 app_dev.php
- perl - Perl 获取请求返回空响应,可能与会话相关?
- r - R:构建 VAR 滞后结构