Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zapytanie dotyczące procedury składowanej Oracle, takie jak brak pracy z kursorem

Używasz niepotrzebnych cudzysłowów:

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>

Twoje podwójne cudzysłowy mogą być przydatne, jeśli chcesz użyć dynamicznego SQL, ale w zapytaniu statycznym oznacza to, że szukasz wzorca zawierającego cudzysłowy jako część szukanego ciągu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa GROUP BY?

  2. Jak stworzyć dynamiczny sql dla z sys_refcursor w oracle?

  3. Excel VBA - Połączenie z bazą danych Oracle - Wykonywanie zapytania aktualizującego nie działa

  4. Zliczanie liczby wystąpień znaku w Oracle SQL

  5. Dlaczego podczas tworzenia tego prostego przykładu widoku zmaterializowanego pojawia się błąd ORA-12054?