参见英文答案 >
Does Oracle have an equivalent of SQL Server’s table variables?4个
我最近开始担任开发人员的新职位,我在PL / sql方面遇到了一些麻烦.我已经使用了MS sql多年,但我发现PL / sql有点棘手.
我最近开始担任开发人员的新职位,我在PL / sql方面遇到了一些麻烦.我已经使用了MS sql多年,但我发现PL / sql有点棘手.
在MS sql中编写函数和存储过程时,我曾经做过的一件事就是将reoccuring结果集放入表变量中,这样我就不必在整个过程中重新查询它们.
像这样的东西:
declare @badPeople table(recordPointer int) insert into @badPeople select BP_Record_Pointer from People where BP_Bad = 1
我正在寻找在PL / sql中做类似的事情,但我不太清楚如何开始.任何想法,如果这是可能的?
declare type t_number is table of number; v_numbers t_number; begin select BP_Record_Pointer bulk collect into v_numbers from People where BP_Bad = 1; end;
这将创建一个包含表中值的嵌套表.重要的是要注意,该表将在匿名块的末尾超出范围,因此您要对其执行的任何操作都需要在该块内完成.