当前位置:网站首页>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 .
边栏推荐
- K210 learning notes (IV) k210 runs multiple models at the same time
- 华为联机对战如何提升玩家匹配成功几率
- EBS Oracle 11g cloning steps (single node)
- How to view Apache log4j 2 remote code execution vulnerability?
- Serializability of concurrent scheduling
- Sentinel production environment practice (I)
- Regular expressions and re Libraries
- Yolov5 training custom data set (pycharm ultra detailed version)
- Reptile practice
- 阿龙的感悟
猜你喜欢
Bitbucket installation configuration
Advantages and disadvantages of the "Chris Richardson microservice series" microservice architecture
Business learning of mall commodity module
Sentinel production environment practice (I)
Livelocks and deadlocks of concurrency control
Reptile practice
Concurrency control of performance tuning methodology
华为游戏多媒体服务调用屏蔽指定玩家语音方法,返回错误码3010
2.2.5 basic sentences of R language drawing
【愚公系列】2022年7月 Go教学课程 003-IDE的安装和基本使用
随机推荐
Blocking protocol for concurrency control
极狐公司官方澄清声明
oracle 控制文件的多路复用
Cold violence -- another perspective of objective function setting
[Yugong series] go teaching course 003-ide installation and basic use in July 2022
About the writing method of SQL field "this includes" and "included in" strings
The Blue Bridge Cup web application development simulation competition is open for the first time! Contestants fast forward!
How to use tensorflow2 for cat and dog classification and recognition
Experienced inductance manufacturers tell you what makes the inductance noisy. Inductance noise is a common inductance fault. If the used inductance makes noise, you don't have to worry. You just need
如何开发引入小程序插件
crm创建基于fetch自己的自定义报告
Four components of logger
How to view Apache log4j 2 remote code execution vulnerability?
Huawei cloud modelarts text classification - takeout comments
The real situation of programmers
2.2.3 output of documents
华为快游戏调用登录接口失败,返回错误码 -1
Image editor for their AutoLayout environment
Business learning of mall order module
PIP install beatifulsoup4 installation failed