PL/SQL %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 @ 2018-03-26 10:21  会玩代码的摄影师  阅读(187)  评论(0编辑  收藏  举报