SlideShare a Scribd company logo
Learn Oracle PL/SQL
www.plsql.co
Create table
CREATE TABLE table_name (column_name datatype, column_name datatype);
CREATE TABLE table_name AS SELECT * FROM table_name2;
Drop table
DROP TABLE table_name;
Create view
CREATE VIEW view_name AS SELECT * FROM table_name;
Drop view
DROP VIEW view_name;
Create user
CREATE USER user_name IDENTIFIED BY user_password ;
Drop user
DROP USER user_name;
Create index
CREATE INDEX index_name ON table_name (column_name);
Drop index
DROP INDEX index_name;
Create sequence
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
Drop sequence
DROP SEQUENCE sequence_name;
Create synonym
CREATE [PUBLIC] SYNONYM synonym_name FOR object;
Drop synonym
DROP [ PUBLIC ] SYNONYM synonym_name;
Create role
CREATE ROLE role_name;
Drop role
DROP ROLE role_name;
Create function
CREATE OR REPLACE FUNCTION function_name
RETURN number AS
BEGIN
RETURN 1;
END;
Create function with parameter
CREATE OR REPLACE FUNCTION function_name(p_parameter varchar2)
RETURN varchar2 AS
BEGIN
RETURN p_parameter;
END;
Drop function
DROP FUNCTION function_name;
Create procedure
CREATE OR REPLACE PROCEDURE procedure_name
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Test');
END;
Create procedure with parameter
CREATE OR REPLACE PROCEDURE procedure_name (p_parameter number)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE(p_parameter);
END;
Drop procedure
DROP PROCEDURE procedure_name;
Create trigger
CREATE OR REPLACE TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF}
{INSERT | UPDATE | DELETE}
[OF column_name]
ON table_name [REFERENCING OLD AS old NEW AS new]
[FOR EACH ROW]
WHEN condition
DECLARE
-- declare statements
BEGIN
-- sql statements
-- pl/sql statements
END;
Drop trigger
DROP trigger trigger_name;
Alter trigger
ALTER TRIGGER trigger_name COMPILE;
ALTER TRIGGER trigger_name RENAME TO new_trigger_name;
ALTER TRIGGER trigger_name ENABLE;
ALTER TABLE table_name ENABLE ALL TRIGGERS;
ALTER TRIGGER trigger_name DISABLE;
ALTER TABLE table_name DISABLE ALL TRIGGERS;
Add primary key
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY(coll_name);
Add constraint foreign key
ALTER TABLE table1 ADD CONSTRAINT constraint_name
FOREIGN KEY (coll_name) REFERENCES table2(coll_name);
Drop constraint key
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
Enable a foreign key
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
Disable foreign key
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name;
Insert
INSERT INTO table_name VALUES (value1, value2, ...);
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...);
INSERT INTO table1 (column1, column2) SELECT column1, column2 FROM table2;
Insert All
INSERT ALL
INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...)
INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...)
INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...)
SELECT * FROM dual;
Update
UPDATE table_name SET column_name = value;
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Delete
DELETE FROM table_name;
DELETE FROM table_name WHERE condition;
Cartesian Products
SELECT * FROM table1, table2;
Inner Join
SELECT * FROM table1, table2 WHERE table1.id=table2.id;
Left Join
SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;
Right Join
SELECT * FROM table1 RIGHT JOIN table2 ON table1.id=table2.id;
Self Join
SELECT * FROM table1 a, table1 b WHERE a.id=b.id;
Full Join
SELECT * FROM table1 FULL JOIN table2 ON table1.id=table2.id;
Full Outer Join
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id=table2.id;
Any
SELECT * FROM table_name WHERE column_name = ANY (value1, value2);
Between
SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;
Exists
SELECT * FROM table1 WHERE EXISTS (SELECT * FROM table2);
Not Exists
SELECT * FROM table1 WHERE NOT EXISTS (SELECT * FROM table2);
Group By
SELECT group_function(col1), col2 FROM table_name GROUP BY col2;
IN
SELECT * FROM table_name WHERE column_name IN (value1, value2);
Like
SELECT * FROM table_name WHERE column_name LIKE '%expr%';
Order By
SELECT * FROM table_name ORDER BY column_name;
Where
SELECT * FROM table_name WHERE column_name=value;
The main datatypes:
VARCHAR2
NUMBER
DATE
CHAR
PLS_INTEGER
BOOLEAN
BLOB
CLOB
Implicit Cursor
Attributes
%BULK_ROWCOUNT
%BULK_EXCEPTIONS
%ISOPEN
%FOUND
%NOTFOUND
%ROWCOUNT
Explicit Cursor
DECLARE
CURSOR c1 IS SELECT * FROM table_name;
v_var c1%ROWTYPE;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_var;
EXIT WHEN c1%NOTFOUND;
END LOOP;
CLOSE c1;
END;
Collection types
Index-by tables(associative arrays)
Nested tables
Varrays(variable-size arrays)
Collection Methods
EXISTS
COUNT
LIMIT
FIRST
LAST
PRIOR
NEXT
EXTEND
TRIM
DELETE
Collection Exceptions
COLLECTION_IS_NULL
NO_DATA_FOUND
SUBSCRIPT_BEYOND_COUNT
SUBSCRIPT_OUTSIDE_LIMIT
VALUE_ERROR
Types of records
Table-based
Cursor-based
User-defined
Data Dictionary
USER_ALL_TABLES
USER_OBJECTS
USER_TABLES
USER_CONSTRAINTS
USER_INDEXES
USER_PROCEDURES
USER_TRIGGERS
ALL_ALL_TABLES
ALL_OBJECTS
ALL_TABLES
ALL_CONSTRAINTS
ALL_INDEXES
ALL_PROCEDURES
ALL_TRIGGERS
Resource: www.plsql.co

More Related Content

PPTX
Lecture 4 sql {basics keys and constraints}
PPTX
Lecture 3 sql {basics ddl commands}
PPT
PDF
Five Common SQL Errors
PPTX
Entigrity constraint
PPTX
Oracle: PLSQL Commands
ODT
PDF
Sql commands
Lecture 4 sql {basics keys and constraints}
Lecture 3 sql {basics ddl commands}
Five Common SQL Errors
Entigrity constraint
Oracle: PLSQL Commands
Sql commands

What's hot (20)

DOCX
Sql reference from w3 schools
PDF
SQL Quick Reference Card
PPTX
Oracle: DML
PPTX
Oracle: DDL
PPTX
Ch6(mysql front)
PPT
MY SQL
DOCX
Bibashsql
TXT
20150730 Sql AutoCommannotator - sac v2
PPT
DOCX
20220112 sac v1
PPT
PPSX
Oracle Training in Kochi | Trivandrum |Thrissur
PPTX
Null values, insert, delete and update in database
PPSX
Report alephcollection code_call_no_order
DOCX
Alv interactive ABAPreport
PDF
Database Systems - SQL - DDL Statements (Chapter 3/2)
PPT
e computer notes - Including constraints
PPT
DOC
Database
ODP
My sql Syntax
Sql reference from w3 schools
SQL Quick Reference Card
Oracle: DML
Oracle: DDL
Ch6(mysql front)
MY SQL
Bibashsql
20150730 Sql AutoCommannotator - sac v2
20220112 sac v1
Oracle Training in Kochi | Trivandrum |Thrissur
Null values, insert, delete and update in database
Report alephcollection code_call_no_order
Alv interactive ABAPreport
Database Systems - SQL - DDL Statements (Chapter 3/2)
e computer notes - Including constraints
Database
My sql Syntax
Ad

Similar to Learn plsql (20)

PPTX
SQL Server Learning Drive
PPTX
Interacting with Oracle Database
PDF
dbms.pdf
DOCX
Dbms record
PPT
Mysql 120831075600-phpapp01
PDF
Sql commands
PPTX
MULTIPLE TABLES
PDF
SQL Overview
PPTX
Sql practise for beginners
PPTX
OracleSQLraining.pptx
PPTX
Sql
PPT
Db1 lecture4
PDF
Sql overview-1232931296681161-1
PPTX
Sql(structured query language)
PPTX
MS SQL Database basic
PDF
Structured Query Language - All commands Notes
PDF
SQL 🌟🌟🔥.pdf
PDF
1670595076250.pdf
PDF
Cheat sheet SQL commands with examples and easy understanding
PDF
SQL learning notes and all code.pdf
SQL Server Learning Drive
Interacting with Oracle Database
dbms.pdf
Dbms record
Mysql 120831075600-phpapp01
Sql commands
MULTIPLE TABLES
SQL Overview
Sql practise for beginners
OracleSQLraining.pptx
Sql
Db1 lecture4
Sql overview-1232931296681161-1
Sql(structured query language)
MS SQL Database basic
Structured Query Language - All commands Notes
SQL 🌟🌟🔥.pdf
1670595076250.pdf
Cheat sheet SQL commands with examples and easy understanding
SQL learning notes and all code.pdf
Ad

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Approach and Philosophy of On baking technology
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Approach and Philosophy of On baking technology
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Spectroscopy.pptx food analysis technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Learn plsql

  • 1. Learn Oracle PL/SQL www.plsql.co Create table CREATE TABLE table_name (column_name datatype, column_name datatype); CREATE TABLE table_name AS SELECT * FROM table_name2; Drop table DROP TABLE table_name; Create view CREATE VIEW view_name AS SELECT * FROM table_name; Drop view DROP VIEW view_name; Create user CREATE USER user_name IDENTIFIED BY user_password ; Drop user DROP USER user_name; Create index CREATE INDEX index_name ON table_name (column_name); Drop index DROP INDEX index_name; Create sequence CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; Drop sequence DROP SEQUENCE sequence_name; Create synonym CREATE [PUBLIC] SYNONYM synonym_name FOR object; Drop synonym DROP [ PUBLIC ] SYNONYM synonym_name; Create role CREATE ROLE role_name;
  • 2. Drop role DROP ROLE role_name; Create function CREATE OR REPLACE FUNCTION function_name RETURN number AS BEGIN RETURN 1; END; Create function with parameter CREATE OR REPLACE FUNCTION function_name(p_parameter varchar2) RETURN varchar2 AS BEGIN RETURN p_parameter; END; Drop function DROP FUNCTION function_name; Create procedure CREATE OR REPLACE PROCEDURE procedure_name AS BEGIN DBMS_OUTPUT.PUT_LINE('Test'); END; Create procedure with parameter CREATE OR REPLACE PROCEDURE procedure_name (p_parameter number) IS BEGIN DBMS_OUTPUT.PUT_LINE(p_parameter); END; Drop procedure DROP PROCEDURE procedure_name; Create trigger CREATE OR REPLACE TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE} [OF column_name] ON table_name [REFERENCING OLD AS old NEW AS new] [FOR EACH ROW] WHEN condition DECLARE -- declare statements BEGIN -- sql statements -- pl/sql statements END;
  • 3. Drop trigger DROP trigger trigger_name; Alter trigger ALTER TRIGGER trigger_name COMPILE; ALTER TRIGGER trigger_name RENAME TO new_trigger_name; ALTER TRIGGER trigger_name ENABLE; ALTER TABLE table_name ENABLE ALL TRIGGERS; ALTER TRIGGER trigger_name DISABLE; ALTER TABLE table_name DISABLE ALL TRIGGERS; Add primary key ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY(coll_name); Add constraint foreign key ALTER TABLE table1 ADD CONSTRAINT constraint_name FOREIGN KEY (coll_name) REFERENCES table2(coll_name); Drop constraint key ALTER TABLE table_name DROP CONSTRAINT constraint_name; Enable a foreign key ALTER TABLE table_name ENABLE CONSTRAINT constraint_name; Disable foreign key ALTER TABLE table_name DISABLE CONSTRAINT constraint_name; Insert INSERT INTO table_name VALUES (value1, value2, ...); INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...); INSERT INTO table1 (column1, column2) SELECT column1, column2 FROM table2; Insert All INSERT ALL INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...) INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...) INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, ...) SELECT * FROM dual; Update UPDATE table_name SET column_name = value;
  • 4. UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; Delete DELETE FROM table_name; DELETE FROM table_name WHERE condition; Cartesian Products SELECT * FROM table1, table2; Inner Join SELECT * FROM table1, table2 WHERE table1.id=table2.id; Left Join SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id; Right Join SELECT * FROM table1 RIGHT JOIN table2 ON table1.id=table2.id; Self Join SELECT * FROM table1 a, table1 b WHERE a.id=b.id; Full Join SELECT * FROM table1 FULL JOIN table2 ON table1.id=table2.id; Full Outer Join SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id=table2.id; Any SELECT * FROM table_name WHERE column_name = ANY (value1, value2); Between SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2; Exists SELECT * FROM table1 WHERE EXISTS (SELECT * FROM table2); Not Exists SELECT * FROM table1 WHERE NOT EXISTS (SELECT * FROM table2); Group By SELECT group_function(col1), col2 FROM table_name GROUP BY col2; IN SELECT * FROM table_name WHERE column_name IN (value1, value2);
  • 5. Like SELECT * FROM table_name WHERE column_name LIKE '%expr%'; Order By SELECT * FROM table_name ORDER BY column_name; Where SELECT * FROM table_name WHERE column_name=value; The main datatypes: VARCHAR2 NUMBER DATE CHAR PLS_INTEGER BOOLEAN BLOB CLOB Implicit Cursor Attributes %BULK_ROWCOUNT %BULK_EXCEPTIONS %ISOPEN %FOUND %NOTFOUND %ROWCOUNT Explicit Cursor DECLARE CURSOR c1 IS SELECT * FROM table_name; v_var c1%ROWTYPE; BEGIN OPEN c1; LOOP FETCH c1 INTO v_var; EXIT WHEN c1%NOTFOUND; END LOOP; CLOSE c1; END; Collection types Index-by tables(associative arrays) Nested tables Varrays(variable-size arrays) Collection Methods EXISTS COUNT LIMIT FIRST
  • 6. LAST PRIOR NEXT EXTEND TRIM DELETE Collection Exceptions COLLECTION_IS_NULL NO_DATA_FOUND SUBSCRIPT_BEYOND_COUNT SUBSCRIPT_OUTSIDE_LIMIT VALUE_ERROR Types of records Table-based Cursor-based User-defined Data Dictionary USER_ALL_TABLES USER_OBJECTS USER_TABLES USER_CONSTRAINTS USER_INDEXES USER_PROCEDURES USER_TRIGGERS ALL_ALL_TABLES ALL_OBJECTS ALL_TABLES ALL_CONSTRAINTS ALL_INDEXES ALL_PROCEDURES ALL_TRIGGERS Resource: www.plsql.co