Oracle 控制语句

set serverout on; ----这个只能在SQL PLUS里面使用,意思是在窗口里显示服务器输出信息。
declare n number:=1; ---定义一个变量(当然可以连续定义多个变量)
        v varchar2(20):=‘百零‘;
        n2 number:=5;
begin
  dbms_output.put_line(‘这是‘||n||v||n2); ----随便在什么地方,只要是BEGIN和END之间,就可以使用DBMS_OUTPUT.PUT_LINE(output)
end;

---- if          then        end if
set serveroutput on;
declare scount number;
begin
  select count(*) into scount from student where score>80; ----into 赋值
  if scount>0 then
    dbms_output.put_line(‘有‘||scount||‘个学生成绩大于80分‘);
  end if;
end;

---- case when  then
set serveroutput on;
declare scount number;
begin
  select count(*) into scount from student where score>80;
  case scount
    when 0 then  dbms_output.put_line(‘有0个学生成绩大于80分‘);
    when 1 then  dbms_output.put_line(‘有1个学生成绩大于80分‘);
    when 2 then  dbms_output.put_line(‘有2个学生成绩大于80分‘);
    when 3 then  dbms_output.put_line(‘有3个学生成绩大于80分‘);
    when 4 then  dbms_output.put_line(‘有4个学生成绩大于80分‘);
  end case;
end;

---- loop循环(无条件,所以要ziji定义退出的条件)
set serveroutput on;
declare siid number:=1;
        sname varchar2(20);
        sscore varchar2(20);
begin
  loop
    if(siid>4) then
      exit;
    end if;
    select s.name,s.score into sname,sscore from student s where s.id=siid;
    dbms_output.put_line(siid||‘号的成绩和名字是:‘||sscore||sname);
    siid:=siid+1;
  end loop;
end;

---- while循环
set serveroutput on;
declare siid number:=1;
        sname varchar2(20);
        sscore varchar2(20);
begin
   while(siid<5) loop
    select s.name,s.score into sname,sscore from student s where s.id=siid;
    dbms_output.put_line(siid||‘号的成绩和名字是:‘||sscore||sname);
    siid:=siid+1;
  end loop;
end;

----for 循环 (参数用..链接)
set serveroutput on;
declare sname varchar2(20);
        sscore varchar2(20);
begin
   for s_id in 1..4 loop
    select s.name,s.score into sname,sscore from student s where s.id=s_id;
    dbms_output.put_line(s_id||‘号的成绩和名字是:‘||sscore||sname);
  end loop;
end;
时间: 2024-10-29 19:06:58

Oracle 控制语句的相关文章

oracle控制语句

1. 定义变量 declare n integer; //定义单个变量 //定义多个变量 DECLARE n integer; mm integer; 2. 赋值 n:=12; mm:=100; 本篇主要内容如下: 3.1  条件语句 3.2  CASE 表达式 3.3  循环 3.4  标号和GOTO 3.5  NULL 语句 介绍PL/SQL的流程控制语句, 包括如下三类: l 控制语句: IF 语句 l 循环语句: LOOP语句, EXIT语句 l 顺序语句: GOTO语句, NULL语句

[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ——通过知识共享树立个人品牌. 继上五篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不

Oracle流程控制语句

1.选择语句 1.1 IF...THEN...END IF语句 DECLARE MY_AGE INT; IF MY_AGE IS NULL THEN DBMS_OUTPUT.put_line('AGE IS NULL'); END IF; 1.2 IF...THEN ELSIF THEN....ELSE THEN... ENDIF语句,这里需要注意的是ELSIF这个,JAVA里面的写法就是 else if  这里是ELSIF,IF前面不能有空格. IF AGE <= 6 AND AGE > 0

Oracle之PL/SQL编程_流程控制语句

选择语句 1. if...then 语句 语法: if < condition_expression > then plsql_sentence end if; condition_expression:表示一个条件表达式,其值为 true 时,程序会执行 if 下面的 PL/SQL 语句: 如果其值为 false,则程序会跳过if 下面的语句而 直接执行 end if 后边的语句. plsql_sentence:condition_expression 为 true 时,要执行的语句. 2.

Oracle PL/SQL之LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LOOP语句的基本语法结构如下: [<<label_name>>] LOOP statement... END LOOP [label_name] [语法说明] <<label_name>>:LOOP结构的标签,是可选项. LOOP:LOOP循环开始标志. stat

Oracle 过程控制语句整理

分支语句/循环语句 v_case number(3) := 100; begin if 2 < 1 then dbms_output.put_line('条件成立'); elsif 4 > 3 then if 7 < 6 then dbms_output.put_line('条件不成立1'); end if; elsif 6 > 5 then dbms_output.put_line('条件不成立2'); else dbms_output.put_line('条件不成立3'); e

Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句

--多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF)BEGIN IF FALSE THEN DBMS_OUTPUT.put_line('执行if语句...'); ELSIF TRUE THEN DBMS_OUTPUT.put_line('执行ELEIF1语句...'); ELSIF TRUE THEN DBMS_OUTPUT.put_line('执行ELEIF2语句...'); ELSIF FALSE THEN DBMS

『ORACLE』 PLSQL条件控制语句(11g)

简单条件判断语句 SQL> declare 2 myage number := 10; 3 begin 4 if myage < 11 then 5 dbms_output.put_line('I am a child'); 6 end if; 7 end; 8 / I am a child PL/SQL procedure successfully completed. SQL> 2 2* myage number := 10;SQL> ch /10/14 2* myage nu

oracle 流程控制语句

DECLARE CNT PLS_INTEGER; BEGIN SELECT COUNT (*) FCOUNT INTO CNT FROM (SELECT 1 FROM USER_TAB_COLUMNS WHERE ( TABLE_NAME = '{0}' AND COLUMN_NAME = 'FCKJF') AND ROWNUM <= 1); IF CNT > 0 THEN EXECUTE IMMEDIATE 'UPDATE {0} SET FFOUNDORSTOCKCOST = FFOUND