Derby - 存储过程

首页 / Derby入门教程 / Derby - 存储过程

本章教您如何在Derby中创建和删除存储过程。

创建存储程序

您可以使用CREATE PROCEDURE语句创建一个存储过程。

以下是CREATE PROCEDURE语句的语法。

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

假设无涯教程已经在Derby中创建了一个表,如下所示。

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

并在其中插入值,如下所示:

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

以下示例创建一个名为Update_Procedure的过程,该过程接受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

其中Procedure Example类看起来像-

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

您可以使用 SHOW PROCEDURES 查询来验证存储过程列表。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/derby/apache-derby-procedures.html

来源:LearnFk无涯教程网

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

在这里,您可以观察新创建的过程。

删除存储程序

您可以使用DROP PROCEDURE语句删除存储过程。

以下是DROP PROCEDURE语句的语法。

DROP PROCEDURE procedure_name;

以下示例删除了上面创建的名为Update_Procedure的过程。

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

这一章《Derby - 存储过程》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

相关推荐

玩转Git三剑客 -〔苏玲 - 〕

分布式数据库30讲 -〔王磊 - 〕

MySQL 必知必会 -〔朱晓峰 - 〕

如何成为学习高手 -〔高冷冷 - 〕

如何将初始数据放入数据库

带数据库的Electron 应用程序

将 Android Room 数据库与 Firebase 实时数据库相关联

替换Pandas数据框中大于数字的值

在具有所需 ForeignKey 引用的 Django (1.8) 应用程序之间移动模型

Laravel 5 错误 SQLSTATE[HY000] [1045] 用户 'homestead'@'localhost' 的访问被拒绝(使用密码:YES)