Oracle %type %rowtype

select * from tt3
-- 20年后多少岁

declare
   age tt3.age%type;
   dif tt3.age%type;
begin
   select age into age from tt3 where id=1;
   dif := 20; -- 设置一个年龄差
   age:= age + dif;
   dbms_output.put_line(age);
end;
------------------------------
declare
   age tt3.age%type;
   dif tt3.age%type :=20; -- 设置一个年龄差
begin
   select age into age from tt3 where id=1;
   age:= age + dif;
   dbms_output.put_line(age);
end;
-------------------
declare
   age tt3.age%type;
   dif tt3.age%type :=20; -- 设置一个年龄差
begin
   select age+dif into age from tt3 where id=1;
   dbms_output.put_line(age);
end;
-------------------
declare
   age tt3.age%type;
   dif age%type :=21; -- 设置一个年龄差
begin
   select age+dif into age from tt3 where id=1;
   dbms_output.put_line(age);
end;



 select * from tt3 where id=1;
 
 
-- 不需要一个字段一个字段写出来 
declare
  my_user tt3%rowtype;
begin
   select * into my_user from tt3 where id=1;
   dbms_output.put_line( my_user.user_name );
end;

declare
  my_user tt3%rowtype;
  show_message varchar2(200);
begin
   select * into my_user from tt3 where id=1;
   show_message:= my_user.user_name || '住在' || my_user.city;
   dbms_output.put_line( show_message );
end;
----------
declare
  my_user tt3%rowtype;
  show_message varchar2(200);
begin
   select * into my_user from tt3 where id=1;
   show_message:= my_user.user_name || '住在' || my_user.city||',年龄:'||my_user.age||'';
   dbms_output.put_line( show_message );
end;

---------------
declare
  my_user tt3%rowtype;
  show_message varchar2(200);
  dif number :=20;
begin
   select * into my_user from tt3 where id=1;
   show_message:= my_user.user_name || '住在' || my_user.city||',年龄:'||my_user.age||'岁,二十年后'||(my_user.age+dif);
   dbms_output.put_line( show_message );
end;

 

posted @ 2020-05-20 01:43  YC_Muck  阅读(152)  评论(0编辑  收藏  举报