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

PostgreSQL dotaz pro přejmenování a změnu typu sloupce pomocí jediného dotazu

V PostgreSQL ALTER TABLE může provést řadu operací. Takže:

ALTER TABLE <tablename> RENAME <oldcolumn> TO <newcolumn>;
ALTER TABLE <tablename> ALTER COLUMN <columnname> TYPE <newtype>;

je stejný jako

ALTER TABLE <tablename> 
  ALTER COLUMN <columnname> TYPE <newtype>
  RENAME <oldcolumn> TO <newcolumn>;

Nicméně... proč? IIRC přejmenování nezpůsobí prohledávání celé tabulky, takže neexistuje žádná výhoda oproti pouhému provádění dvou příkazů samostatně v rámci jedné transakce. Jaký problém se tím vlastně snažíte vyřešit?



  1. Jak vytvořit stromovou tabulku bez cyklického vztahu?

  2. Index se neaplikuje na indexované zobrazení

  3. Jak vypsat všechny tabulky v Oracle

  4. Chyba při použití shody vzorů, která není podobná žádné v PostgreSQL