sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL Injection Block med DBMS_ASSERT

query_string := 'SELECT '||dbms_assert.qualified_sql_name(trim(from_schema||'.'||from_table||'.'||return_field))|| 
                   ' FROM '||dbms_assert.schema_name(trim(from_schema))||
                        '.'||dbms_assert.sql_object_name(trim(from_table))||  
                  ' WHERE '||dbms_assert.qualified_sql_name(from_schema||'.'||from_table||'.'||key_field) || ' = '||key_value;



 EXECUTE IMMEDIATE query_string into return_result;

Från Dokument...

  • ENQUOTE_LITERAL – Citerar en bokstavlig sträng
  • ENQUOTE_NAME – Omger ett namn i dubbla citattecken
  • NOOP - Returnerar värdet utan någon kontroll
  • QUALIFIED_SQL_NAME – Verifierar att indatasträngen är ett kvalificerat SQL-namn
  • SCHEMA_NAME - Funktion Verifierar att indatasträngen är ett befintligt schemanamn
  • SIMPLE_SQL_NAME - Verifierar att indatasträngen är ett enkelt SQL-namn
  • SQL_OBJECT_NAME - Verifierar att indataparametersträngen är en kvalificerad SQL-identifierare för ett befintligt SQL-objekt



  1. Hur listar man aktiva/öppna anslutningar i Oracle?

  2. Uppdateringar av PostgreSQL-testverktyg med benchmark-arkiv

  3. Fel vid användning förutom i en fråga

  4. ändra storleken på datatypen i sql