存储过程,查询结果赋值给定义变量

将select查询的结果存入到定义的变量中

declare
  V_tno sutdent.stuno%TYPE;  --创建变量,存储学生学号
  V_tnsex varchar2(6);  --创建变量,存储学生性别
  V_tname varchar2(30);  --创建变量,存储学生姓名
begin
  /**临时表*/
  for cur_ss in (select t.* from student t) loop
    V_tno  := null;
    V_tname := null;

    /**给V_tno赋值。即 V_tno = max(stuno)+1  */
    select max(stuno)+1 into V_tno from student ;
     /**也可以将多个列存储多个变量中,但必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
  */
    select stusex,stuname into V_tnsex, V_tname from student where stuname is not null;
    --V_tname := LPAD(ldgx.SEQ_CEZ008.NEXTVAL, 16, '0');

    ......
  end loop;
end

 

你可能感兴趣的:(SQL,Oracle)