Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle - Verwendung der Bindevariable in der LIKE-Klausel des dynamischen Cursors

Dies ist eine subtile. Es ist oft nützlich, mit einer statischen Anweisung zu beginnen, diese richtig zu machen und sie dann in dynamisches SQL umzuwandeln.

In nicht-dynamischem SQL könnten wir es so machen:

 SELECT column1, column2 
 FROM my_table 
 WHERE column1 LIKE '%' || local_var || '%'; 

Das dynamische Äquivalent ist

query := 'SELECT column1, column2 
          FROM my_table 
          WHERE column1 LIKE ''%''||:bv1||''%'' ';