Apache Derby – Procedures


Apache Derby – Procedures



”;


This chapter teaches you how to create and drop procedures in Derby.

Creating a procedure

You can create a procedure using the CREATE PROCEDURE statement.

Syntax

Following is the syntax of the CREATE PROCEDURE statement.


CREATE PROCEDURE procedure_name (parameter_type parameter_name1, parameter_type
parameter_name2 . . . .) parameter_style;

Example

Suppose, we have created a table in Derby as shown below.


CREATE TABLE Emp ( Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   Name VARCHAR(255),
   Salary INT NOT NULL,
   Location VARCHAR(255),
   Phone_Number BIGINT
);

And inserted values in it as follows −


INSERT INTO Employees(Name, Salary, Location) VALUES
   (''Amit'', 30000, ''Hyderabad''),
   (''Kalyan'', 40000, ''Vishakhapatnam''),
   (''Renuka'', 50000, ''Delhi''),
   (''Archana'', 15000, ''Mumbai''),
   (''Trupthi'', 45000, ''Kochin'')";

Following example creates a procedure named Update_Procedure which accepts JAVA parameters.


ij> CREATE PROCEDURE Update_Procedure(IN id INTEGER, IN name VARCHAR(10))
PARAMETER STYLE JAVA READS SQL DATA LANGUAGE JAVA EXTERNAL NAME
''ProcedureExample.testProc'';
> 0 rows inserted/updated/deleted

Where ProcedureExample class looks like −


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class ProcedureExample {
   public static void testProc(int salary, String name) throws Exception {
      String connectionURL = "jdbc:derby:MYDATABASE;create=true";
      Connection conn = DriverManager.getConnection(connectionURL);
      String query = "UPDATE Employees SET SALARY = ? WHERE NAME = ?";
      PreparedStatement pstmt = conn.prepareStatement(query);
      pstmt.setInt(1, salary);
      pstmt.setString (2, name);
      pstmt.executeUpdate();
   }
}

You can verify the list of procedures using SHOW PROCEDURES query.


ij> SHOW PROCEDURES;
PROCEDURE_SCHEM |PROCEDURE_NAME       |REMARKS
------------------------------------------------------------------------
APP             |UPDATE_PROCEDURE     |ProcedureExample.te&
SALES           |EXAMPLE_ PROCEDURE   |com.example.sales.c&
SQLJ            |INSTALL_JAR          |org.apache.derby.ca&
SQLJ            |REMOVE_JAR           |org.apache.derby.ca&
SQLJ            |REPLACE_JAR          |org.apache.derby.ca&
SYSCS_UTIL      |SYSCS_BACKUP_DATABASE|org.apache.derby.ca&
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

Here you can observe the newly created procedure.

Dropping a procedure

You can drop a procedure using the DROP PROCEDURE statement.

Syntax

Following is the syntax of the DROP PROCEDURE statement.


DROP PROCEDURE procedure_name;

Example

Following example drops a procedure named Update_Procedure created above.


ij> DROP PROCEDURE Update_Procedure;
> 0 rows inserted/updated/deleted

Advertisements

”;

Leave a Reply

Your email address will not be published. Required fields are marked *