我有以下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 );
当我尝试插入值时,它不是我插入的顺序。如果它已按顺序插入,那么我将使用order by statement检索该值。在这种情况下,如何检索最后插入的值。
示例数据
答案 0 :(得分:2)
Teradata表是哈希分区/排序的,除非current_processing_hr
是唯一的,否则无法获取最后一行。
您的数据类型错误:
current_processing_hr
更改为timestamp(2) default current_timestamp(2)
,如果您未在同一个1/100秒内插入多行,则可以将其用于最后一行 < / LI>
no_of_files_moved
更改为INT
答案 1 :(得分:0)
这里你可以做的是添加一个序列(自动增量数字整数)。为此,您必须更改表并添加新列(数据类型整数)。 对于您插入的每个记录,此列将自动将其计数器递增1。现在,如果您按新列排序,您将能够获得插入表中的最后一行。