如何使用SQL检索teradata表中最后插入的行

如何使用SQL检索teradata表中最后插入的行,sql,teradata,Sql,Teradata,我有下面的multiset teradata表 CREATE MULTISET TABLE pp_scratch.HADOOP_FPTI_DASHBOARD ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT, DEFAULT MERGEBLOCKRATIO ( job_status VARCHAR(32) CHARACTER SET LATIN

我有下面的multiset teradata表

CREATE MULTISET TABLE pp_scratch.HADOOP_FPTI_DASHBOARD ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      job_status VARCHAR(32) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
      current_processing_hr VARCHAR(32) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
      no_of_files_moved VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL)
PRIMARY INDEX upi_HADOOP_FPTI_DASHBOARD ( current_processing_hr );
当我尝试插入值时,它与我插入的顺序不符。如果它是我插入的顺序,那么我将使用ORDERBY语句检索该值。在本例中,如何检索最后插入的值

样本数据


这里可以做的是添加一个序列自动递增的数字整数。为此,您必须更改表并添加一个新的列数据类型integer。
每插入一条记录,该列的计数器就会自动递增1。现在,如果按新列排序,就可以得到插入到表中的最后一行

Teradata表是散列分区/排序的,除非当前处理是唯一的,否则无法获取最后一行

您的数据类型是错误的:

将当前\u处理\u hr更改为时间戳2默认当前\u时间戳2,如果不在同一1/100秒内插入多行,则可以将其用于最后一行 将\u文件的数量\u更改为INT
如果Teradata和其他RDBMS一样,那么就没有“插入顺序”的概念。你到底想做什么?有没有可能检索表中最后插入的行?@GopiGowtham。如果指定插入顺序,则可以获取最后插入的行。这通常带有标识列或创建日期时间戳。关系数据库中没有表的最后一行。一张表就像一个装满球的篮子,它没有排序,所以不能有最后一行。Teradata中的标识列不能保证顺序。生成的序列号或具有足够精度的时间戳是更好的选择。Teradata中的标识列带来了很多麻烦。不,不像Teradata这样的并行系统,标识不是连续的,事实上它是多个序列,具有不同的值范围,每个PE/AMP一个