Friday, April 13, 2018

ORACLE SQL SCRIPT TO GENERATE ALTER SCRIPT TO MODIFY THE DATATYPES OF EXISTING COLUMNS

In the below script CHAR_USED stores the value 'B','C' which means BYTE OR CHAR.
we can modify the script as per our need.

SELECT 'ALTER TABLE '||TABLE_NAME||' MODIFY ('||COLUMN_NAME||' '||DATA_TYPE||'('||CHAR_LENGTH||' CHAR));' AL, TABLE_NAME,COLUMN_NAME,DATA_TYPE,CHAR_LENGTH,CHAR_USED FROM ALL_TAB_COLS WHERE TABLE_NAME LIKE '%'-- ENTER TABLE NAME
AND DATA_TYPE IN('VARCHAR2','CHAR') AND CHAR_USED='B';

The output would be like below

ALTER TABLE WC__SETUP_DS MODIFY (TYPE VARCHAR2(50 CHAR));
ALTER TABLE WC__SETUP_DS MODIFY (NAME VARCHAR2(40 CHAR));

No comments: