JAVA程序调用PLSQL里边写的小函数

原创 2015年07月07日 11:12:43

</pre>1.首先需要登陆PLSQL。在procedure里边创建函数</h1><div><img src="http://img.blog.csdn.net/20150707111424657?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></div><div>函数如下:</div><div><pre name="code" class="plain">create or replace procedure tableCT( sqlStr in varchar2) is
-- sqlStr1 varchar2(80);
begin
  --sqlStr1 := 'CREATE table HPDAPPENDIX.A (a number)';
  Execute immediate sqlStr;
end;

2.在java中写程序调用函数

1.连接数据库:
package DB;

//连接数据库

import java.sql.*;

public class ConnDB {
	
	private Connection conn = null;
	
	public Connection getConn(){
		
		
		try{
	  		String className="oracle.jdbc.driver.OracleDriver";
	  		String url = "jdbc:oracle:thin:@localhost:1521:tjhc";  		
	  		//String userName = "sys as sysdba";
	  		String userPass ="123456";
<span style="white-space:pre">			</span>Class.forName(className);
	  		conn = DriverManager.getConnection(url,"sys as sysdba",userPass);
			
		}catch(Exception e){
			
			e.printStackTrace();
		}
		
		return conn;
	}
}


2.调用函数:
<pre name="code" class="java">package DB;

import java.util.*;
import java.sql.*;

public class tblCT {
	public static void main(String[] args){
		Connection conn = null;
		CallableStatement proc = null;
		ResultSet rs = null;
		try{
			conn = new ConnDB().getConn();
			proc = conn.prepareCall("{call tableCT(?)}");//注意,一定要用大括号!刚开始用小括号,坑死我了
			//传递参数
			proc.setString(1, "CREATE table HPDAPPENDIX.A (a number)");
			proc.execute();

		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			try {
				proc.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}




3.如此便可调用PLSQL中的函数

当然也可以直接在PLSQL中调用自己写的PLSQL函数:
--声明变量
declare

sqlStr varchar2(100);
begin
  --dbms_output.put_line(tName);
  sqlStr := 'CREATE table HPDAPPENDIX.B (a number)';
  tableCT(sqlStr);
  
  end;

当然,我只是初学者,还在不断的摸索中。哈哈

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle plsql 自定义函数

例如: CREATE OR REPLACE FUNCTION HELLO(str IN VARCHAR2) RETURN VARCHAR2 IS RET VARCHAR2(20); BEGIN ...
  • feier7501
  • feier7501
  • 2014年03月03日 22:34
  • 6419

执行oracle函数的四种方法

附加问题: PLSQL 命令窗口执行语句按回车有效,执行无效?
  • xudong1107
  • xudong1107
  • 2017年05月26日 10:06
  • 2167

oracle在SQL*plus中函数/过程的调用方法小结

在SQL*plus中函数/过程的调用方法:--说明:key_barcode()为已建的函数,参数为m_no in char,sq in char,pt in char,nkey为返回值.--p_key...
  • andyxujie
  • andyxujie
  • 2004年08月27日 01:16
  • 3665

微信小程序 page.js 中的 函数调用(this, that)

微信小程序 page.js 函数调用 this that
  • hahei2020
  • hahei2020
  • 2017年12月20日 16:22
  • 135

编写pl/sql包并执行包中的过程和函数

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。①可以使用create package语句来创建包。--建包的例子create package sp_package is procedure...
  • Dean_Deng
  • Dean_Deng
  • 2011年07月23日 17:53
  • 3678

PLSQL存储过程及存储函数

1.存储过程与存储函数的区别: 存储过程无返回值,存储函数有返回值。 2.存储过程:demo1: declare    --声明一个记录类型   type emp_record is recor...
  • cpp1781089410
  • cpp1781089410
  • 2016年03月27日 18:02
  • 2264

JDBC调用存储函数(PL/SQL)

1.简介 本文使用JDBC调用 java,sql.CallableStatement来实现 2.CallableStatement介绍 public interface Callab...
  • w2232097312
  • w2232097312
  • 2016年08月11日 11:06
  • 1057

Java中使用ibatis调用Oracle存储过程和函数

Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。 ibatis是“半自动化”,并不会...
  • aspnet2002web
  • aspnet2002web
  • 2016年04月12日 18:42
  • 1723

小程序公用js提取到app.js中调用的实例

http://www.cnblogs.com/yiweiyihang/p/7115046.html index.wxml: class="datas" bindtap="test0...
  • llixiangjian
  • llixiangjian
  • 2017年10月09日 18:03
  • 1042

SQL/PLSQL:日期函数总结

TO_DATE格式(以当前时间: 2017年2月9日11:25:38 为例) 1.年: yy 两位年 显示值:17 yyy 三位年 显示值:017 yyyy 四位年  显示值:2017...
  • crzzyracing
  • crzzyracing
  • 2017年02月09日 11:20
  • 1196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA程序调用PLSQL里边写的小函数
举报原因:
原因补充:

(最多只允许输入30个字)