Teradata:ANSI和TERA模式之间在记录插入方面的差异

时间:2013-07-23 20:42:12

标签: database-connection teradata

我正在开发一个从Hadoop获取记录并通过sqoop(JDBC)将它们插入Teradata的应用程序。

我使用TERA模式进行连接,目标表是SET表。我收到一些数据集的重复行问题。

据我所知,TERA模式应该在插入时忽略重复记录。有人可以确认一下这个行为吗?

1 个答案:

答案 0 :(得分:2)

对于Teradata中 TERA 模式下的 SET 表,有两种情况:

1。)对于设置表 table_name (抛出重复行异常):

insert into DBName.table_name(id,name) values(1,'Mukesh'); //Success

insert into DBName.table_name(id,name) values(1,'Mukesh'); //Failure

insert into DBName.table_name(id,name) values(1,'mukesh'); //Failure

在TERA模式下,它不区分大小写,因此它将记录视为相同。并抛出重复行异常

2。)对于set table table_name(不抛出重复行异常):

insert into DBName.table_name(id,name) select id,name from DBName.table_name2;

如果 DBName.table_name2 中的记录已经在表 DBName.table_name 中,并且如果我们尝试执行上述查询,则会忽略重复行异常,也不会在表 DBName.table_name 中插入任何内容。

同样在 ANSI 模式下,上述两种情况都会出现重复行异常