以下场景:为什么所有数据都没有被复制到表中?

时间:2014-12-18 13:31:03

标签: sql insert teradata

主表:行 新表:Line_2

最终Line_2将重命名为Line,Line将重命名为Line_bkup。 所有数据都需要从Line复制到Line_2。

我使用以下命令开始从Line到Line_2的复制过程。

从database_v.Line插入Line_2 sel *(正在从此处的视图中获取数据)。 database_v.Line视图具有Line表的“LOCKING ROW FOR ACCESS”。

以上插入在下午1:00运行并运行到下午4:00。 (比如要复制1000行)

在此期间,插入线在下午1:30在线运行,直到下午1点45分。 (说插入了200行)

为什么200行没有插入Line_2?是否与使用的ACCESS锁有关。

1 个答案:

答案 0 :(得分:1)

你说得对。使用访问锁定会在提交命令时获取所选表的图像。 如果您希望制作整个表的精确副本,则需要使用表级读锁,而不是行级访问锁。这可以在视图定义中完成。