PL/SQL的一个问题(100分)

  • 主题发起人 主题发起人 wzf
  • 开始时间 开始时间
W

wzf

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在PL/SQL中声明一个表类型的变量,
把一个表中的内容通过SELECT语句送到该
变量中。语法如下:
declare
type t_tb is table of table1%rowtype index by binary_integer;
v_tb t_tb;
begin
select * into v_tb from table1;
end;
在PL/SQL中执行时报错,说V_TB有不相符的类型。把
select * into v_tb from table1;改为
select * into v_tb(1) from table1;又报行太多。
我查了PL/SQL的书,没说表类型变量没有行限制。
请大侠出手相助!!!!!!这语句应该怎么写?
 
wzf:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
我的记忆(没有查书):
select * into v_tb from table1 是不行的,
要定义cursor,
一行一行fetch 到 v_tb (i往上长,到记录完为止)
 
select * into好象是会有问题的,最好是一个个字段名写清楚。

另外,用cursor的方法也是可行的,不过要注意cursor资源的释放。
 
回去试试!!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部