关闭

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

标签: JAVAPLSQL函数
242人阅读 评论(0) 收藏 举报
分类:

</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;

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6067次
    • 积分:228
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:2篇
    • 译文:1篇
    • 评论:0条
    文章分类