首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

自动标识列,该怎么解决

2012-02-06 
自动标识列SQL codeDROP PROCEDURE JDE_REPORT.INV_04AGOCREATE PROCEDURE JDE_REPORT.INV_04A (I

自动标识列

SQL code
DROP PROCEDURE "JDE_REPORT"."INV_04A"GOCREATE PROCEDURE "JDE_REPORT"."INV_04A" (IN P01_DBNAME CHARACTER VARYING(7), IN P02_WORKSHOPPRODUCTION CHARACTER VARYING(10), IN P03_BEGINDATE_FROM DATE, IN P04_BEGINDATE_TO DATE, IN P05_USER CHARACTER VARYING(10))    LANGUAGE SQL    SPECIFIC JDE_REPORT.INV_O4A    DYNAMIC RESULT SETS 1    MODIFIES SQL DATA    DISALLOW DEBUG MODE    OLD SAVEPOINT LEVEL    COMMIT ON RETURN NOBEGIN    DECLARE CSR CURSOR WITH RETURN FOR    Select  * From CrpDta.f563111 Fetch First 100 Rows ONly;    OPEN CSR;END --call JDE_REPORT.INV_04A('PY812','','1/14/2009','1/14/2010','200')

执行以上存储过程,得到了100行数据.现在请问如何给结果集加上一个列标识,1至100这样的,自动增长。请问该如何编写?

[解决办法]
Select row_number() over() as rn, CrpDta.f563111.* From CrpDta.f563111 Fetch First 100 Rows ONly;

这样试一下

[解决办法]
把这句
Select * From CrpDta.f563111 Fetch First 100 Rows ONly;
改为
select * from
(
Select row_number() over(order by 主键) as num,CrpDta.f563111.* From CrpDta.f563111 
) as x
where num between 1 and 100


热点排行