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.