You are on page 1of 3

SELECT Statement Manipulating Data Dropping a comment from a table

SELECT [DISNCT] {*, column [alias],...} INSERT Statement(one row) COMMENT ON TABLE table | COLUMN table.column IS ‘’ ;
FROM table INSERT INTO table [ (column [,column...])] Data Dictionary
[WHERE condition(s)] VALUES (value [,value...]) ; ALL_OBJECTS USER_OBJECTS
[ORDER BY {column, exp, alias} [ASC|DESC]] INSERT Statement with Subquery ALL_TABLES USER_TABLES
Cartesian Product INSERT INTO table [ column(, column) ] ALL_CATALOG USER_CATALOG or CAT
SELECT table1.*, table2.*,[...] subquery ; ALL_COL_COMMENTS USER_COL_COMMENTS
FROM table1,table2[,...] UPDATE Statement ALL_TAB_COMMENTS USER_TAB_COMMENTS
Equijoin(Simple joins or inner join) UPDATE table Defining Constraints
SELECT table1.*,table2.* SET column = value [, column = value,...] CREATE TABLE [schema.]table
FROM table1,table2 [WHERE condition] ; (column datatype [DEFAULT expr][NOT NULL]
WHERE table1.column = table2.column Updating with Multiple-column Subquery [column_constraint],...
Non-Equijoins UPDATE table [table_constraint][,...]) ;
SELECT table1.*, table2.* SET (column, column,...) = Column constraint level
FROM table1, table2 (SELECT column, column,... column [CONSTRAINT constraint_name] constraint_type,
WHERE table1.column FROM table Constraint_type
BETWEEN table2.column1 AND table2.column2 WHERE condition) PRIMARY KEY REFERENCES table(column) UNIQUE
Outer joins WHERE condition ; CHECK (codition)
SELECT table1.*,table2.* Deleting Rows with DELETE Statement Table constraint level(except NOT NULL)
FROM table1,table2 DELETE [FROM] table column,...,[CONSTRAINT constraint_name]
WHERE table1.column(+) = table2.column [WHERE conditon] ; constraint_type (column,...),
SELECT table1.*,table2.* Deleting Rows Based on Another Table NOT NULL Constraint (Only Column Level)
FROM table1,table2 DELETE FROM table CONSTRAINT table[_column...]_nn NOT NULL ...
WHERE table1.column = table2.column(+) WHERE column = (SELECT column UNIQUE Key Constraint
Self joins FROM table CONSTRAINT table[_column..]_uk UNIQUE (column[,...])
SELECT alias1.*,alias2.* WHERE condtion) ; PRIMARY Key Constraint
FROM table1 alias1,table1 alias2 Transaction Control Statements CONSTRAINT table[_column..]_pk PRIMARY (column[,...])
WHERE alias1.column = alias2.column COMMIT ; FOREIGN Key Constraint
Aggregation Selecting SAVEPOINT name ; CONSTRAINT table[_column..]_fk
SELECT [column,] group_function(column) ROLLBACK [TO SAVEPOINT name] ; FOREIGN KEY (column[,...])
FROM table CREATE TABLE Statement REFERENCES table (column[,...])[ON DELETE CASCADE]
[WHERE condition] CREATE TABLE [schema.]table CHECK constraint
[GROUP BY group_by_expression] (column datatype [DEFAULT expr] [,...]) ; CONSTRAINT table[_column..]_ck CHECK (condition)
[HAVING group_condition] CREATE TABLE Statement with Subquery Adding a Constraint(except NOT NULL)
[ORDER BY column] ; CREATE TABLE [schema.]table ALTER TABLE table
Group function [(column, column...)] ADD [CONSTRAINT constraint_name ] type (column) ;
AVG([DISTINCT|ALL]n) AS subquery Adding a NOT NULL constraint
COUNT(*|[DISTINCT|ALL]expr) Datatype ALTER TABLE table
MAX([DISTINCT|ALL]expr) VARCHAR2(size) CHAR(size) NUMBER(p,s) DATE MODIFY (column datatype [DEFAULT expr]
MIN([DISTINCT|ALL]expr) LONG CLOB RAW LONG RAW [CONSTRAINT constraint_name_nn] NOT NULL) ;
STDDEV([DISTINCT|ALL]n) BLOB BFILE Dropping a Constraint
SUM([DISTINCT|ALL]n) ALTER TABLE Statement (Add columns) ALTER TABLE table
VARIANCE([DISTINCT|ALL]n) ALTER TABLE table DROP CONSTRAINT constraint_name ;
Subquery ADD (column datatype [DEFAULT expr] ALTER TABLE table
SELECT select_list [, column datatype]...) ; DROP PRIMARY KEY | UNIQUE (column) |
FROM table Changing a column’s type, size and default of a Table CONSTRAINT constraint_name [CASCADE] ;
WHERE expr operator(SELECT select_list FROM table); ALTER TABLE table Disabling Constraints
single-row comparison operators ALTER TABLE table
MODIFY (column datatype [DEFAULT expr]
= > >= < <= <> DISABLE CONSTRAINT constraint_name [CASCADE] ;
[, column datatype]...) ;
multiple-row comparison operators Enabing Constraints
Dropping a Table
IN ANY ALL ALTER TABLE table
DROP TABLE table ;
Multiple-column Subqueries ENABLE CONSTRAINT constraint_name ;
Changing the Name of an Object
Data Dictionary
SELECT column, column, ... RENAME old_name TO new_name ;
ALL_CONSTRAINTS USER_CONSTRAINTS
FROM table Trancating a Table
ALL_CONS_COLUMNS USER_CONS_COLUMNS
WHERE (column, column, ...) IN TRUNCATE TABLE table ;
Creating a View
(SELECT column, column, ... Adding Comments to a Table
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
FROM table COMMENT ON TABLE table | COLUMN table.column
WHERE condition) ; IS ‘text’ ; Revision: May, 2018
[(alias[, alias]...)] Dropping Roles TABLE RECORD NESTED TABLE VARRAY LOB
AS subquery DROP ROLE role ; Datatypes
[WITH CHECK OPTION [CONSTRAINT constraint_name]] Object Privileges CLOB BLOB BFILE NCLOB
[WITH READ ONLY] ; Object Table View Sequence Procedure Creating Bind Variables
Removing a View ALTER X X VARIABLE variable_name dataype
DROP VIEW view ; DELETE X X Displaying Bind Variables
CREATE SEQUENCE Statement EXECUTE X PRINT [variable_name]
CREATE SEQUENCE sequence INDEX X Commenting Code
[INCREMENT BY n] INSERT X X --prefix single-line comments with two dashes
[START WITH n] REFERENCES X /* Place muti-line comment between the symbols */
[{MAXVALUE n| NOMAXVALUE}] SELECT X X X SELECT Statements in PL/SQL
[{MINVALUE n| NOMINVALUE}] UPDATE X X SELECT {column_list|*}
[{CYCLE | NOCYCLE}] Object Privileges INTO {variable_name[,variable_name]...
[{CACHE [n|20]| NOCACHE}] ; GRAND object_priv [(column)] |record_name}
Pseudocolumns ON object FROM table
sequence.NEXTVAL sequence.CURRVAL TO {user|role|PUBLIC} WHERE condition
Modifying a Sequence (No START WITH option) [WITH GRANT OPTION] ; Implicit Cursor Attributes for DML statements
ALTER SEQUENCE sequence Revoking Object Privileges SQL%ROWCOUNT
[INCREMENT BY n] REVOKE {privilege [,privilege...] | ALL} SQL%FOUND
[{MAXVALUE n| NOMAXVALUE}] ON object SQL%NOTFOUND
[{MINVALUE n| NOMINVALUE}] FROM {user[,user...]|role|PUBLIC} SQL%ISOPEN
[{CYCLE | NOCYCLE}] [CASCADE CONSTRAINTS] ; Constrol Structures
[{CACHE [n|20]| NOCACHE}] ; Data Dictionary IF Statement Basic Loop
Removing a Sequence ROLE_SYS_PRIVS IF condition THEN LOOP
DROP SEQUENCE sequence ; ROLE_TAB_PRIVS USER_ROLE_PRIVS statements ; statements;
Creating an Index USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD [ELSIF condition THEN ...
CREATE INDEX index USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD statements ;] EXIT [WHEN condition];
ON TABLE (column[,column]...) ; PL/SQL Block Structure [ELSE END LOOP
Removing an Index DECLARE --Optional statements;]
DROP INDEX index ; --Variables, Cursors, User-defined exceptions END IF ;
Synoyms BEGIN --Mandatory FOR Loop WHILE Loop
CREATE [PUBLIC] SYNONYM synonym FOR object ; --SQL statements FOR conter in [REVERSE] WHILE condition LOOP
Removing Synonyms --PL/SQL statements lower..upper LOOP statement1;
DROP SYNONYM synonym ; EXCEPTION --Optional statement1; statement2;
Data Dictionary --Actions to perform when errors occur statement2; ...
ALL_VIEWS USER_VIEWS END ; --Mandatory ... END LOOP ;
ALL_SEQUENCES USER_SEQUENCES PL/SQL Block Type END LOOP;
ALL_INDEXES USER_INDEXES Anonymous Procedure Function Creating a PL/SQL Record
ALL_IND_COLUMNS USER_IND_COLUMNS [DECLARE] PROCEDURE name FUNCTION name TYPE record_name_type IS RECORD
System Privileges(DBA) User System Privileges IS RETURN datatype IS (field_declaration[,field_declaration]...) ;
CREATE USER CREATE SESION [DECLARE] [DECLARE] record_name record_name_type ;
DROP USER CREATE TABLE BEGIN BEGIN BEGIN Where field_declaration is
DROP ANY TABLE CREATE SEQUENCE --statements --statements --statements field_name {field_type|variable%TYPE|
BACKUP ANY TABLE CREATE VIEW [EXCEPTION] [EXCEPTION] [EXCEPTION] table.column%TYPE|table%ROWTYPE}
CREATE PROCEDURE END ; END ; END ; [[NOT NULL] {:=|DEFAULT} expr]
Creating Users Declaring PL/SQL Variables Referencing Fields in the Record record_name.field_name
CREATE USER user identifier [CONSTANT] datatype [NOT NULL] Declaring Records with the %ROWTYPE Attribute
IDENTIFIED BY password ; [:=|DEFAULT expr] ; DECLARE
Creating Roles Assigning Values to Variables record_name reference%ROWTYPE
CREATE ROLE role ; identifier := expr ; Creating a PL/SQL Table
Granting System Privileges Base Scalar Datatypes TYPE type_name IS TABLE OF
GRANT privelges[,...] TO user[,...] ; VARCHAR2(n) NUMBER(p,s) DATE CHAR(n) {column_scalr_type|variable%TYPE|table.column%TYPE
GRANT privelges TO role ; LONG LONG RAW BOOLEAN |variable%ROWTYPE} [NOT NULL]
GRANT role TO user[,...] ; BINARY_INTEGER PLS_INTEGER [INDEX BY BINARY_INTEGER];
Changing Password The %TYPE Attribute identifier type_name ;
ALTER USER user IDENTIFIED BY password ; table_name.column_name%TYPE ; Referencing a PL/SQL table
Dropping Users variable_name%TYPE ; pl_sql_table_name(primary_key_value)
DROP USER user [CASCADE] ; Composite Datatypes Revision: May, 2018
Using PL/SQL Table Method INVALID_CURSOR INITCAP(column|expression)
table_name.method_name[(parameters)] ZERO_DIVIDE INSTR(column|expression,m)
PL/SQL Table Methods DUP_VAL_ON_INDEX CONCAT(column1|expression1,column2|expression2}
EXITS(n) COUNT FIRST LAST PRIOR(n) Trapping Exceptions SUBSTR(column|expression,m,[n])
NEXT(n) EXTEND(n,i) TRIM DELETE EXCEPTION LENGTH(column|expression)
PL/SQL Table of Records WHEN exception1 [OR exception2 ...] THEN LPAD(column|expression,n,’string’)
TYPE table_name_type IS TABLE OF table_name%ROWTYPE statement1 ; Number Functions
INDEX BY BINARY_INTEGER ; statement2 ; MOD(m,n)
table_name table_name_type ; ... ROUND(column|expression,n)
Referencing a Table of Records [WHEN exception3 [OR exception4 ...] THEN TRUNC(column|expression,n)
table_name(index).field statement1 ; Date Functions
Declaring the Cursor in Declaration Section statement2 ; MONTHS_BETWEEN(date1,date2)
CURSOR cursor_name IS select_statement ; ...] ADD_MONTHS(date,n)
record_name cursor_name%ROWTYPE ; [WHEN OTHERS THEN NEXT_DAY(date,’char’)
Opening and Closing the Cursor statement1 ; LAST_DAY(date)
OPEN cursor_name ; statement2 ; ROUND(date[,’fmt’])
CLOSE cursor_name ; ...] TRUNC(date[,’fmt’])
Fetching Data from the Cursor Declaring Non-Predefined Oracle Sever Exception Conversion Functions
FETCH cursor_name DECLARE TO_CHAR(number|date[,’fmt’]) TO_NUMBER(char[,’fmt’])
INTO [variable1(,variable2,...) exception EXCEPTION ; TO_DATE(char[,’fmt’])
|record_name] ; PRAGMA EXCEPTION_INIT(exception, error_number) ; NVL(expr1,expr2)
Explicit Cusor Attributes Referencing the declared Non-predefined execption DECODE(col/expr,search1,result1
cursor_name%ISOPEN BEGIN [,search2,result2,...,]
cursor_name%NOTFOUND ... [,default])
cursor_name%FOUND EXCEPTION Operators
cursor_name%ROWCOUNT WHEN exception THEN Comparison = > >= < <= <>
Cursor FOR Loops statement1 ; BETWEEN..AND, IN, LIKE, IS NULL
FOR record_name IN cursor_name LOOP ... Logical AND OR NOT
statement1; END ; Order of Operations
statement2; Trapping User-Defined Exceptions Operator Operation
... DECLARE **,NOT Exponentiation, logical negation
END LOOP; exception EXCEPTION ; +,- Identity, negation
Cursor FOR Loops Using Subqueries BEGIN *,/ Muliplication, division
FOR record_name IN (subqueries) LOOP ... +,-,|| Addition, subtraction, concatenation =,!
statement1 IF SQL%NOTFOUND THEN =,<,>,<= Comparison
... RAISE exception ; >=,IS NULL,LIKE
END LOOP ; END IF ; BETEEN,IN
Cursors with Parameters ... AND Conjunction
CURSOR cursor_name [(cursor_parameter_name datatype EXCEPTION OR Inclusion
[,...])] WHEN exception THEN
IS select_statement statement1 ;
[FOR UPDATE [OF column_reference][NOWAIT]]; ...
Parameter Name END ;
cursor_parameter_name [IN] datatype [{:=|DEFAULT}expr] Functions for Trapping Exceptions
Openning with Parameters SQLCODE return error code
"If you like our course and if you have an extra minute
OPEN cursor_name(cursor_parameter_name[,...]); SQLERRM return error message and wouldn't mind leaving a 5-star review, we would
Cursor FOR Loops with parameters RAISE_APPLICATION_ERROR procedure(Executable/Exception
FOR record_name IN cursor_name(cursor_parameter_name Section)
greatly appreciate it!"
[,...]) LOOP RAISE_APPLICATION_ERROR ( error_number,
statement1; message [, {TRUE|FALSE}]) ;
statement2; error_number between -20000 to -20999
Best Wishes,
... message string up to 2,048 bytes long (Oracle Masters Team)
END LOOP; TRUE placed on the stack of previous errors.
WHERE CURRENT OF clause FALSE replaces all previous errors
UPDATE|DELETE ... WHERE CURRENT OF cursor_name ; Single-Row Functions
Predefined Exceptions Character Functions
NO_DATA_FOUND LOWER(column|expression)
TOO_MANY_ROWS UPPER(column|expression)
Revision: May, 2018

You might also like