sql >> Databasteknik >  >> RDS >> PostgreSQL

Lägger till en ny kolumn i en tillfällig tabell

Du vill ha ÄNDRA TABELL ... LÄGG TILL KOLUMN följt av en UPPDATERING .

Jag sa först ÄNDRA TABELL ... LÄGG TILL KOLUMN ... ANVÄNDER men det var fel på två punkter. LÄGG TILL KOLUMN tar en DEFAULT inte USING - och du kan inte göra det i ett pass eftersom varken en DEFAULT uttryck eller en USING uttryck kanske inte refererar till andra kolumner.

Så du måste göra:

 ALTER TABLE tablename ADD COLUMN colname varchar;
 UPDATE tablename SET colname = ( CASE WHEN othercol < 0 THEN 'Credit' ELSE 'Debit' END );

Fundera noga på om noll ska vara "Debet" eller "Kredit" och justera CASE i enlighet med detta.

För avrundning, använd round(amount,2) . Det finns inte tillräckligt med detaljer i din fråga för att jag ska vara säker på hur; förmodligen genom UPPDATERING ing den tillfälliga tabellen med UPPDATERA tabellen SET-belopp =rund(amount,2) men utan sammanhanget är det svårt att veta om det stämmer. Det påståendet kastar oåterkalleligt bort information så det bör endast användas på en kopia av data.




  1. HAProxy Connections vs MySQL Connections - Vad du bör veta

  2. Hur hittar man det kortaste avståndet från punkten till polygonen?

  3. Uppdatera kundvagn - mysql-tabelluppdatering - while loop

  4. Mysql InnoDB prestandaoptimering och indexering