zoukankan      html  css  js  c++  java
  • plsql

    plsql的结构 

    declare
     变量声明部分
    begin
     执行部分
    exception
     异常处理部分
    End
    *:declare 和 exception部分是可选的
    默认:调用一个匿名块/存储过程后,只执行不输出
    学习调试时: set serveroutput on
    PL/sql中变量的定义

    变量 的定义有2种格式

    变量名 变量类型 [约束] default 默认值

    变量名 变量类型 [约束] [:=初始值]
    存储过程创建语法
    create or replace procedure 名称[(参数)]
    authid current_user|definer --以定义者还是调用者的身份运行
    is[不要加declare]
    变量声明部分
    begin
    主体部分
    exception
    异常部分
    end;
     
     
    注意:elsif写法
    BEGIN
      FOR  v_temp  in  1..100000  LOOP
      INSERT  INTO  t_testseq
       values(seq_value.nextval,'abcde');
      END LOOP;
    END;
    declare
    a number default 9;
    begin
    a:=a+1;
    dbms_output.put_line(a);
    end;
    --求两个数最大值
    declare 
    a number default 10;
    b number default 20;
    begin
      if a>b then
        dbms_output.put_line('最大值'||a);
      else
        dbms_output.put_line('最大值'||b);
      end if;
    end;
    --求成绩0-60不及格 60-70合格 70-80 良好80-100优秀
    declare
    grade number :=85;
    begin
      if grade>=0 and grade<60 then
        dbms_output.put_line('不及格'||grade);
      elsif grade>=60 and grade<70 then
        dbms_output.put_line('你及格'||grade);
        elsif grade>=70 and grade<80 then
        dbms_output.put_line('你是良好'||grade);
         elsif grade>=80 and grade<=100 then
        dbms_output.put_line('你是优秀'||grade); 
      end if;
      end;
    --打印1-10
    declare 
    i number :=1;
    begin
      while i<=10 loop
         dbms_output.put_line(i);
         i :=i+1;
        end loop;
        end;
    --for求1-10的和
    declare 
    ssum number :=0;
    begin
      for i in 1..10 loop
        ssum:=ssum+i;
      end loop;
      dbms_output.put_line(ssum);
     end;
    --逆序打印1-10
    begin 
      for i in reverse 1..10 loop
        dbms_output.put_line(i);
         end loop;
         end;
    --loop循环
    declare 
    ssum number default 0;
    i number :=1;
    begin
      loop
        ssum :=ssum+i;
        i:=i+1;
        exit when i>100;
        end loop;
      dbms_output.put_line(ssum);
     end; 
    --打印helloword
    create procedure hello
    is
    begin
      dbms_output.put_line('helloword');
    end;
    --有参 求两个数最大值
    create procedure getmax(a number,b number)
    is
    begin
      if a>b then 
         dbms_output.put_line(a);
         else
            dbms_output.put_line(b);
      end if;
    end;
      
    

      

  • 相关阅读:
    Windows Server 2012配置开机启动项
    Windows Server 2019 SSH Server
    NOIP2017 senior A 模拟赛 7.7 T1 棋盘
    Noip 2015 senior 复赛 Day2 子串
    Noip 2015 senior复赛 题解
    Noip 2014 senior Day2 解方程(equation)
    Noip 2014 senior Day2 寻找道路(road)
    Noip 2014 senior Day2 无线网络发射器选址(wireless)
    Noip2014senior复赛 飞扬的小鸟
    Noip 2014 senior 复赛 联合权值(link)
  • 原文地址:https://www.cnblogs.com/zqy6666/p/12596399.html
Copyright © 2011-2022 走看看