当前位置: 代码迷 >> SQL >> ASA 有没有取得物理记录号的SQL 函数
  详细解决方案

ASA 有没有取得物理记录号的SQL 函数

热度:3   发布时间:2016-05-05 12:40:51.0
ASA 有没有获得物理记录号的SQL 函数
如题:

就好像类似如此函数:

select reno() from table;`获得每条指令的物理记录号
UPDATE .... FROM TABLE WHERE RENO() = 111111; 改动指定物理记录号的记录。

  RENO() 是我想像的函数,好像VIS FOXPRO 有的。

------解决方案--------------------
引用:
引用:
如没有唯一键的话
SELECT *,ROWID(TT2) FROM tt2
OR
SELECT *,NUMBER(*) FROM tt2


用SELECT NUMBER(*) FROM TT2 可以得到结果. ASA8.0

但是NUMBER(*)不可以作为WHERE 语句去update。

UPDATE ... SET ... WHER……

测试确实是这样,只有增加1个临时字段,替换此字段为NUMBER(*),再替换
------解决方案--------------------
NUMBER(*) 不行,它是一个逻辑上的序号,结果集不同,同一条记录所表现的序号不同。

举例说明

如果要虚拟的标识主键,NUMBER(*)是比较好的选择
------解决方案--------------------
ASA8是否支持ROW_NUMBER窗口函数?
  相关解决方案