sql >> Database >  >> RDS >> PostgreSQL

Een varchar-kolom upgraden naar enum-type in postgresql

U moet een cast definiëren die moet worden gebruikt omdat er geen standaard cast beschikbaar is.

Als alle waarden in de varcharColumn voldoen aan de enum-definitie, zou het volgende moeten werken:

alter table foo 
  ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;

Persoonlijk hou ik niet van opsommingen omdat ze nogal onflexibel zijn. Ik geef de voorkeur aan een controlebeperking op een varchar-kolom als ik de waarden in een kolom wil beperken. Of - als de lijst met waarden vaak verandert en gaat groeien - een goede oude "opzoektabel" met een externe sleutelbeperking.



  1. Gegevens uit een bestand kopiëren naar een CLOB in Oracle

  2. LN() Functie in Oracle

  3. Foutcode:1005. Kan tabel '...' niet maken (fout:150)

  4. Het volgnummer van een database-e-mailaccount binnen een profiel in SQL Server (T-SQL) wijzigen