sql >> Databasteknik >  >> RDS >> Oracle

skickar tabell- och kolumnnamn dynamiskt med bindningsvariabler

Tabell- och kolumnnamn kan inte skickas som bindningsvariabler, nej. Hela poängen med bindningsvariabler är att Oracle kan generera en frågeplan en gång för satsen och sedan exekvera den många gånger med olika bindningsvariabelvärden. Om optimeraren inte vet vilken tabell som används eller vilka kolumner som väljs och filtreras på, kan den inte generera en frågeplan.

Om din oro är relaterad till SQL-injektionsattacker och antar att dynamisk SQL faktiskt är nödvändig (för det mesta innebär behovet av att tillgripa dynamisk SQL problem med datamodellen), kan du använda DBMS_ASSERT paket för att verifiera att tabellnamnen och kolumnnamnen inte innehåller inbäddad SQL.



  1. Arbeta med ODBC-data i DbVisualizer

  2. Tuning Input/Output (I/O) operationer för PostgreSQL

  3. Fixa "INSERT har fler uttryck än målkolumner" i PostgreSQL

  4. Oracle Big Data SQL