/ / oracle dane trymowania w tabeli col - sql, oracle

dane wykończenia oracle w tabeli col - sql, oracle

Wiem, że Oracle ma TRIM i chciałbym go użyć do przycięcia białych znaków z pola w jednym z moich tabel.

Takie jak:

update THIRD_PARTY_ADRS_INFO_TEMP
set HOUSE_NO = TRIM(HOUSE_NO);

po prostu zawiesza się, gdy próbuję uruchomić go w SQL Developer.

Próbowałem też TRIM(" " from HOUSE_NO) i REPLACE(HOUSE_NO," ","") wszystko z tym samym efektem

Wygląda na to, że powinno być naprawdę proste ...

pomysły?

Odpowiedzi:

3 dla odpowiedzi № 1

Jeśli to "zawiesza się", to sugeruje, że twojesesja jest blokowana przez inną sesję. Próbujesz zaktualizować każdy wiersz w tabeli; jeśli inna sesja zablokowała wiersz w tej samej tabeli i jeszcze nie została zatwierdzona, twoja sesja będzie musiała poczekać.


2 dla odpowiedzi nr 2

Cieszę się, że rozwiązałeś blokadę rzędu. Jeśli chodzi o usuwanie wszelkiego rodzaju pustych przestrzeni, możesz również sprawdzić REGEXP_REPLACE, jeśli korzystasz z najnowszej wersji Oracle. Jest nieco wolniejszy od przycinania, ale jeśli masz do czynienia z wieloma możliwymi niedrukowalnymi postaciami, warto się przyjrzeć.

na przykład

select regexp_replace(x,"[[:space:]|[:blank:]|[:cntrl:]]*$","")
from (select "ad f cde  "||chr(10)||chr(13)||chr(8)||" " as x from dual);

1 dla odpowiedzi nr 3

Ile rzędów w twoim stole? Możesz spróbować po prostu wybrać raczej niż aktualizację (na przykład z rownum <10) tylko po to, aby upewnić się, że działa.