sql >> Databáze >  >> RDS >> PostgreSQL

Přidání nového sloupce do dočasné tabulky

Chcete ALTER TABLE ... PŘIDAT SLOUPEK následuje UPDATE .

Původně jsem řekl ALTER TABLE ... PŘIDAT SLOUPEK ... POMOCÍ ale to bylo špatně ve dvou ohledech. PŘIDAT SLOUPEC má hodnotu VÝCHOZÍ ne POUŽÍVÁNÍ - a nemůžete to udělat v jednom průchodu, protože ani DEFAULT výraz ani USING výraz nemusí odkazovat na jiné sloupce.

Takže musíte udělat:

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

Dobře si rozmyslete, zda nula má být 'Debet' nebo 'Credit' a upravte CASE podle toho.

Pro zaokrouhlování použijte round(amount,2) . Ve vaší otázce není dost podrobností, abych si byl jistý jak; pravděpodobně do UPDATE přechod do dočasné tabulky pomocí AKTUALIZOVAT tabulku SET množství =round(částka,2) ale bez kontextu je těžké vědět, jestli je to správné. Toto prohlášení nenávratně zahodí informace takže by měl být použit pouze na kopii dat.




  1. Jaké je nejlepší kódování znaků pro japonský jazyk pro zobrazení DB, php a html?

  2. Levenshtein:MySQL + PHP

  3. server WAMP. Velmi velký datový adresář v MySQL?

  4. Jak uložit databázi jako šablonu v Accessu 2016