当前位置:网站首页>Stored procedures and stored functions
Stored procedures and stored functions
2022-07-05 22:02:00 【The sea of waves】
stored procedure And store function

Create stored procedure

create or replace procedure sayhelloword
as
-- The explanatory part
begin
dbms_out_put_line("Hello world");
end;
/
Calling stored procedure
- exec sayhelloword();
- begin sayhelloword(); sayhelloword(); end;

Create a storage function

create or replace function queryempincome(eno in number)
return number
as
-- Define variables to save employees' salaries and bonuses
psal emp.sal%type;
pcome emp.comm%type;
begin
-- Get the monthly salary and bonus of the employee
select sal,comm into psal,pcomm from emp where empno=eno;
-- Return the annual income directly
return psal*12 + nvl(pcomm,0);
end;
java How to access stored procedures and stored functions in programs
// Database connection (JDBC)
package com.claa.javabasic.Connect;
import java.sql.*;
/** * @Author: claa * @Date: 2021/06/27 09:43 * @Description: Oracle Jdbc The connection of */
public class JDBCUtilsO {
private static String driver = "oracle.jdbc.OracleDriver";
private static String url="jdbc:oracle:thin:@192.168.56.101:1521:orcl";
private static String user ="scott";
private static String password ="tiger";
// Register database driver
static {
try{
Class.forName(driver);
}catch (ClassNotFoundException e){
throw new ExceptionInInitializerError(e);
}
}
// Get the driver of the database
public static Connection getConnection(){
try{
return DriverManager.getConnection(url,user,password)
}catch (SQLException e){
e.printStackTrace();
}
return null;
}
// Release the resources of the database
public static void Release(Connection conn, Statement st, ResultSet rs) {
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
drs = null;
}
try {
if(st!=null){
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
st = null;
}
try {
if(st!=null){
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
conn = null;
}
}
}
// Calls stored procedures and functions
package com.claa.javabasic.Connect;
import oracle.jdbc.OracleTypes;
import org.junit.Test;
import java.sql.CallableStatement;
import java.sql.Connection;
/** * @Author: claa * @Date: 2021/06/27 10:39 * @Description: */
public class TestProcedure {
@Test
public void testProcedure(){
// stored procedure
String sql = "{call queryempincome(?,?,?,?)} ";
// Storage function
//String sql = "{?=call queryempincome(?,?,?,?)} ";
Connection conn = null;
CallableStatement call = null;
try{
// Get a connection
conn = JDBCUtilsO.getConnection();
// Created by connection Statement
call = conn.prepareCall(sql);
// about in Parameters
call.setInt(1,7839);
// about Out Parameters
call.registerOutParameter(2, OracleTypes.VARCHAR);
call.registerOutParameter(3,OracleTypes.NUMBER);
call.registerOutParameter(4,OracleTypes.VARCHAR);
// Execution call
call.execute();
// Take out the results
String name = call.getString(2);
System.out.println(name);
}catch(Exception e){
e.printStackTrace();
}finally {
JDBCUtilsO.Release(conn,call,null);
}
}
}
There is something wrong , Welcome to the discussion .
Last , Welcome to pay attention to my wechat , What do you like , Collection , Forwarding is my greatest encouragement .

边栏推荐
- DBeaver同时执行多条insert into报错处理
- Matlab | app designer · I used Matlab to make a real-time editor of latex formula
- crm创建基于fetch自己的自定义报告
- The real situation of programmers
- 科技云报道:算力网络,还需跨越几道坎?
- matlab绘制hsv色轮图
- datagrid直接编辑保存“设计缺陷”
- Advantages and disadvantages of the "Chris Richardson microservice series" microservice architecture
- QML reported an error expected token ";", expected a qualified name ID
- Poj3414 extensive search
猜你喜欢

K210学习笔记(四) K210同时运行多个模型

Reptile practice

深信服X计划-网络协议基础 DNS

PIP install beatifulsoup4 installation failed

Countdown to 92 days, the strategy for the provincial preparation of the Blue Bridge Cup is coming~

极狐公司官方澄清声明

Analysis and test of ModbusRTU communication protocol

database mirroring

怎么利用Tensorflow2进行猫狗分类识别

MATLAB | App Designer·我用MATLAB制作了一款LATEX公式实时编辑器
随机推荐
Implementing Lmax disruptor queue from scratch (IV) principle analysis of multithreaded producer multiproducersequencer
Implementing Lmax disruptor queue from scratch (IV) principle analysis of multithreaded producer multiproducersequencer
Interview questions for basic software testing
Net small and medium-sized enterprise project development framework series (one)
The Blue Bridge Cup web application development simulation competition is open for the first time! Contestants fast forward!
Efficiency difference between row first and column first traversal of mat data types in opencv
SecureCRT使用提示
装饰器学习01
Dbeaver executes multiple insert into error processing at the same time
从零开始实现lmax-Disruptor队列(四)多线程生产者MultiProducerSequencer原理解析
Drawing HSV color wheel with MATLAB
元宇宙中的三大“派系”
MySQL连接断开报错MySQLdb._exceptions.OperationalError 4031, The client was disconnected by the server
Daily question brushing record (XIV)
database mirroring
Web3为互联网带来了哪些改变?
How to develop and introduce applet plug-ins
资深电感厂家告诉你电感什么情况会有噪音电感噪音是比较常见的一种电感故障情况,如果使用的电感出现了噪音大家也不用着急,只需要准确查找分析出什么何原因,其实还是有具体的方法来解决的。作为一家拥有18年品牌
微服务入门(RestTemplate、Eureka、Nacos、Feign、Gateway)
Summarize the reasons for 2XX, 3xx, 4xx, 5xx status codes