是否可以在存储过程中有2个FOR SELECT语句,其中第一个语句将显示其所有数据,然后第二个语句将在第一个语句完成时继续。
我已经尝试过这个:
for select id,date,particular
from TABLE_NAME
into :id, :date, :particular
do begin
suspend;
end
for select id,date,payor
from TABLE_NAME
into :id, :date, :payor
do begin
suspend;
end
第一个语句表现良好,但第二个语句显示第一个语句特定列的一些数据。
答案 0 :(得分:1)
这是可能的,但您需要考虑两件事:
第二项是您遇到的问题,要解决此问题,您需要清除particular
的值,例如在第一项和particular = null;
之间添加第for select ..
行块:
for select id,date,particular
from TABLE_NAME
into :id, :date, :particular
do begin
suspend;
end
particular = null;
for select id,date,payor
from TABLE_NAME
into :id, :date, :payor
do begin
suspend;
end
但是,如果您问题中的代码是实际代码,则可能需要考虑使用视图,而使用两个选项并结合union all
。这可能会减少开销。