sql >> Database teknologi >  >> RDS >> Oracle

Vælg en enkelt kolonneværdi og gem den i variabel oracle sql

Hvis du vil bruge rownum og order by du har at placere ordren efter i en underforespørgsel. Der er ingen anden måde at garantere, at du får den korrekte værdi.

Det er også god praksis at håndtere muligheden for, at der muligvis ikke er et id der matcher din forespørgsel. Jeg har tilføjet en ekstra begin... end; blok for at håndtere dette.

declare
   v_id a.id%type;
begin

   begin
      select id into v_id 
        from ( select id
                 from a 
                 where name = 'test' 
                 order by id desc )
       where rownum < 2 
             ;
    exception when no_data_found then
      v_id := null;
    end;

   dbms_output.put_line(v_id);
   doSomething(v_id);

end;
/

Som @raukh bemærkede (mens jeg skrev dette!) er problemet print , som skal være dbms_output.put_line()



  1. Tilladelse nægtet til forholdet

  2. PHP kan ikke oprette forbindelse til mysql gennem python

  3. MySql lagrede procedurer:Hvordan vælger man fra proceduretabel?

  4. Sådan udføres funktion i Oracle med parametre