sql >> Databáze >  >> RDS >> Oracle

Vyberte hodnotu jednoho sloupce a uložte ji do proměnné Oracle SQL

Pokud chcete použít rownum a order by máte zadat objednávku do dílčího dotazu. Neexistuje žádný jiný způsob, jak zaručit, že získáte správnou hodnotu.

Je také dobré se vypořádat s možností, že nemusí existovat id který odpovídá vašemu dotazu. Přidal jsem další begin... end; zablokujte, abyste se s tím vypořádali.

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;
/

Jak poznamenal @raukh (když jsem to psal!), problém je print , což by mělo být dbms_output.put_line()



  1. Zobrazit využití procesoru Oracle pro relace v procentech

  2. Jak odstranit duplicitní položky v MySQL s datovou sadou 20 milionů řádků?

  3. Načtěte xml do tabulky mysql s prvkem

  4. Chyba dotazu s nejednoznačným názvem sloupce v SQL