技术开发 频道

Oracle入门学习PL/SQL基础

  逻辑比较:

  控制语句:

  条件

  1. IF .. THEN ..ELSE 语句:

  1) IF .. THEN

  …;

  END IF;

  2) IF ... THEN

  …;

  ELSE

  …

  END IF;

  3) IF ... THEN

  …;

  ELSIF … THEN

  …;

  ELSE

  …;

  END IF;

  2. CASE 语句

  CASE 变量

  WHEN 值1 THEN

  …;

  WHEN 值2 THEN

  …;

  ELSE …;

  END CASE;

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

  CASE

  WHEN 条件1 THEN

  …;

  ELSE

  …;

  END CASE;

  循环:

  1. 无条件循环:

  declare

  l_loops number:=0;

  begin

  loop

  if l_loops >4 then

  exit;

  end if;

  dbms_output.put_line(‘Looped ‘ || l_loops || ‘times’);

  l_loops := l_loops + 1;

  end loop;

  end;

  /

  declare

  l_loops number:=0;

  begin

  loop

  exit when l_loops > 4;

  dbms_output.pub_line(‘Looped ‘ || l_loops || ‘times’);

  l_loops : = l_loops: + 1;

  end loop;

  end;

  /

  2. FOR循环

  Declare

  Begin

  For I in 1.. 4 loop

  Dbms_output.put_line(I);

  End loop;

  End;

  /

  降序:for I in reverse 4.. 1 loop

  3. WHILE 循环

  declare

  l_loops number:=0;

  begin

  while l_loops < 5 loop

  dbms_output.put_line(‘Looped ‘ || l_loops || ‘times’);

  l_loops := l_loops + 1;

  end loop;

  end;

  goto 语句

  异常和游标管理

  游标:

  用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。

  分类:

  静态游标:

  分为显示游标和隐示游标。

  REF游标:

  是一种引用类型,类似于指针。

  显示游标:

  CURSOR 游标名 ( 参数 ) [返回值类型] IS

  Select 语句

  生命周期:

  1. 打开游标(OPEN): 解析,绑定。。。

  2. 从游标中获取记录(FETCH INTO):执行查询,返回结果集

  3. 关闭游标(CLOSE)

  隐示游标:

  不用明确建立游标变量,分两种:

  1. 在PL/SQL中使用DML语言,使用ORACLE提供的名为SQL的隐示游标

  2. CURSOR FOR LOOP

  1举例:

  declare

  begin

  update departments set department_name=department_name

  where 1=2;

  dbms_output.pub_line(‘update ‘|| sql%rowcount ||’ records’);

  end;

  /

  2举例:

  declare

  begin

  for my_cursor in ( select department_name, department_id from departments)

  loop

  dbms_output.pub_line(my_cursor.department_id || ‘ : ’ my_cursor.department_name);

  end;

  /

  游标属性:

  %FOUND

  %NOTFOUND

  %ROWCOUNT

  %ISOPEN

  REF游标

 

0
相关文章