plsql

Posted xiren88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
  

  

以上是关于plsql的主要内容,如果未能解决你的问题,请参考以下文章

SQL记录-PLSQL-DBMS输出

需要 Oracle PLSQL 函数的输出帮助

在 Oracle PLSQL 函数的输出过程中出现逗号问题

如何在 SQL Developer 上远程调试 PLSQL 代码?

循环遍历多个表的 plsql 代码

使用 PLSQL 更新 Excel 单元格