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