0

我需要编写一个 SQL 查询,该查询按照它们输入到表中的顺序返回记录。

我无法在表格中添加列或以任何方式更改表格。我可以insert intoselect从表。

假设我执行三个插入查询,例如

  insert into x values(a,1);
  insert into x values(d,4);
  insert into x values(u,42);

当我从表中选择时,x我需要按此顺序获取记录。

  • 一个 1
  • d 4
  • 你 42

该表只有两列,都与日期无关。

4

2 回答 2

2

如果不以某种方式更改表格,您将无法做到这一点。

当您从表中选择数据时,它返回的顺序在我知道的所有 sql 数据库引擎上是不确定的,当然在 MSSQL server 2000+ 中也是如此。要以定义的顺序获取行,您必须包含一个ORDER BY子句,并且您无法指定任何内容来给出所需的顺序。

由于您无法更改架构,因此游戏结束。


好吧,(几乎)没有什么是不可能的。您可以定期分析物理数据库文件的更改并将其解码为您需要的信息,但是,当一个事务插入多行时,这可能会失败。

我怀疑您是否有权或有意愿这样做。

于 2013-09-30T10:33:48.683 回答
0

你不能。没有子句,返回的订单是不确定的order by,你没有任何东西可以订购

于 2013-09-30T10:35:57.273 回答