怎么实现这样的写法?

paranoia190 2007-01-05 05:46:59
DECLARE
A NUMBER(16,2);
B NUMBER(16,2);
BEGIN
SELECT FIELD1 INTO A,FIELD2 INTO B FROM TABLE;
END;

发现ORACLE好象只能用一个参数接收.有没有类似的功能实现呢?
...全文
228 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
icedut 2007-01-08
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;

假设记录数大于1的时候好象有错误.
--
大于1,你可以用游标
icedut 2007-01-08
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;
报错.
%这有错..
我试了一下游标.能实现.

再问个问题.怎么获得游标记录数的COUNT?
定义一个变量a
open cursor
循环取游标变量
a:=cursor%rowcount;
--cursor%rowcount确定从游标中取到的记录行数,只有游标的纪录都获取了,才能得到游标的记录数



paranoia190 2007-01-08
  • 打赏
  • 举报
回复
假设我这样写的话就错误了.
DECLARE
A TABLE%rowtype;
BEGIN
SELECT FIELDA,FIELDB INTO A FROM TABLE ...;
END;
应该和定义部分有关系的吧,
A TABLE%ROWTYPE...这的TABLE有关吧,
paranoia190 2007-01-08
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;

假设记录数大于1的时候好象有错误.
yuyong_fly 2007-01-08
  • 打赏
  • 举报
回复
很多人不看书,也不在google上搜索,直接跑来问些很简单的问题。 建议初学者还要是打好基础,多看书,多查资料。
paranoia190 2007-01-06
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;
报错.
%这有错..
我试了一下游标.能实现.
再问个问题.怎么获得游标记录数的COUNT?
tgm78 2007-01-05
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;
这个就是将table所有的字段,作为一个table的结构,放入A中
paranoia190 2007-01-05
  • 打赏
  • 举报
回复
好象没人了吗?
paranoia190 2007-01-05
  • 打赏
  • 举报
回复
没用过.又要请你帮忙了
呵呵.是不是要自己定义一个结构.
然后再接收?
icedut 2007-01-05
  • 打赏
  • 举报
回复
DECLARE
A TABLE%rowtype;
BEGIN
SELECT * INTO A FROM TABLE ...;
END;

--可以用个记录类型

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧