|
-
DO the column name and their datatype goin to be an input paramater from and procedure???
-- TO ADD A NEW COLUMN. IF THE INPUT COLUMN_NAME DOESN'T EXIST.
DECLARE
P_TABLE_NAME VARCHAR2(30) := 'TEST';
P_INPUT_COL_NAME VARCHAR2(75) := 'COL1';
P_COL_DATA_TYPE VARCHAR2(30) := 'NUMBER(9)';
BEGIN
SELECT COUNT(COLUMN_NAME) INTO COL_EXIST_CNT FROM ALL_TAB_COULMNS
WHERE OWNER = 'JEGAN' AND TABLE_NAME = P_TABLE_NAME AND COULMN_NAME = P_INPUT_COL_NAME;
IF COL_EXIST_CNT = 0 THEN
EXECUTE IMMEDIATE 'ALTER TABLE ' || P_TABLE_NAME || ' ADD ' || P_INPUT_COL_NAME || P_COL_DATA_TYPE;
END IF;
END;
-- TO MODIFY A COLUMN. IF THE INPUT COLUMN'S DATATYPE DOESN'T MATCH WITH THE EXISTING ONE.
DECLARE
P_TABLE_NAME VARCHAR2(30) := 'TEST';
P_INPUT_COL_NAME VARCHAR2(30) := 'COL1';
P_COL_DATA_TYPE VARCHAR2(30) := 'NUMBER(9)';
BEGIN
SELECT COUNT(COLUMN_NAME) INTO COL_EXIST_CNT FROM ALL_TAB_COULMNS
WHERE OWNER = 'JEGAN' AND TABLE_NAME = P_TABLE_NAME AND COULMN_NAME = P_INPUT_COL_NAME AND DATA_TYPE != P_COL_DATA_TYPE;
IF COL_EXIST_CNT = 0 THEN
EXECUTE IMMEDIATE 'ALTER TABLE ' || P_TABLE_NAME || ' MODIFY ' || P_INPUT_COL_NAME || P_COL_DATA_TYPE;
END IF;
END;
hope this gives u some idea...
Cheers!
Cheers!
OraKid.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|