sql >> Database teknologi >  >> RDS >> Oracle

Oracle JDBC PreparedStatement Ignorer efterfølgende mellemrum

Måske, givet omstændighederne, og hvis din version af Oracle er ny nok, kan du overveje at tilføje en virtuel kolonne til din tabel, der indeholder de korrekte værdi?

ALTER TABLE yfs_organization ADD (
  ORGANIZATION_KEY_FIXED VARCHAR(80)
    GENERATED ALWAYS AS (TRIM(ORGANIZATION_KEY)) VIRTUAL
  );

Så i din kode vil den eneste ændring være at bruge ORGANIZATION_KEY_FIXED for at forespørge i DB:

SELECT ID,ORGANIZATION_KEY_FIXED
  FROM yfs_organization
  WHERE ORGANIZATION_KEY_FIXED='testFTP_receipt521'

(prøv det på http://sqlfiddle.com/#!4/8251d/1 a> )

Dette vil muligvis undgå at sprede den kode, der kræves for at omgå fejlen, rundt i dit program. Og kan lette overgangen, når den er rettet.

Som en ekstra fordel kan du tilføje indeks på virtuelle kolonner, hvis du også har brug for det.



  1. måder at undgå globale temp-tabeller i oracle

  2. Hvordan installeres Python MySQLdb-modulet ved hjælp af pip?

  3. Hvordan kan jeg udføre en Oracle-funktion fra et LINQ-udtryk i Entity Framework 4?

  4. Sådan optimerer du en SQL-opdatering, der kører på en Oracle-tabel med 700 millioner rækker