|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Aug 2004
Messaggi: 180
|
[SQL] Alter Table Difficile
Ho una tabella molto popolato con chiave primaria che si chiama
id che e' un integer. Voglio farlo diventare un varchar(15) come devo fare? Il DB e' Oracle 9.2.0.7.0. Ho provato ALTER TABLE USRMUTI.BPM_PROCESS MODIFY(ID VARCHAR2(15 BYTE)); Ma mi da l'errore column type incompatible with referenced column type C'e' un qualche modo per fare questa cosa? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jul 2005
Città: Perugia
Messaggi: 132
|
non conosco oracle ma l'errore dice che "il tipo [dati] colonna [nuovo] è incompatibile con il tipo colonna referenziato".
Ad occhio direi che quel campo è referenziato (foreign key) in una (o più) tabella diversa. In mysql per farlo occorre disabilitare i controlli sulle foreign key, modificare tutte le ricorrenze del campo (quindi non solo il campo nella tabella principale ma anche tutti i campi ad esso refernziati nelle tabelle collegate) e riabilitare il controllo sulle foreign key... però non ho idea della sintassi Oracle, in MySQL il comando (non è un comando SQL standard, ovviamente) è FOREIGN_KEY_CHECKS=0 -> FOREIGN_KEY_CHECKS=1...
__________________
Main: i7-3770K · Corsair H60 · MSI GTX 580 Twin Frozr II OC · Asus Maximus V Gene mATX · Corsair Vengeance 1600Mhz CL8 16GB · Samsung 840 EVO 500GB + Crucial C300 256Gb · Plextor PX-L890SA · Seasonic X850 · Corsair Obsidian 350D · Iiyama ProLite B24D9HDS Muletto: Q6600 G0/Scythe Ninja Plus · Radeon HD5850 · Asus P5E · HDs X-25M G2 160Gb, Seagate 7200.11 500Gb · Corsair VX 550 · Cooler Master CM-690 HTPC: Atom D525,ION-2,3GB RAM,64GB SSD |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Aug 2004
Messaggi: 180
|
Ho provato a togliere tutte le foreign key e non funziona lo stesso.
L'unico modo di riuscirci e' che il campo che diventera' stringa sia sempre valorizzato nullo, pero' vorrei evitare di fare operazioni troppo onerose tipo clonare tutto il db... |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Aug 2004
Messaggi: 180
|
UP
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Non è che nel campo ID hai dei numeri più lunghi di 15 caratteri?
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:58.