91 lines
2.9 KiB
SQL
91 lines
2.9 KiB
SQL
-- +----------------------------------------------------------------------------+
|
|
-- | Jeffrey M. Hunter |
|
|
-- | jhunter@idevelopment.info |
|
|
-- | www.idevelopment.info |
|
|
-- |----------------------------------------------------------------------------|
|
|
-- | Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. |
|
|
-- |----------------------------------------------------------------------------|
|
|
-- | DATABASE : Oracle |
|
|
-- | FILE : example_drop_unused_column.sql |
|
|
-- | CLASS : Examples |
|
|
-- | PURPOSE : Example SQL syntax used to drop unused columns from a table. |
|
|
-- | NOTE : As with any code, ensure to test this script in a development |
|
|
-- | environment before attempting to run it in production. |
|
|
-- +----------------------------------------------------------------------------+
|
|
|
|
connect scott/tiger
|
|
|
|
set serveroutput on
|
|
|
|
Prompt ======================
|
|
Prompt DROP existing table...
|
|
Prompt ======================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
DROP TABLE d_table
|
|
/
|
|
|
|
|
|
Prompt =======================
|
|
Prompt CREATE TESTING TABLE...
|
|
Prompt =======================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
CREATE TABLE d_table (
|
|
id_no NUMBER
|
|
, name VARCHAR2(100)
|
|
, d_column VARCHAR2(100)
|
|
)
|
|
/
|
|
|
|
|
|
Prompt ========================
|
|
Prompt MARK COLUMN AS UNUSED...
|
|
Prompt ========================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
ALTER TABLE d_table SET UNUSED COLUMN d_column;
|
|
|
|
|
|
Prompt =======================================
|
|
Prompt QUERY ALL TABLES WITH UNUSED COLUMNS...
|
|
Prompt =======================================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
SELECT * FROM sys.dba_unused_col_tabs;
|
|
|
|
|
|
Prompt ======================================
|
|
Prompt PHYSICALLY REMOVE THE UNUSED COLUMN...
|
|
Prompt ======================================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
ALTER TABLE d_table DROP UNUSED COLUMNS;
|
|
|
|
|
|
Prompt ================================================
|
|
Prompt IF YOU WANTED TO PHYSICALLY REMOVE THE COLUMN...
|
|
Prompt ================================================
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to continue";
|
|
|
|
-- ALTER TABLE d_table DROP COLUMN d_column;
|
|
|
|
|
|
Prompt =========================================
|
|
Prompt OPTIONALLY SYNTAX FOR REMOVING COLUMNS...
|
|
Prompt =========================================
|
|
Prompt
|
|
Prompt ALTER TABLE d_table DROP COLUMN d_column CASCADE CONSTRAINTS;
|
|
Prompt ALTER TABLE d_table DROP COLUMN d_column INVALIDATE;
|
|
Prompt ALTER TABLE d_table DROP COLUMN d_column CHECKPOINT 1000;
|
|
Prompt
|
|
accept a1 Prompt "Hit <ENTER> to EXIT";
|
|
|
|
|