dba:oracle:howtos:rename_table_mini-howto
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
dba:oracle:howtos:rename_table_mini-howto [2023/01/31 08:28] – removed - external edit (Unknown date) 127.0.0.1 | dba:oracle:howtos:rename_table_mini-howto [2023/01/31 08:28] (current) – ↷ Page moved from dba:oracle:rename_table_mini-howto to dba:oracle:howtos:rename_table_mini-howto dodger | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== [HOWTO] Rename a table in oracle ====== | ||
+ | ====== Descripción ====== | ||
+ | Este procedimiento permite renombrar una tabla cuando: | ||
+ | < | ||
+ | Falla, por ejemplo con '' | ||
+ | |||
+ | |||
+ | ====== Instrucciones ====== | ||
+ | ===== ALTER TABLE ===== | ||
+ | Mediante un '' | ||
+ | <code SQL> | ||
+ | ALTER TABLE T1 RENAME TO T2 ; | ||
+ | </ | ||
+ | Debería funcionar. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Crear el siguiente procedure ===== | ||
+ | < | ||
+ | CREATE OR REPLACE PROCEDURE RENAME_OTHERS_TAB (ORIG_TAB_NAME IN VARCHAR2, NEW_TAB_NAME IN VARCHAR2) | ||
+ | AS | ||
+ | LV_SQL_STR VARCHAR2(100); | ||
+ | LV_EXISTS NUMBER(1); | ||
+ | BEGIN | ||
+ | SELECT COUNT(*) INTO LV_EXISTS FROM USER_TABLES WHERE TABLE_NAME=ORIG_TAB_NAME; | ||
+ | IF LV_EXISTS = 1 THEN | ||
+ | LV_SQL_STR := ' | ||
+ | DBMS_OUTPUT.PUT_LINE (LV_SQL_STR); | ||
+ | EXECUTE IMMEDIATE LV_SQL_STR; | ||
+ | ELSE | ||
+ | DBMS_OUTPUT.PUT_LINE(' | ||
+ | END IF; | ||
+ | END; | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Ejecutar el procedimiento ===== | ||
+ | < | ||
+ | exec rename_others_tab(' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== thanks to ====== | ||
+ | [[http:// |