Oracle
 sql >> Base de données >  >> RDS >> Oracle

Bloc d'injection Oracle SQL avec 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;

Depuis Docs..

  • ENQUOTE_LITERAL - Entre guillemets un littéral de chaîne
  • ENQUOTE_NAME - Encadre un nom entre guillemets doubles
  • NOOP - Renvoie la valeur sans aucune vérification
  • QUALIFIED_SQL_NAME - Vérifie que la chaîne d'entrée est un nom SQL qualifié
  • SCHEMA_NAME - Fonction vérifie que la chaîne d'entrée est un nom de schéma existant
  • SIMPLE_SQL_NAME - Vérifie que la chaîne d'entrée est un nom SQL simple
  • SQL_OBJECT_NAME - Vérifie que la chaîne de paramètre d'entrée est un identifiant SQL qualifié d'un objet SQL existant