当前位置:网站首页>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 .

边栏推荐
- Evolution of large website architecture and knowledge system
- Robot framework setting variables
- Drawing HSV color wheel with MATLAB
- Oracle检查点队列–实例崩溃恢复原理剖析
- matlab绘制hsv色轮图
- SecureCRT使用提示
- 了解 Android Kotlin 中 DataStore 的基本概念以及为什么应该停止在 Android 中使用 SharedPreferences
- The solution to the problem that Oracle hugepages are not used, causing the server to be too laggy
- Efficiency difference between row first and column first traversal of mat data types in opencv
- 大约SQL现场“这包括”与“包括在”字符串的写法
猜你喜欢

Serializability of concurrent scheduling

Blocking of concurrency control

Type of fault

Sentinel production environment practice (I)

Granularity of blocking of concurrency control

2.2.5 basic sentences of R language drawing

Storage optimization of performance tuning methodology

Defect detection - Halcon surface scratch detection

Getting started with microservices (resttemplate, Eureka, Nacos, feign, gateway)

Scenario interview: ten questions and ten answers about distributed locks
随机推荐
poj 3237 Tree(树链拆分)
Huawei game multimedia service calls the method of shielding the voice of the specified player, and the error code 3010 is returned
Evolution of large website architecture and knowledge system
HDU 4391 paint the wall segment tree (water
NET中小型企业项目开发框架系列(一个)
Code bug correction, char is converted to int high-order symbol extension, resulting in changes in positivity and negativity and values. Int num = (int) (unsigned int) a, which will occur in older com
Serializability of concurrent scheduling
Exercise 1 simple training of R language drawing
DBeaver同时执行多条insert into报错处理
AD637使用笔记
如何開發引入小程序插件
Cold violence -- another perspective of objective function setting
Three components of openpyxl
Net small and medium-sized enterprise project development framework series (one)
Deeply convinced plan X - network protocol basic DNS
Web3为互联网带来了哪些改变?
Dbeaver executes multiple insert into error processing at the same time
如何开发引入小程序插件
MySQL disconnection reports an error MySQL ldb_ exceptions. OperationalError 4031, The client was disconnected by the server
2.2.5 basic sentences of R language drawing