0

让我们假设我创建一个表并执行以下插入:

insert mango,4
insert apple,1
insert pear,3
insert banana,2

表演时:select fruit, id from fruit_table。给出以下结果:

**fruit    id**
apple    1
pear     3
mango    4
banana   2
...

这与它们最初的插入方式不同。如果不使用order by,是否有办法指定(可能在创建表或执行插入时)位置相对于它们的插入?所以在做的时候select fruit, id from fruit_table,我会按照它们插入的顺序来获取记录。

4

1 回答 1

1

在 Oracle 中,您可以使用 ORDER BY 定义表的视图。

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

create view  fruit
as
select *
from   fruit_table
order by id;


insert into fruit values (4,'mango');
insert into fruit values (1,'apple');
insert into fruit values (3,'pear');
insert into fruit values (2,'banana');

select * from fruit_table;

select * from fruit;

SQL 小提琴:http ://sqlfiddle.com/#!4/1b24f/1

我想不出这会是一个好主意的情况,而且我不相信它对除了琐碎的情况之外的任何事情都是万无一失的。

于 2013-04-11T09:52:14.193 回答