PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zmień nazwy kolumn tabeli na wielkie litery w postgresie

Zanim wyjaśnię, jak to zrobić, zdecydowanie sugeruj, aby tego NIE robić.

W PostgreSQL, jeśli nazwy tabel lub kolumn nie są ujęte w cudzysłów, na przykład:

SELECT Name FROM MyTable WHERE ID = 10

W rzeczywistości są automatycznie złożone do małych liter po pierwsze, więc powyższe zapytanie jest identyczne z:

SELECT name FROM mytable WHERE id = 10

Jeśli miałbyś przekonwertować wszystkie nazwy na wielkie litery, to stwierdzenie NIE zadziała :

SELECT NAME FROM MYTABLE WHERE ID = 10

Aby to zadziałało, będziesz musiał umieścić w cudzysłowie każde imię i nazwisko w tym zapytaniu:

SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

Z drugiej strony, jeśli używasz standardowej umowy PostgreSQL zawierającej tylko małe litery, możesz użyć dowolnej kombinacji wielkości liter i będzie działać, o ile nie zacytujesz żadnej nazwy.

Teraz, jeśli nadal nalegasz na konwersję na wielkie litery, możesz to zrobić, zrzucając schemat bazy danych do pliku za pomocą pg_dump --tylko schemat .

Po wykonaniu tych czynności sprawdź wszystkie CREATE TABLE instrukcji i skonstruuj odpowiednie ALTER TABLE oświadczenia oparte na tym zrzucie - będziesz musiał napisać jakiś skrypt (Perl lub Python), aby to zrobić.

Możesz też przeczytać INFORMATION_SCHEMA.TABLES i/lub INFORMATION_SCHEMA.COLUMNS a także skonstruować i wykonać odpowiednią ALTER TABLE oświadczenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Poprawa szybkości zapytań:prosty SELECT w dużej tabeli postgres

  2. rekurencyjne zapytanie postgres na tej samej tabeli

  3. Łączenie się z GCP Cloud SQL z App Engine w osobnym projekcie

  4. BŁĄD:błąd składni przy lub blisko OVER

  5. Jaki jest odpowiednik PostgreSQL dla ISNULL()