Apache Derby - Prosedur

Bab ini mengajarkan Anda cara membuat dan melepaskan prosedur di Derby.

Membuat prosedur

Anda dapat membuat prosedur menggunakan pernyataan CREATE PROCEDURE.

Sintaksis

Berikut adalah sintaks dari pernyataan CREATE PROCEDURE.

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

Contoh

Misalkan, kami telah membuat tabel di Derby seperti yang ditunjukkan di bawah ini.

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

Dan memasukkan nilai di dalamnya sebagai berikut -

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

Contoh berikut membuat prosedur bernama Update_Procedure yang menerima parameter JAVA.

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

Di mana kelas ProcedureExample terlihat seperti -

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();
   }
}

Anda dapat memverifikasi daftar prosedur menggunakan SHOW PROCEDURES pertanyaan.

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&
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Di sini Anda dapat mengamati prosedur yang baru dibuat.

Menjatuhkan prosedur

Anda dapat membatalkan prosedur menggunakan pernyataan DROP PROCEDURE.

Sintaksis

Berikut adalah sintaks dari pernyataan PROSEDUR DROP.

DROP PROCEDURE procedure_name;

Contoh

Contoh berikut menjatuhkan prosedur bernama Update_Procedure yang dibuat di atas.

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