sql >> Databáze >  >> RDS >> Oracle

pomocí EXECUTE IMMEDIATE s více stejnými argumenty vazby

Oracle má „zvláštní“ chování:Opakované zástupné názvy v dynamickém SQL Prohlášení

V anonymním bloku nebo příkazu CALL není nutné opakovat hodnoty vazby, pokud jsou jména stejná. Například tento Anonymní blok funguje:

DECLARE
  a NUMBER := 4;
  b NUMBER := 7;
  plsql_block VARCHAR2(100);
BEGIN
  plsql_block := 'BEGIN calc_stats(:x, :x, :y, :x); END;';
  EXECUTE IMMEDIATE plsql_block USING a, b;  -- calc_stats(a, a, b, a)
END;
/

Ale tento EXECUTE IMMEDIATE plsql_block USING a, b; nefunguje uvnitř procedury .



  1. Vytvoření pole z tabulky MySQL

  2. php Mysql Seskupování a řazení uživatelských zpráv dohromady

  3. Jak vložit velké množství dat do databáze sqlite v systému Android

  4. PHP a MySQL včetně tlačítka Delete na stejné stránce