Oracle SQL Commands : Part 3 

6. CREATE PROCEDURE Command

 In Oracle we can create our own procedure. A procedure is a collection of SQL statements that can be called by any valid object name. To create a user-defined procedure we use the command "CREATE PROCEDURE".
 
While creating a procedure or function we always state parameters that we can pass in three ways:

Parameters Referenced by Procedure Value overwritten by Procedure
      IN Yes NO
      OUT NO YES
      INOUT YES YES

Syntax

CREATE [OR REPLACE] PROCEDURE procedure_name

       [ (parameter [,parameter]) ]

IS

       Declaration section

BEGIN

       Execution section

EXCEPTION

       Exception_section

END;
 
Example: Assuming the following table:
 

Emp_ID Emp_Name Designation Salary
TCS008 Vivan Project Manager 1Lac
TCS030 Seema Tech Lead 80K


Example
 

CREATE OR REPLACE PROCEDURE

Employee_details

IS

Cursor Emp_Cur IS

SELECT Name, Designation, Salary FROM Employee

emp_rec emp_cur%rowtype;

BEGIN

 

FOR Emp_rec in Sales_Cur

LOOP

Dbms_output.put_line(Emp_cur.Name ||  '||emp_cur.Designation ||' '||Emp_cur.Salary);

END LOOP

END;
 
7. CREATE SCHEMA Command
 
A group of database objects is called a schema and is owned by a database user and must have the name as the database user. The "Create schema" command creates the multiple tables and a view.
 
Syntax

CREATE SCHEMA AUTHORIZATION Schema options; 
 
Options

The options are: 

  • CREATE TABLE
  • CREATE VIEW
  • GRANT

Example

CREATE SCHEMA AUTHORIZATION Student

 

 CREATE TABLE BOOK

  (

   Book_id NUMBER PRIMARY KEY,

   Book_Price NUMBER,

   Author Varchar2(10),

   Seller Varchar2(10),

   Publications Varchar2(30)

  )

 

 CREATE VIEW New_Book AS

 SELECT Book_id, Author FROM Book WHERE Book_Price = 500

 GRANT SELECT ON New_Book TO Scott;
 
8. CREATE FUNCTION Command
 
The CREATE FUNCTION statement creates a new function with a unique name in a specific schema if it has the schema name, otherwise the function is created in the current schema. The owner of the new function is the user that created the same function.
 
Syntax

CREATE [OR REPLACE] FUNCTION function_name [parameter]

 

RETURN return_datatypes;

IS

       Declaration_Section

BEGIN

       Execution_Section

RETURN Return_variable;

 

EXCEPTION

       Exception Section 

RETURN Return_variable;

END;
                           OR
CREATE [OR REPLACE] FUNCTION function_name

       [parameter_name [IN | OUT | INOUT] type [,….])]

RETURN return_datatype {IS | AS} 

BEGIN

      <function_body>

END   [function_name];


 Example
 
Assume the following table (STUDENT):
 

Stu_ID Name Age Stream
1 Rajat 18 Science
2 Jaya 20 Commerce
3 joseph 19 Arts
4 Maria 18 Science

 

CREATE OR REPLACE FUNCTION total_students

RETURN number IS

       total_number(2) :=0;

BEGIN

SELECT count(*) into total

FROM Students;

RETURN total;

END;
 
9. CREATE SEQUENCE Command
 
An Oracle sequence is an object used to generate incrementing and decrementing numbers. It is a data object from which multiple users may generate unique integers. Once a sequence is created its values can be accessed in a SQL statement.

Syntax
 

CREATE SEQUENCE <Sequence_name>

INCREMENT BY <integer>

START WITH <integer>

MAXVALUE <integer> / NOMAXVALUE

MINVALUE <integer> / NOMINVALUE

CYCLE/NOCYCLE

CACHE<#>/NOCACHE

ORDER/NOORDER
 
Example
 

CREATE SEQUENCE dba_seq

MINVALUE 1

MAXVALUE 40000

START WITH 1

INCREMENT BY 1

CACHE 100;
 
Note:
Here, a sequence called dba_seq is created.

10. CREATE SYNONYM Command

To create a duplicate name for any table, view, procedure, function, sequence, package and so on, CREATE SYNONYM is used. It provides both data independency and location transparency. The synonyms are of two types, Public and Private.

Syntax

CREATE [OR REPLACE] [PUBLIC] SYNONYM [Schema.]Synonym

FOR [Schema.] object [@dblink]
 
Example
 

CREATE PUBLIC SYNONYM buyers

FOR app.buyers;
 
11. ALTER TABLE Command
 
In an existing table if we want to do some changes like INSERT, DELETE or MODIFY columns then we only used the command ALTER TABLE.
 
Syntax

ALTER TABLE table_name
RENAME TO new_table_name;
 
Example
 
Assume the following table:

Buyer_Table
 

Buyer_ID ContactNo. Address City
366 3746736476 121, giri colony Lucknow

Employee Table

ALTER TABLE Buyer

RENAME TO Customer;


Vendor Table
 

Buyer_ID ContactNo. Address City
366 3746736476 121, giri colony Lucknow

Employee Table

To ADD Columns
 

Syn: ALTER TABLE table_name

     ADD column_name column-definition;

 

Eg.

    ALTER TABLE Buyer

    ADD Buyer _Name varchar2(50);
 

Buyer_ID Buyer_Name ContactNo. Address City
366 Vikas 3746736476 121, giri colony Lucknow

Employee Table

To ADD multiple columns:
 

Syn: ALTER TABLE table_name

     ADD (col1 column-definition,

          col2 column-definition,

          coln column-definition);

 

Eg.    ALTER TABLE supplier

     ADD (supplier_name varchar2(50),

          Country varchar2(45));
 

Buyer_ID Buyer_Name ContactNo. Address City Country
366 Vikas 3746736476 121, giri colony Lucknow INDIA

Employee Table


To DROP a column:
 

Syn: ALTER TABLE table_name

     DROP COLUMN column_name;

 

Eg.    ALTER TABLE Buyer 

DROP COLUMN Address;
 

Buyer_ID Buyer_Name ContactNo. City Country
366 Vikas 3746736476 Lucknow INDIA


Similarly, to DROP multiple columns:
 

Syn: ALTER TABLE table_name

     DROP COLUMN col1, col2, col3;

 

Eg.    ALTER TABLE Buyer 

     DROP COLUMN Address, Country;
 

Buyer_ID Buyer_Name ContactNo. City
366 Vikas 3746736476 Lucknow


To MODIFY a column name:
 

Syn: ALTER TABLE table_name

     MODIFY column_name column_type;

 

Eg.    ALTER TABLE Buyer

     MODIFY City varchar2(100) not null;
 
To MODIFY multiple column names:
 

Syn:  ALTER TABLE table_name

     MODIFY (col1 column_type,

     col2 column_type,

     coln column_type);

 

Eg.   ALTER TABLE Buyer

    MODIFY (City varchar2(50) not null,

    Country varchar2(50))


12. ALTER VIEW Command
 
This command recompiles an invalid view. It defines, modifies or drops the view constraints. Using ALTER VIEW will retain all the permission settings.

Syntax
 

ALTER VIEW [Schema.] VIEW [(Col1, Col2, Col3...Coln)]

  [WITH [ENCRYPTION] [SCHEMABINDING] [VIEW_METADATA] [,....Coln]]

  [WITH CHECK OPTION]

                             or

ALTER VIEW [schema.]view COMPILE;

ALTER VIEW [schema.]view ADD out_of_line_constraint;

ALTER VIEW [schema.]view MODIFY CONSTRAINT constraint {RELY | NORELY};

ALTER VIEW [schema.]view DROP CONSTRAINT constraint;

ALTER VIEW [schema.]view DROP PRIMARY KEY

ALTER VIEW [schema.]view UNIQUE (column [,column,…]);


Example
 
Assume the following view:
 

CREATE VIEW Emp_details AS

SELECT e.EMP_id, e.name, e.salary, e.depart_id, e.email, e.job_id, d.depart_name,  

       d.location_id

       FROM Employees e, department d

       WHERE e.depart_id = d.depart_id;

 

ALTER VIEW Emp_details

DROP CONSTRAINT Emp_details _read_only;

 Previous article: Oracle Commands: Part 2 
 Next Article: Oracle SQL Commands : Part 4


Similar Articles