Atiitt 使用java语言编写sql函数或存储过程
来源:互联网 发布:天下粮仓 知乎 编辑:程序博客网 时间:2024/05/17 01:24
Atiitt 使用java语言编写sql函数或存储过程
1.1. java编写sql函数或存储过程的机制 1
1.2. Java编写sp的优点 1
1.3. 支持java源码,class文件,blog file等模式。。 2
1.4. 编写java代码 2
1.5. 保存后,他会自动编译为class 2
1.6. 编写一个sql中转函数 3
1.7. 调用 3
现在的 数据库如DB2,Oracle等都支持用Java写存储过程
1.1. java编写sql函数或存储过程的机制
常用的sql语言。。涉及到游标,数据循环表处理还是不错的。。但是,一些复杂算法等,使用java或许更加好些。。。
Oracle支持用java编写fun和sp
Oracle里可以使用多种语言来编写存储过程,比如Pro*C/C++,PL/SQL,COBOL,在Oracle8i开始支持用Java编写存储过程。
Java存储过程与一般的JDBC程序有所不同的是:
1.有安全限制,毕竟是在oracle内部运行的,不允许访问操作系统的资源,如文件。
2.获取数据库联接方式,connection = new OracleDriver().defaultConnection();
3.System.out,System.err,System.in等输入输出有所不同。可以利用某些命令重定向。
供Oracle使用的Java方法必须申明为static,所以在Oracle中你无法使用Java的动态特性,比如接口、反射等
通常我们都使用Ps/SQL为Oracle编写存储过程,从Oracle 8开始我们可以有另一种选择:Java。8.0开始,Oracle自带一个JVM,内置对Java的支持,任何Java能做的事情你都可以放到Oracle里面来做,你甚至可以在里面操作db2。这让Oracle具备了极其巨大的扩展能力,
现在的主流数据如DB2,Oracle等都支持用Java写存储过程
1.2. Java编写sp的优点
算法类方便
一些过程通用。
有class的支持,sql只是过程式 语言。。。
有些存储过程可能计算逻辑比较复杂,特别是可能需要调用外部资源,如WebService或者本地文件等。这时候,用SQL写比较麻烦或者根本没办法实现,这时候,可以采用Java来写存储过程。
工具使用navicat11 ,其他》》java
1.3. 支持java源码,class文件,blog file等模式。。
1.4. 编写java代码
package com.attilax.math;
// com.attilax.math.OracleJavaSp.m1()
public class OracleJavaSp {
public static void main(String[] args) {
// TODO Auto-generated method stub
OracleJavaSp.m1();
}
public static String m1() {
System.out.println("halo");
return "halo2";
}
}
1.5. 保存后,他会自动编译为class
1.6. 编写一个sql中转函数
CREATE OR REPLACE
FUNCTION "java方法" RETURN varchar2
AS
language java name 'com.attilax.math.OracleJavaSp.m1() return java.lang.String';
1.7. 调用
select "java方法"() as结果 from dual
参考资料
ORACLE创建Java过程- Oracle数据库栏目- 红黑联盟.html
JAVA创建Oracle存储过程的实现- 51CTO.COM.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长 uke捕猎协会会长 Emir Uke部落首席大酋长,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理 uke科技研究院院长uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke 户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 ?http://blog.csdn.net/attilax
--Atiend v8
- Atiitt 使用java语言编写sql函数或存储过程
- PL/SQL语言&存储过程&存储函数
- 存储过程sql 编写
- Java中调用存储过程或函数
- java中调用存储过程或函数
- java中调用存储过程或函数
- 使用Java编写oracle存储过程
- 使用Java编写oracle存储过程
- 使用Java编写Oracle存储过程
- java中用事物控制语言调用数据库中的数据,以及调用存储过程或函数
- 如何查看SQL Server 2005使用with encryption 加密的存储过程或触发器,函数
- sql server 2005 几个常用的存储过程或函数
- sql server 2005 几个常用的存储过程或函数
- SQL Server 存储过程编写
- 使用C#编写SQL Server的扩展存储过程
- 在java中调用pl/sql编写的存储过程
- EF中使用SQL语句或存储过程
- SQL存储过程(CLR存储过程)或函数中调用.NET程序集中的方法
- 开发环境的安装和配置
- 进度条
- Linux内核分析——Linux内核如何装载和启动一个可执行程序
- 如何解决hive同时计算多个分位数的问题
- SSL 1120——【USACO 2.4】回家[最短路]
- Atiitt 使用java语言编写sql函数或存储过程
- 关于客户端向服务器端上传文件/照片 失败的情况.可以尝试此方法
- No operations allowed after statement closed.
- WDCP面板系列教程
- spring--data-mongondb ...CannotGetMongoDbConnectionException: Failed to authenticate to database
- 哈希表中线性探测再散列法及等概率条件下平均查找长度
- bzoj 4556
- 如何解决u盘插入电脑 在“我的电脑”中不显示
- 007.PHP生成随机字符串