Oracle
 sql >> база данни >  >> RDS >> Oracle

Заявка за съхранена процедура на Oracle като неработеща с курсора

Използвате ненужни кавички:

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>

Двойните кавички могат да бъдат полезни, ако използвате динамичен SQL, но във вашата статична заявка това означава, че търсите модел, съдържащ кавички като част от низа, който да търсите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Форматът на DATE по подразбиране на Oracle

  2. Създайте списък с всички месеци от колона с дата в ORACLE SQL

  3. Функция TRANSLATE() в Oracle

  4. if (изберете брой (колона) от таблица)> 0 тогава

  5. Нуждаят ли се процедурите от отделни права за достъп върху таблиците?