我有这个sproc使用参数来计算要记录的记录数。 它看起来像这样:
procedure ReadStockToSync(P_CUR out sys_refcursor, P_TAKE integer) is
begin
open P_CUR for
select TOP (@P_TAKE)
我希望它做什么,如果TOP
为0,则忽略P_Take
。
有谁知道我怎么能这样做?
答案 0 :(得分:1)
如果我是你,我会有两个sql语句,并根据参数决定输出哪一个,例如:
procedure readstocktosync (p_take in integer,
p_cur out sys_refcursor) is
begin
if p_take = 0 then
open p_cur for <your select query returning all rows>;
else
open p_cur for <your select query with the correct syntax to retrieve the "top" row(s)>;
end if;
end readstocktosync;