sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL-forespørgsel for at omdøbe og ændre kolonnetype med en enkelt forespørgsel

I PostgreSQL, ALTER TABLE kan tage en række operationer. Så:

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

er det samme som

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

Men... hvorfor? IIRC omdøbningen vil ikke forårsage en fuld-tabel scanning, så der er ingen fordel ved blot at lave de to udsagn hver for sig inden for en transaktion. Hvilket problem forsøger du egentlig at løse med dette?



  1. Gendan tabelstruktur fra frm- og ibd-filer

  2. Sjovt med (columnstore) komprimering på et meget stort bord – del 2

  3. Hvad er den enkleste måde at definere en lokal variabel i Oracle?

  4. NAME_IN indbygget i Oracle D2k Forms