2009-05-07 18 views

उत्तर

66
ALTER TABLE mytable RENAME TO othertable 

Oracle 10g भी में:

RENAME mytable TO othertable 
+0

10g से पुराने पुराने ऑरैक संस्करणों में, विचारों का नाम बदला नहीं जा सकता है। ड्रॉप/रीवेटेट अब ऐसा करने का एकमात्र संभव तरीका है। एक उदाहरण के लिए अलग जवाब की जांच करें। 1112 में – Wouter

10

आदेश एक अलग स्कीमा में एक टेबल का नाम बदलने के लिए, कोशिश:

ALTER TABLE owner.mytable RENAME TO othertable; 

नाम बदलने आदेश ("rename mytable to othertable" के रूप में) केवल का समर्थन करता है एक ही स्कीमा में एक टेबल का नाम बदलना।

25

एक मेज आप उपयोग कर सकते हैं नाम बदलने के लिए:

RENAME mytable TO othertable; 

या

ALTER TABLE mytable RENAME TO othertable; 

या, यदि एक और स्कीमा के स्वामित्व:

ALTER TABLE owner.mytable RENAME TO othertable; 

दिलचस्प बात यह है ALTER देखें समर्थन नहीं करता है नाम एक दृश्य। आप, हालाँकि:

टेबल, विचारों, दृश्यों और निजी समानार्थी शब्दों के लिए
RENAME myview TO otherview; 

RENAME आदेश काम करता है, केवल अपने ही स्कीमा के लिए।

यदि दृश्य आपकी स्कीमा में नहीं है, तो आप दृश्य को नए नाम से पुन: संकलित कर सकते हैं और फिर पुराना दृश्य छोड़ सकते हैं।

(Oracle 10g में परीक्षण)

+1

, आपके पास प्रारंभिक उदाहरण मेरे लिए काम नहीं करता है, लेकिन दूसरा ... – rogerdpack

+0

ध्यान दें कि RENAME अभी भी 11 जी और 12 जी में काम करता है - http://docs.oracle.com/database/121/SQLRF/statements_9020.htm#SQLRF01608 –

+0

2017 देखें धन्यवाद :) – Ilaria

1

एक उसी तरह rename indexes कर सकते हैं:

alter index owner.index_name rename to new_name; 
+0

टिप्पणी के रूप में अधिक उपयुक्त होगा, नहीं एक जवाब। – Wouter

1

विगत वर्तमान जवाब 10g नहीं रह गया है विचारों का नाम बदलने के लिए काम करता है। एकमात्र तरीका जो अभी भी काम करता है वह दृश्य को छोड़कर और पुनर्निर्माण कर रहा है। सबसे अच्छा तरीका है मैं के बारे में सोच सकते हैं यह करने के लिए होगा:

चयन करें, टेक्स्ट ALL_VIEWS से जहां मालिक = 'some_schema' और VIEW_NAME = 'some_view';

एसक्यूएल के सामने इस जोड़े लौटे

वर्ष दृश्य बनाएँ या के रूप में देखें some_schema.new_view_name की जगह ...

ड्रॉप

ड्रॉप दृश्य some_schema .some_view;

संबंधित मुद्दे