面试题首页 > Oracle面试题

PL/SQL面试题

001PL/SQL语法结构?

declare
    --声明变量
    变量 数据类型 := 初始值;
    变量 数据类型 := &提示字段;--自定义输入数据
    变量 表名.列名%type := 初始值;--使用某表的列定义数据类型
    变量 表名%type := 初始值;--将整个表的数据拿到自身,需要使用其中的数据类型时,表名.列名调用即可。
begin
    select...--sql取数语句
    into...--对应变量
    dbms_output.put_line();--数据输出格式
end;

002PL/SQL系列之if-esle语句结构?

declare
   --声明部分
begin
   --逻辑/操作部分
   select...
   
   if 条件1 and/or  条件2 then 
     操作1;
   elsif 条件3 and/OR 条件4 then 
     操作2;
   ...
   else
     其他操作;
   end if;   
end;

003PL/SQL系列之case-when语法结构

declare
   --声明部分
begin
   --逻辑/操作部分
   case
     when 条件1 and/or 条件2 then 
       操作1;
     when 条件3 and/OR 条件4 then 
       操作2;
     ...
     else
       其他操作;
   end case; 
end;

004PL/SQL系列之loop语法结构

declare
  --声明部分
begin
  --逻辑部分
  loop
    --循环体
    
    if 退出循环的条件 then
      exit;
    end if;   
    
    --退出循环的简写
    exit when 退出循环的条件;   
  end loop;
end;

005PL/SQL系列之while语法结构

declare
    --声明部分
begin
    while 进入循环的条件 loop
        --循环体
    endloop;
end;

006PL/SQL系列之for语法结构

declare
--声明部分
begin
    --逻辑部分
    for 循环变量 in 循环下限 .. 循环上限 loop
        --循环体
    endloop;
end;

007PL/SQL系列之显示游标

--声明显示游标的语法结构
declare
	--声明部分
  cursor 游标名 is
  select查询结果集; 
begin
  --使用显示游标(其实就是 使用这个游标中的数据):结合循环,依次获取到游标指向的结果集的每一行
  for 循环变量 in 游标名 loop
    --循环体
    --在循环体内可以依次使用结果集的每一行数据,使用的方式就是:循环变量.游标指向的结果集的列名
  end loop;
end;
--开发规范:游标名以 c_ 开头

008PL/SQL系列之存储过程

create [or replace]  procedure 存储过程名[(参数1 [参数类型] 数据类型[,参数2 [参数类型] 数据类型,...])]
is/* / as*/
  --声明/定义部分
begin
  --操作/逻辑部分
end;
--开发规范:存储过程名以 sp_ 开头

009PL/SQL系列之自定义函数

CREATE OR REPLACE FUNCTION FUN_函数名(参数1 [IN|OUT|IN OUT] 数据类型,参数2 [IN|OUT|IN OUT] 数据类型……)
  RETURN  返回结果的数据类型 
IS  /*|AS*/
BEGIN 
  自定义函数的的计算逻辑。
  RETURN  计算结果 ;   -- 函数的执行体中一定要包含 返回值 
END ;

目录

返回顶部