%type 和 %rowtype有什么不同

freeclick 2002-08-19 02:26:19
%type 和 %rowtype有什么不同
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qfsb_p 2002-08-19
  • 打赏
  • 举报
回复
很简单,如果你关心的只是表的某个字段,那用%type,如果你关心的是表属性,那么用%rowtype,此外在PLSQL中,这是个好习惯!
Jugular_Phoenix 2002-08-19
  • 打赏
  • 举报
回复
%type保证内部变量保持与给该变量提供值的数据库字段有

相等的数据类型(有相同的格式类型和长度),其语法要求:

在%type前面有表名及字段名,用一个圆点将表名和字段名

隔开;%rowtype有类似的功能,不同的是:它在内存中为

相应表的每一个字段都建立一个内部变量,其语法要求:

在%rowtype前加表名。其区别为:%type仅仅是一个变量

而%rowtype是一组变量的集合,例如:

假设有一块表emp有两个字段department_name和salary,则

declare
dept emp.department_name%type; --定义一个变量
emp_row emp%rowtype; --定义一组(2个)变量
begin
...
end;
bzszp 2002-08-19
  • 打赏
  • 举报
回复
sorry,漏了%type;

t_col tb1.col1%type;//等价于声明t_col为number 型的
bzszp 2002-08-19
  • 打赏
  • 举报
回复
比如:
表tb1(col1 number ,col2 varchar2(10) )
t_col tb1.col1;//声明为number 型的
t_col tb1%rowtype//可以存放一行,包括col1 number ,col2 varchar2(10)

17,377

社区成员

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

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