sql >> Database >  >> RDS >> Oracle

Oracle opgeslagen procedure-query alsof het niet werkt met cursor

U gebruikt onnodige aanhalingstekens:

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>

Uw dubbele aanhalingstekens kunnen handig zijn als u een dynamische SQL zou gebruiken, maar in uw statische query betekent dit dat u op zoek bent naar een patroon met aanhalingstekens als onderdeel van de tekenreeks waarnaar moet worden gezocht.



  1. Hoe voeg ik een foto toe aan de mysql-database met behulp van php?

  2. Gebruik OBJECTPROPERTY() om erachter te komen of een object een CHECK-beperking is in SQL Server

  3. Wat is de Option=N in de MySQL ODBC-verbindingsreeks?

  4. De min vinden in een kolom waar twee andere kolommen nul zijn