Oracle
 sql >> база данни >  >> RDS >> Oracle

Има ли начин да добавите колона на определена позиция в таблицата на Oracle?

Това наистина има значение където колоната е физически от select ще ви позволи да посочите реда (логически), в който се извличат.

И ако използвате изберете * което не ви позволява да посочите реда, вероятно не трябва да бъдете. Има много малко ситуации, в които трябва да правите това (инструменти за анализ на база данни, например), през повечето време е по-добре да изберете отделните колони, които искате, дори и да ги искате всички. Това ви позволява бързо да улавяте промените в схемата, за да можете да адаптирате програмите си към тях.

Във всеки случай самият SQL не дава гаранции за реда, в който се връщат колоните, освен ако не изрично избройте ги. изберете * може да ви ги даде по ред днес и по азбучен ред утре. Дори ако конкретна реализация ви позволява да го направите (като създадете нова таблица с колона на „правилното“ място и копирате данните от другата страна или предоставите SQL разширение като alter table T вмъкнете колона C1 преди C2 ), не бих го посъветвал. Той няма да бъде преносим към други реализации и предпочитам кода ми да е възможно най-преносим.

В допълнение, освен това, което можете да посочите в SQL, СУБД трябва да може напълно да контролира как той съхранява данни. Възможно е вашият първичен ключ да е съставен от седма и четиридесет и втора колона и може да е по-ефективно да ги поставите в началото на физическите записи.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Достъп до Oracle Apex от отдалечена машина

  2. Как да използвате функцията xmlconcat в Oracle

  3. Hibernate и Oracle Sequence

  4. Oracle Database 20c Нови функции

  5. ГРЕШКА:Позоваване на брояча като цел на присвояване - PL/SQL