我正在使用Oracle SQL Plus
。
请参考屏幕截图以供参考。
删除列sno=4
的数据后,我希望sno的输出按顺序显示,即 1,2,3,4 而不是 1,2 ,3,5-
请建议SQL查询实现相同的目标。
答案 0 :(得分:3)
尝试:
select ROWNUM as SNO, NAME,DOJ from company order by SNO
答案 1 :(得分:1)
如果您希望编号是持久的,则需要更新表中所有剩余记录的SNO。
通过删除行,您所做的就是说"第4行不再存在"。如果要将剩余的行重新排列,则需要执行以下操作:
SELECT
CASE
WHEN sno <= 4 THEN sno
ELSE sno-1
END AS sno,
name,
doj
FROM company
ORDER BY sno;
另一种选择,如果你不想改变表本身的内容..但是你希望它能正确显示(特别是对于这个例子)
ClockworkLogger = ActiveSupport::Logger.new("#{Rails.root.to_s}/log/clockwork.log")