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

Oracle dotaz uložené procedury jako nepracuje s kurzorem

Používáte zbytečné uvozovky:

SQL> declare
  2      mat_id        varchar2(100) := 'X';
  3      searchString  varchar2(100) := ''''||mat_id||'%''';
  4      searchString2 varchar2(100) := ''||mat_id||'%';
  5      num number;
  6  begin
  7      select count(1)
  8      into num
  9      from dual
 10      where 'X' like searchString;
 11      --
 12      dbms_output.put_line('1. num= ' || num);
 13      --
 14      select count(1)
 15      into num
 16      from dual
 17      where 'X' like searchString2;
 18      --
 19      dbms_output.put_line('2. num= ' || num);
 20  end;
 21  /
1. num= 0
2. num= 1

PL/SQL procedure successfully completed.

SQL>

Vaše dvojité uvozovky by mohly být užitečné, pokud byste použili dynamický SQL, ale ve vašem statickém dotazu to znamená, že hledáte vzor obsahující uvozovky jako součást řetězce, který chcete hledat.



  1. Jak implementovat Select For Update v EF Core

  2. Import CSV aktualizuje pouze jeden sloupec v tabulce

  3. Chyba při ukládání @Lob pomocí hibernace java mysql

  4. Kompozitní primární klíč ve výkonu v MySQL