关于%rowtype的问题

[复制链接]
查看11 | 回复3 | 2008-1-21 16:50:24 | 显示全部楼层 |阅读模式
DECLARE
aa A%rowtype;
begin
aa.a1 = 1;
aa.a2 = 2;
aa.a3 = 3;
......
end;
假如A表中有80个字段A1-A80,这样赋值的话,要写80行,感觉有些麻烦,有没有办法做一个循环来解决这个问题?请高人指点一下(通常A表中的字段时没有循环规律的,这里只是举个例子)
回复

使用道具 举报

千问 | 2008-1-21 16:50:24 | 显示全部楼层
没有这种写法
但可以写成
select 1,2,3,..... into aa from dual;
当然,select list中的个数、顺序必须和A表的字段个数、顺序一致。
呵呵,80个字段,应该考虑一下表结构的设计是否合理喔
回复

使用道具 举报

千问 | 2008-1-21 16:50:24 | 显示全部楼层
SELECT table_name||'.'||column_name||' := '||to_char(ROWNUM)||';'
FROM User_Tab_Cols
WHERE table_name = '***' ORDER BY column_id
这样生成赋值的语句,在粘出来
回复

使用道具 举报

千问 | 2008-1-21 16:50:24 | 显示全部楼层
谢谢,用User_Tab_Cols表 问题就解决了 thank
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行