在Sybase中的现有表中添加标识列时对列进行排序

时间:2013-05-14 13:19:47

标签: sql sybase isql

感谢这个优秀的论坛,得到了我过去查询的一些解决方案,感谢Google。这是我在论坛上的第一篇文章,但是。

我有一个表订单,其中列 pin,orderPath,quantity 。表中已有5000个数据。现在,我想添加一个identy列,比如 OrderID ,但按列 pin 排序。

使用以下查询有助于但不按要求排序。

ALTER TABLE order
ADD OrderID numeric(6,0) identity

以下是我想看到的内容:

Pin--OrderPath--Quantity--OrderID 

11   xyz/pop    200       1 
22   kl/pod     100       2 
33   djh/dd     200       3  
44   dj/po      300       4 

2 个答案:

答案 0 :(得分:0)

ALTER TABLE orderADD 
ADD Order_ID datatype

答案 1 :(得分:0)

如果您的任何逻辑要求以特定顺序返回或显示数据,请不要依赖数据库。在查询中明确放置order by子句以确保一致性。

SELECT pin, OrderPath, Quantity, OrderID
ORDER BY pin

如果您需要以特定顺序存储数据,建议您在要订购的列上使用聚簇索引。聚簇索引使数据保持有序,从而加快检索速度,但请记住,这会增加插入成本。

create unique clustered index pin_idx on ORDER (pin)