码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 控制语句

时间:2017-06-12 00:49:59      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:number   赋值   语句   out   set   char   成绩   意思   服务   

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;

 

Oracle 控制语句

标签:number   赋值   语句   out   set   char   成绩   意思   服务   

原文地址:http://www.cnblogs.com/AnswerTheQuestion/p/6986792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!