%type 和%rowtype 的区别!

还是通过看一个例子来理解吧:

 

declare  
          i   number;     --这里的number是类型  
          u_name   fnd_user.user_name%type;    
                  --这里的u_name定义将用来存放表fnd_user中选出的user_name,  
                  --那就将该变量定义成fnd_user表中user_name一样的类型.  
          cursor   c   is   select   *   from   fnd_user;  
          u_cur   fnd_user%rowtype  
                  --将u_cur定义成和fnd_user表中一行的数据类型一直以接收该行类型  
  begin  
          select   a.user_name   into   u_name   from   fnd_user   a   where   a.user_id=1;  
                  --注意上面的用法  
          open   c;  
          loop          
                  fetch   c   into   u_cur;     --注意这里的用法  
                  exit   when   c%notfound;  
                      --在这里做一些其他的操作;  
          end   loop;  
          close   c;  
  end;

你可能感兴趣的:(数据库开发)