Teradata锁定行,用于在将查询插入易失性表时进行访问
我在Teradata锁定行,用于在将查询插入易失性表时进行访问,teradata,volatile,Teradata,Volatile,我在teradata中有一个VOLATILE表,我用下面的代码创建了它 CREATE VOLATILE TABLE Temp ( ID VARCHAR(30), has_cond INT ) ON COMMIT PRESERVE ROWS; 我想从我创建的select语句中插入记录,这是一个相当大的SQL语句,在继续之前肯定需要行锁 INSERT INTO Temp (ID ,has_cond) SELECT * FROM.... 有谁能告诉我如何安全地锁定行,这样我就可以将记录插入到我
teradata
中有一个VOLATILE表
,我用下面的代码创建了它
CREATE VOLATILE TABLE Temp
(
ID VARCHAR(30),
has_cond INT
) ON COMMIT PRESERVE ROWS;
我想从我创建的select语句中插入记录,这是一个相当大的SQL语句,在继续之前肯定需要行锁
INSERT INTO Temp
(ID ,has_cond)
SELECT * FROM....
有谁能告诉我如何安全地锁定行,这样我就可以将记录插入到我的
VOLATILE表中,因为它们是生产表,我不想锁定一些可能在后台发生的ETL
,我认为你不能为插入应用行锁定,除非你将选择从某种角度来看
或者切换到锁定表
,但不要忘记包含所有表
但在大多数生产环境中,都有一个带有1-1视图的数据库,其中包括锁定行访问
,您可以使用这些视图(或者您可能已经使用了,请检查解释)。除非将选择
放在视图中,否则我认为您无法为插入应用行锁定
或者切换到锁定表
,但不要忘记包含所有表
但在大多数生产环境中,都有一个带有1-1视图的数据库,其中包括锁行访问
,您可以使用这些视图(或者您可能已经使用了,请检查解释)。Hi@dnoeth。非常感谢您的快速回复。似乎我也可以使用lock tablename for access
来实现我想要的功能,因为在大多数情况下,锁会被优化器提升到表级别……Hi@dnoeth。非常感谢您的快速回复。似乎我也可以使用锁tablename for access
来实现我想要的功能,因为在大多数情况下,锁会被优化器提升到表级别。。。