欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Oracle系列:(33)JDBC訪問Oracle的存儲(chǔ)過程和存儲(chǔ)函數(shù)

1、存儲(chǔ)過程

1.1、準(zhǔn)備SQL

-- 定義存儲(chǔ)過程
create or replace procedure get_rax(salary in number,rax out number)
as
    --需要交稅的錢
    bal number;
begin
    bal := salary - 3500;
    if bal<=1500 then
       rax := bal * 0.03 - 0;
    elsif bal<=4500 then
       rax := bal * 0.1 - 105;
    elsif bal<=9000 then
       rax := bal * 0.2 - 555;
    elsif bal<=35000 then
       rax := bal * 0.25 - 1005;
    elsif bal<=55000 then
       rax := bal * 0.3 - 2755;
    elsif bal<=80000 then
       rax := bal * 0.35 - 5505;
    else
       rax := bal * 0.45 - 13505;
    end if;
end;
/

set serveroutput on;

-- 調(diào)用存儲(chǔ)過程
declare
    sal number := &salary;
    rax number;
begin
    get_rax(sal,rax);
    dbms_output.put_line(sal || '元工資應(yīng)該交稅' || rax || '元');
end;
/

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比泉山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式泉山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋泉山地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

1.2、準(zhǔn)備JAR包

oracle
ojdbc5.jar
c3p0

c3p0-0.9.1.2.jar

c3p0-config.xml

c3p0-config.xml

<c3p0-config>
    <default-config>
        <property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
        <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
        <property name="user">scott</property>
        <property name="password">tiger</property>
        <property name="initialPoolSize">3</property>
        <property name="maxPoolSize">6</property>
        <property name="maxIdleTime">1000</property>
    </default-config>
</c3p0-config>

1.3、編寫工具類

JDBCUtils.java

package com.rk.utils;

import java.sql.Connection;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCUtils {
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
    public static Connection getConnection() throws Exception{
        return dataSource.getConnection();
    }
    
    public static void closeQuietly(AutoCloseable ac){
        if(ac != null){
            try {
                ac.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

1.4、JDBC程序調(diào)用存儲(chǔ)過程

CallProc.java

package com.rk.test;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Types;

import com.rk.utils.JDBCUtils;

/**
 * 演示java-jdbc調(diào)用oracle過程
 */
public class CallProc {
    public static void main(String[] args) throws Exception{
        String sql = "{call  get_rax(?,?)}";
        Connection conn = JDBCUtils.getConnection();
        CallableStatement cstmt = conn.prepareCall(sql);
        //為第一個(gè)?號(hào)設(shè)置值,從1開始
        cstmt.setInt(1, 7000);
        //為第二個(gè)?注冊(cè)輸出類型
        cstmt.registerOutParameter(2, Types.INTEGER);
        //執(zhí)行調(diào)用過程
        cstmt.execute();
        //接收過程的返回值,即第二個(gè)?號(hào)
        int rax = cstmt.getInt(2);
        //顯示
        System.out.println("7000元工資應(yīng)該交稅"+rax+"元");
        JDBCUtils.closeQuietly(cstmt);
        JDBCUtils.closeQuietly(conn);
    }
}

2、存儲(chǔ)函數(shù)

2.1、準(zhǔn)備SQL

--定義函數(shù)
create or replace function findEmpNameAndJobAndSal(pempno in number,pjob out varchar2,psal out number) 
return varchar2
as
    pename emp.ename%type;
begin
    select ename,job,sal into pename,pjob,psal from emp where empno = pempno;
    return pename;
end;
/

--調(diào)用函數(shù)
declare
    pename emp.ename%type;
    pjob   emp.job%type;
    psal   emp.sal%type;
begin
    pename := findEmpNameAndJobAndSal(7788,pjob,psal);
    dbms_output.put_line('7788'||'--'||pename||'--'||pjob||'--'||psal);
end;
/

2.2、JDBC程序調(diào)用存儲(chǔ)函數(shù)

package com.rk.test;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Types;

import com.rk.utils.JDBCUtils;

/**
 * 演示java-jdbc調(diào)用oracle函數(shù)
 */
public class CallFunc {
    public static void main(String[] args) throws Exception {
        String sql = "{? = call findEmpNameAndJobAndSal(?,?,?)}";
        Connection conn = JDBCUtils.getConnection();
        CallableStatement cstmt = conn.prepareCall(sql);
        
        //為第一個(gè)?注冊(cè)輸出類型
        cstmt.registerOutParameter(1, Types.VARCHAR);
        //為第二個(gè)?注入值
        cstmt.setInt(2, 7788);
        //為第三個(gè)?注冊(cè)輸出類型
        cstmt.registerOutParameter(3, Types.VARCHAR);
        //為第四個(gè)?注冊(cè)輸出類型
        cstmt.registerOutParameter(4, Types.INTEGER);
        
        //執(zhí)行函數(shù)調(diào)用
        cstmt.execute();
        
        //分別獲取1,3,4占位符的值
        String ename = cstmt.getString(1);
        String job = cstmt.getString(3);
        int sal = cstmt.getInt(4);
        //顯示
        System.out.println("7788--"+ename+"--"+job+"--"+sal);
        JDBCUtils.closeQuietly(cstmt);
        JDBCUtils.closeQuietly(conn);
    }
}

當(dāng)前題目:Oracle系列:(33)JDBC訪問Oracle的存儲(chǔ)過程和存儲(chǔ)函數(shù)
轉(zhuǎn)載來源:http://aaarwkj.com/article20/isggjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化網(wǎng)站排名、軟件開發(fā)、App設(shè)計(jì)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
国产av超爽剧情系列| 亚洲精品高清一区二区| 国产欧美一区二区三区久久 | 日韩视频专区一区二区| 中文在线中文天堂黄色片| 免费久久人人爽人人爽| 蜜臀视频网站在线观看| 日韩成人在线视频中文字幕| 国产亚洲中文字幕无线乱码| 亚洲午夜精品久久久天堂| 日本av东京热在线播放| 少妇激情一区二区三区免费视频| 东京热男人的av天堂| 亚洲男人的av天堂生活| 成人午夜激情福利动态| 亚洲欧美精品福利在线| 一区二区在线视频免费播放| 日本福利资源在线观看| 亚洲av成人一区二区三区| 亚洲精品视频一区二区| 日韩精选视频在线播放| av中文字幕乱码在线看| 久草福利资源在线观看视频| 91九色国产成人久久精品| 欧美日本精品在线观看| 97精品国产高清在线| 尤物天堂av一区二区| 亚洲熟女少妇淫语高潮| 激情五月婷婷久久激情| 中午字幕久久亚洲精品| 密臀精品国产一区二区| 国内一级黄色片免费观看| 亚洲婷婷综合久久一区二区| 欧美日韩在线亚洲二区综二| 亚洲午夜精品日韩乱码| 精品人妻av区久久久| 一区二区三区蜜桃av| 日本高清久久一区二区三区| 欧美一级特黄免费大片| 日本人妻风俗店中文字幕| 国产欧美日韩另类在线播放|