You are on page 1of 5

CREATE

ALTER
RENAME

TRUNCATE AND DROP


DDL
----
CREATE
ALTER
ADD--
RENAME
DROP --
MODIFY

CREATE
ALTER
ALTER IS A COMMAND TO CHANGE THE TABLE STRUCTURE
-- ADDING A COLUMN

ALTER TABLE TABLENAME


ADD COLUMNANME DATATYPE;

-- IN THIS WAY NEW COLUMN WILL ADD BUT DATA FOR NEW COLUMN WILL BE A NULL

ALTER TABLE TABLENAME


ADD COLUMNNAME DATATYPE DEFAULT VALUE;

-- IN THIS WAY NEW COLUMN WILL ADD AND WHATEVER VALUE MENTIONED IN DEFAULT
FOR ALL ROWS FOR NEW COLUMN DEFAULT VALUE WILL BE UPDATED.

MORE THAN ONE COLUMN IF WE WANT WE CAN ADD

ALTER TABLE <TABLENAME>


ADD
(
COLUMNAME DATATYPE
,COLUMNNAME DATATYPE
);

-- REMOVING A COLUMN

ALTER TABLE TABLENAEM


DROP COLUMN COLUMNAME;

-- YOU CAN DROP FROM A TABLE N-1 COLUMNS

(I.E AT LEAST ONE COLUMN REMAINS IN TABLE)

MORE THAN ONE COLUMN IF YOU WANT TO REMOVE

ALTER TABLE <TABLENAME)


DROP (COLNAM1,COLNAME2..ETC)

-- CHANGING COLUMN DATA TYPE

ALTER TABLE TABLENAME


MODIFY COLUMNAME DATTYPE(NEWWIDTHPROPERTY);

ALTER TABLE TABLENAME


MODIFY COLUMNNAME NEWDATATYPE(WIDTHPROPERTY);

NOTE : IF YOU WANT TO CHANGE DATA TYPE OF A COLUMN FROM ONE GROUP TO ANOTHER
GROUP
THEN THAT COLUMN SHOULD BE EMPTY
(I.E FROM NUMBER DAATATYPE CHAR/VARCHAR/LONG/CLOB/DATE
FROM VARCHAR2 TO NUMBER/DATE/LONG/CLOB..ETC
)

NOTE : FROM CHAR TO VARCHAR2 OR VARCHAR2 TO CHAR WE CAN CHANGE

CHAR 2000
VARCHAR2 4000
LOGN 8000
CLOB --- 23 GB DATA
BUT IT YOU WANT TO CHANGE CHARACTER TO VACHAR/
VARCHART2 TO CHAR THEN TABLE COLUMN NEED NOT BE
EMPTY.
BLOB
NBLOB

-- CHANING COLUMN WIDTH


--- ALTER TABLE TABLENAME
MODIFY COLUMNAME DATATYPE(NEWWDITHVALUE);

NOTE : NEWWIDTHVALUE SHOULD NOT BE LESS THAN THE CURRENT MAXIMUM LENGTH VALUE
IN THAT
COLUMN

-- CHANGING COLUMN NAME


ALTER TABLE TABLENAME
RENAME COLUMN OLDCOLUMNAME TO NEWCOLUMNAME;

ALTER TABLE TABLENAME


RENAME CONSTRAINT OLDCONSTRAINTNAME TO NEWCONSTRAINTNAME;

-- TO ADD A CONSTRAINT TO EXISTING TABLE


ALTER TABLE TABLENSME
ADD CONSTRAINT CONSTRAINTNAME CONSTRAINTTYPE(COLUM1,COLUM22.ETC);

NOTE: THIS CONSTRAINTS SHOULD NOT CHECK EXISTING DATA IN TABLE THEN YOU SHOULD
SPECIFY "NOVALIDATE"
-- TO REMOVE A COLUMN FROM EXISTING TABLE
ALTER TABLE <TABLENAME>
DROP COLUMN <COLUMNAME>;

-- TO REMOVE A CONSTRAINT FROM EXISTING TABLE


ALTER TABLE TABLENAME
DROP CONSTRAINT CONSTRAINTNAME;

-- TO ENABLE A CONSTRAINT
ALTER TABLE TABLENAME
ENABLE CONSTRAINT CONSTRAINTNAME;

-- TO DISAABLE A CONSTRINAT...ETC
ALTER TABLE TABLENAME
DISABLE CONSTRAINT CONSTRAINTNAME;

--- HOW TO RECOMPILE A PROCEDRE/FUNCTION/PACKAGE/TRIGGER

--- HOW TO CHANGE ALTER THE SEQUENCE VALUE


ALTER SEQUENCCE SEQUENCENAME
MAXVALUE <WHATVALUEYOU W ANTTO CHANGE >
MINVALUE
CYCLE

RENAME
TO CHANGE ANY OBJECTS THEN WE HAVE TO USE RENAME

RENAME OLDOBEJCTNAME TO NEWOBJECTNAME;


RENAME OLDTABLECTNAME TO NEWTABLENAME;********
RENAME OLDSEQUENCE NAME TO NEWSEQUNCENAME;
..
ETC

TRUNCATE
TRUNCATE TABLE TABLENAME;
STRUCRTEU WILL BE THERE
ALL THE DATA WILL BE REMOVED

ONCE DATA TRUCATED YOU CAN NOT ROLL BACK BECAUSE IT IS AUTO COMMIT.

DROP
DROP <OBJECTYPE> <OBJECTNAME>;

TO DROP A TABLE :

DROP TABLE TABLENAME;


TO DROP A SEQUENCE
DROP SEQUENCE SEQUENCENAME;

DROP PROCEDURE PROCEDURENAME


DROP VIEW VIEWNAME
DROP MATERIRIALIZE VIEW MATERIALIZEDVIENAME;

DROP INDEX INDEXNAME


DROP TRIGGER TRIGGERNAME;
.
.
ETC

CREATE
ALTER
DROP
RENAME
TRUNCATE
INSERT
--------
UPDATE
DELETE
MERGE
SAVEPOINT
--------
---------------------------

ANY OBJECT DDL STRUCTURE WE CAN GET BY DBMS_METADATA PACKAGE


GET_DDL PROCEDURE

select dbms_metadata.get_ddl('TABLE', 'B28_STD_22') from dual;


You can also do this for all tables at once:
select dbms_metadata.get_ddl('TABLE', table_name) from user_tables;
and spool the output into a SQL script.Oct 8, 2014

CREATE TABLE "SYSTEM"."B28_STD_22"


( "ID" NUMBER,
"NAME" VARCHAR2(20) CONSTRAINT "B28STDD2_NAME_NN"
NOT NULL ENABLE,
"MOB" NUMBER(10,0),
"FEES" NUMBER(5,0),
CONSTRAINT "B28STDD2_ID_PK" PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 C
OMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFF
ER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CAC
HE DEFAULT)
TABLESPACE "SYSTEM" ENABLE,
CONSTRAINT "B28STDD2_MOB_CHK" CHECK ( LENGTH(MOB
) = 10) ENABLE,
CONSTRAINT "B28STDD2_FEES_CHK" CHECK ( FEES <=30
000) ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFF
ER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CAC
HE DEFAULT)
TABLESPACE "SYSTEM"
TRUNCATE :

100 TABLES --- TMPROARY TABLE/STAGIING TABLES

USUALLY FROM STAGING

DDL

1 TABLE -- 1CR

SAVEPOINT
---------
IT IS USED WITH ROLLBACK TO REMOVE UNNECCESARY CHANGES

ITS LIKE A BREAK POINT

COMMIT
ROLLBACK;
SSAVEPOINT

You might also like