在 db2 的 fetch 语句中使用 sql 变量

using sql variable in fetch statement in db2

DECLARE N_COUNT integer;
set N_COUNT = (select statement returning a single value)

声明一个整数数据类型的变量并设置一个值的变量。

select * from table1 fetch first (variable) rows only.

现在,我需要在 select 语句中使用 ncount 变量。我尝试使用该变量但返回错误。怎样才能实现呢?

您可以按照以下步骤进行操作。

DECLARE @N_COUNT int;
SELECT @N_COUNT = ColumnName FROM TableName Where Condtion

注意:您的查询应该return只有整数数据类型的单个值。

FETCH FIRST ROWS ONLY是优化功能,不接受变量。

您将需要使用 ROW_NUMER() 过滤:

 SELECT * FROM (
 select table1.*,
 row_number() over() as rownum
 from table1 
 ) AS t
 where rownum <= :n_count