Oracle PL/SQL 入门语句

-- drop table tb_demo;
--create table tb_demo (
--       id number(6),
--       name varchar2(20),
--       birthday date,
--       email varchar2(50) unique
--);
-- insert into tb_demo(id, name, birthday, email) values (1, 'nnn', to_date('2004-12-06 03:23:00','YYYY-MM-DD HH24:MI:SS'), '[email protected]');

-- %rowtype
declare
v_rec tb_demo%rowtype;
begin
  select t.id, t.name, t.birthday, t.email into v_rec from tb_demo t where id=1;
  dbms_output.put_line(v_rec.email || v_rec.name);
end;


-- varray数组
declare
type varr is varray(3) of varchar2(10);
strs varr:=varr('aaa','bbb','ccc');
begin
dbms_output.put_line(strs(1));
dbms_output.put_line(strs(2));
dbms_output.put_line(strs(3));
end;

-- table 可变长数组
declare
type vartab is table of tb_demo%rowtype
index by binary_integer;
v_list vartab;
begin
  select t.id, t.email into v_list(1).id, v_list(10).email from tb_demo t where id=1;
    
    dbms_output.put_line(v_list(1).id);
    dbms_output.put_line(v_list(10).email);
end;


-- for
begin
  for i in 3 .. 9 loop
    dbms_output.put_line(i);
  end loop;
end;

猜你喜欢

转载自charmer21.iteye.com/blog/1901567