2017-11-29 11 views
1

私は、次のレコードが挿入されているORACLEテーブルから最後に挿入された行を取得するには?

create table test(id number,name varchar2(30)); 

に次の表を作成しました。

insert into test values (1,'Ronaldo'); 
insert into test values (2,'Messi'); 
insert into test values (3,'Bale'); 
insert into test values (3,'Zlatan'); 
insert into test values (2,'Neymar'); 

最後に挿入した行を取得するにはどうすればよいですか?すなわち、o/pは2でなければなりません。Neymar これについてのお問い合わせはありますか? 助けてください。前もって感謝します。

+0

上で最も回答やコメントがtimestamp_cを追加助けと一致します列をテーブルに追加して、作成日時を更新します。この列を並べ替えることによって、最後に挿入されたレコードを取得することができます – janith1024

+0

テーブルにauto_incrementフィールドを追加すると、そのフィールドが主キーとして設定され、max(filed_name)を使用して最後に挿入されたレコードを簡単に取得できます –

+1

"リレーショナルデータベースの行。リレーショナルデータベースの行は順序付けられていないセットです。 –

答えて

1

created_dateフィールドを作成するか、シーケンスと呼ばれる自動Numberフィールドを作成する必要があります。次に、以下のクエリを書く必要があります

select * from test_date desc; または select * from test order by seq_number desc;

いずれの場合も、最初の行が最後に挿入されます。

+0

ありがとうございますMohd Ahmad。私は主キーとシーケンスについて知っていて、それらのことがどのように機能するのか分かっていました。最後に挿入されたレコードを得る他の方法はありますか? – Sudhirson

-1

表のテストを作成( ID番号、 名VARCHAR(30)、 INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT を区別する)。


。SELECT ID、この参照(テストから最大(区別)を選択)

関連する問題