2017-07-12 6 views
0

ich den unten Typ erstellt haben,PLSQL TYPE Modifikationen

create or replace 
TYPE   MSSINT.TEST_TYPE 
AS OBJECT 
(service_phone_num varchar2(15), 
name_last varchar2(50), 
name_first varchar2(50)); 

Jetzt muss ich die dataype von service_phone_num zu NUMBER ändern.

Können wir dies mit dem folgenden Befehl oder ähnlichem erreichen?

ALTER TYPE MSSINT.TEST_TYPE MODIFY ATTRIBUTE (service_phone_num NUMBER) CASCADE; 
+0

Haben Sie Daten in der Tabelle? – jarlh

+1

Welche Abhängigkeiten hat der Typ? Können Sie es einfach neu aufbauen, oder werden Tabellen, Spalten usw. verwendet? –

+0

Ja, es hat Daten .. –

Antwort

0

Führen Sie die folgenden Schritte aus:

create or replace 
TYPE   MSSINT.TEST_TYPE 
AS OBJECT 
(service_phone_num number(15), 
name_last varchar2(50), 
name_first varchar2(50)); 

Sollte funktionieren, wie Sie create or replace haben.

+0

Achten Sie nur auf Abhängigkeiten, die bereits existieren und verwenden Sie die 'service_phone_num'. All-in-All sollte sicher sein, die Datenbank sollte für die meisten Fälle implizite Konvertierungen/Umwandlungen durchführen, da ich annahm, dass die Telefonnummer nur Ziffern ist. – g00dy

0

Verwenden Sie den Befehl

create or replace 
TYPE   MSSINT.TEST_TYPE 
AS OBJECT 
(service_phone_num number, 
name_last varchar2(50), 
name_first varchar2(50)); 

Replace Ihre Art ändern.