DECLARE N_COUNT integer;
set N_COUNT = (select statement returning a single value)
声明一个具有integer数据类型的变量并设置一个具有值的变量。
select * from table1 fetch first (variable) rows only.
现在,我需要在select语句中使用ncount变量。我尝试使用该变量,但返回时出现错误。如何才能实现它?
FETCH FIRST ROWS ONLY
是一个优化功能,它不接受变量。
您需要使用ROW_NUMER()
过滤:
SELECT * FROM (
select table1.*,
row_number() over() as rownum
from table1
) AS t
where rownum <= :n_count
您可以按如下方式执行此操作。
DECLARE @N_COUNT int;
SELECT @N_COUNT = ColumnName FROM TableName Where Condtion
注意:您的查询应该只返回数据类型integer的单个值。