• oracle--知识点汇总1


    
    

      

    同义词:
    -- e是scott.emp表的临时别名
    select e.*  from (select * from scott.emp) e;
    
    
    --创建私有同义词
    create synonym myemp for scott.emp;
    select * from system.myemp;
    
    --创建公有同义词
    create public synonym pub_emp for scott.emp;
    
    --使用公有同义词
    select * from pub_emp;
    

      

    PLSQL:
    
    declare
    --声明
    name varchar2(20);
    age number:=20;--声明的同时进行初始化
    sex varchar2(20);
    birthday date;--日期类型
    begin
    --变量的赋值语句
    name:='老白';
    age:='&age';
    sex:='&sex';
    --将字符串2013-09-08,按照yyyy-mm-dd格式转成date类型
    birthday:=to_date('2013-09-08','yyyy-mm-dd');
    dbms_output.put_line('姓名:'||name||';年龄:'||age||';性别:'||sex);
    --将date类型的birthday变量,按yyyy-mm-dd 转成字符串输出
    dbms_output.put_line('出生日期:'||to_char(birthday,'yyyy-mm-dd'));
    end;
    

      

    IF:
    
    --多条件选择
    declare
     age number;
    begin
     age:='&a';  --输入年龄
      if (age<12) then
      dbms_output.put_line('小屁孩');
      elsif (age<18) then
      dbms_output.put_line('小骚年');
       else 
      dbms_output.put_line('中老年');
       end if;  
    end;
    
    -- 嵌套的if
    declare
      isman varchar2(20);
      hobby varchar2(20);  
    begin
     isman:='&isman';
     if(isman='男') then
       hobby:='&hobby';
       if(hobby='篮球') then
         dbms_output.put_line('男生都喜欢打篮球');
       else
          dbms_output.put_line('作为男生,你应该去打篮球');
       end if;
      else 
         dbms_output.put_line('我不了解女生!');
     end if;
     end;
     
    

      

    CASE:
    
     --case 用法1--多条件判断
    --相当于  elsif 或switch
    
    declare
     season varchar2(20);
    begin
     season := '&season';
     
     case season 
       when '春天' then 
         dbms_output.put_line('春暖花开');
       when '夏天'  then
         dbms_output.put_line('炎炎夏日');
       when '秋天'  then
         dbms_output.put_line('要穿秋裤');
       when '冬天'  then
         dbms_output.put_line('白雪皑皑');     
       else
         dbms_output.put_line('输入有误!');
       end case; 
    end;
    
    --case 用法2--值的转换输出
    create table sex
    (
      sexid number primary key,
      sexvalue varchar2(10) not null unique
    )  
    
    insert into sex values('1','10');
    insert into sex values('2','20');
    insert into sex values('3','30');
    insert into sex values('4','40');
    
    
    --对指定的字段进行case转义。必须等值,且类型一致。
    select sexid, 
    case  sexvalue
          when '10' then '男性'
          when '20' then '女性'
          when '30' then '未知' 
          else '未知性别'
      end as 性别
     from sex;
    

      

    LOOP:
    
    -- loop 循环
    declare
      i number:=1;
     begin
        loop 
          dbms_output.put_line('第'||i||'行');
          i:=i+1;    
          exit when i=10; -- 相当于break
        end loop;  
     end;
     
     
     -- for循环.计算1+3+...+97的和。 
     declare
      i number;
      s number:=0;
     begin
       for i in  1..49  loop
        s:=s+2*i-1;
       end loop;
       dbms_output.put_line('sum='||s); 
     end;
     
    
     /*使用while循环画出    
       *
      * *
     * * *  
     
     * 
     * * 
     * * *
      */
      declare
        n number;
        i number:=1;
        j number:=1;
      begin
        n:='&请输入n';
        
        while(i<=n) loop
           --打空格
           while(j<=n-i) loop
           dbms_output.put(' ');            
           j:=j+1;       
           end loop;
           j:=1;
           --打*
           while(j<=i) loop
           dbms_output.put('* ');            
           j:=j+1;       
           end loop;
           dbms_output.put_line('');
           j:=1;--回到第1列
           i:=i+1;
        end loop;
      end;
      
      
     
     
     
    

      

  • 相关阅读:
    【洛谷4548】[CTSC2006] 歌唱王国(概率生成函数)
    概率生成函数初探
    【AT4432】[ARC103B] Robot Arms(构造)
    【AT4163】[ARC099D] Eating Symbols Hard(哈希)
    【洛谷5398】[Ynoi2018] GOSICK(莫队二次离线)
    【AT4353】[ARC101D] Robots and Exits(树状数组优化DP)
    【AT5161】[AGC037D] Sorting a Grid(二分图匹配)
    【CF573E】Bear and Bowling(分块维护凸壳)
    【CF611G】New Year and Cake(计算几何)
    【洛谷6791】[SNOI2020] 取石子(斐波那契博弈+数位DP)
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6237446.html
Copyright © 2020-2023  润新知