sql方面的***********************************************

create table aa

(

a_id number(10) primary key,

a_name varchar2(50),

a_sex varchar2(4),

a_date date,

a_money number(8,2)

)

--查看下是否成功

select * from aa;

--创建触发器

create sequence aa_id_seq increment by 1 start with 1;

--插入一条数据测试一下

insert into aa(a_id,a_name,a_sex,a_date,a_money)

values(1,'陈飞龙','男',sysdate,55.55);--成功

insert into aa(a_name,a_sex,a_date,a_money)

values('陈飞龙','男',sysdate,55.55);--不成功,有序列但是没自增

--创建触发器

create or replace trigger aa_id_tigger

before insert on aa for each row

begin

if:new.a_id

is null

then

select aa_id_seq.nextval into:new.a_id from dual;

end

if;

end;

/

--插入一数据进行测试

delete from aa;

insert into aa(a_name,a_sex,a_date,a_money)

values('陈小龙','男',sysdate,66.55);--成功

--插入信息的存储过程

create or replace procedure aa_insert_pro

(

b_name in aa.a_name%type,

b_sex in aa.a_sex%type,

b_money in aa.a_money%type

)

as

begin

insert into

aa(a_name,a_sex,a_date,a_money)

values(b_name,b_sex,sysdate,b_money);

end aa_insert_pro;

/

--删除的存储过程

create or replace procedure aa_delete_pro

(

b_id in number

)

as

begin

delete from

aa where a_id = b_id;

end aa_delete_pro;

/

--修改表aa的存储过程

create or replace procedure aa_update_pro

(

b_id in number,

b_name in varchar2,

b_sex in aa.a_sex%type,

b_money in aa.a_money%type

)

as

begin

update aa set a_name = b_name,a_sex = b_sex,a_date =

sysdate,a_money = b_money where a_id = b_id;

end aa_update_pro;

/

--查询一条数据的某些个数据字段

create or replace procedure aa_seleceById_pro

(

b_id in number,

b_name out varchar2,

b_sex out varchar2,

b_date out date,

b_money out number

)

as

begin

select

a_name,a_sex,a_date,a_money into b_name,b_sex,b_date,b_money from

aa where a_id = b_id;

end aa_seleceById_pro;

/

-------------------------------------------------------------------------------

--查询多个数据,步骤1,2

--步骤1:创建程序包

create or replace package aa_package as

type aa_all is ref cursor;

end aa_package;

/

--步骤2:利用程序包创建多查询

create or replace procedure aa_selectMore_pro

(

b_all out aa_package.aa_all

)

as begin open b_all

for select * from aa;

end aa_selectMore_pro;

/

select * from aa where a_id = 2;

java类文件方面*****************************************************************************************

类DB,连接数据库:

package com.db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

public class DB

{

private static Connection con = null;

private static ResultSet rs = null;

private static PreparedStatement pstm = null;

public static Connection getCon()

{

String driver =

"oracle.jdbc.driver.OracleDriver";

String url =

"jdbc:oracle:thin:@localhost:1521:orcl";

String uid = "scott";

String pid = "tiger";

try

{

Class.forName(driver);

con =

DriverManager.getConnection(url, uid, pid);

} catch (Exception e)

{

e.printStackTrace();

con =

null;

}

System.out.println("打开");

return con;

}

public static void closeCon()

{

try

{

if (rs !=

null)

{

rs=null;

}

if(con !=

null)

{

con=null;

}

if(pstm !=

null)

{

pstm=null;

}

} catch (Exception e)

{

e.printStackTrace();

}finally

{

rs

=null;

pstm =

null;

con =

null;

System.out.println("关闭");

}

}

public static void main(String[] args)

{

DB db = new DB();

System.out.println(DB.getCon());

DB.closeCon();

}

}

类TESTAA,操作存储过程

package com.chen;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Types;

import java.util.Date;

import com.db.DB;

public class TestAA

{

private Connection con = null;

ResultSet rs = null;

CallableStatement cstm = null;

public void insertAA(String name,String sex,double money)

{

try

{

String sql =

"call scott.aa_insert_pro(?,?,?)";

if(con ==

null) con = DB.getCon();

cstm =

con.prepareCall(sql);

cstm.setString(1, name);

cstm.setString(2, sex);

cstm.setDouble(3, money);

boolean flag

= cstm.execute();

System.out.println("写入完成:"+ flag);

} catch (Exception e)

{

e.printStackTrace();

}

finally

{

DB.closeCon();

}

}

public void deleteAA(int id)

{

try

{

String sql =

"call aa_delete_pro(?)";

if(con ==

null) con = DB.getCon();

cstm =

con.prepareCall(sql);

cstm.setInt(1, id);

boolean flag

= cstm.execute();

System.out.println("删除结果:"+flag); } catch (Exception e)

{

e.printStackTrace();

}

finally

{

DB.closeCon();

}

}

public void updateAA(int id,String name,String sex,double

money)

{

try

{

String sql =

"call aa_update_pro(?,?,?,?)";

if(con ==

null) con = DB.getCon();

cstm =

con.prepareCall(sql);

cstm.setInt(1, id);

cstm.setString(2, name);

cstm.setString(3, sex);

cstm.setDouble(4, money);

int k =

cstm.executeUpdate();

boolean flag

;

if(k>0)

{

flag = true;

}else

{flag =

false;}

System.out.println("修改结果为:"+flag);

} catch (Exception e)

{

e.printStackTrace();

}

finally

{

DB.closeCon();

}

}

public void selectSomeById(int id)

{

try

{

String sql =

"call aa_seleceById_pro(?,?,?,?,?)";

if(con ==

null) con = DB.getCon();

cstm =

con.prepareCall(sql);

cstm.setInt(1, id);

cstm.registerOutParameter(2, Types.VARCHAR);

cstm.registerOutParameter(3, Types.VARCHAR);

cstm.registerOutParameter(4, Types.DATE);

cstm.registerOutParameter(5, Types.INTEGER);

cstm.execute(); String name

= cstm.getString(2);

String sex =

cstm.getString(3);

Date date =

cstm.getDate(4);

int money =

cstm.getInt(5);

System.out.println("name = "+name+"\tsex = "+sex+"\tdate =

"+date+"\tmoney = "+money);

} catch (Exception e)

{

e.printStackTrace();

}

finally

{

DB.closeCon();

}

}

public void selectAllAA()

{

try

{

String sql =

"call aa_selectMore_pro(?)";

if(con ==

null) con = DB.getCon();

java oracle 增删改查_oracle:java直接操作oracle存储过程---增删改查相关推荐

  1. oracle用户数据库导错,root 用户操作 ORACLE 数据库导致悲剧

    接到同事请求,说客户的linux redhat 5.8平台部署的11.2.0.3 RAC 节点2挂掉了,报磁盘IO异常,数据库hang住 Fri Jun 14 12:01:22 2013 Thread ...

  2. java数据库edit_Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  3. oracle数据库导出灰色_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...

    方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导出,详情如 ...

  4. oracle occi出现乱码,linux下occi操作oracle数据库,中文乱码的问题

    转载:http://www.linuxidc.com/Linux/2008-02/11238.htm 前几日调通了OCI连接数据库的问题后,用Oracle自带的例子测试了一下,能正常读取数据(都是英文 ...

  5. Oracle中获取文件中的数据,操作oracle中的数据文件

    收藏于http://dev.yesky.com/296/8090796.shtml Oracle数据库 中管理表空间和数据文件 数据库的三大组成部分:数据文件,控制文件,Redo日志. 表空间分为系统 ...

  6. 使用sys导出oracle,oracle 让sys用户执行exp导出操作

    oracle 让sys用户执行exp导出操作 [oracle@localhost ~]$ exp sys/abcdefg as sysdba full=y file=/tmp/full100.dmp ...

  7. oracle数据库 cmd,cmd命令操作Oracle数据库

    //注意cmd命令执行的密码字符不能过于复杂 不能带有特殊符号 以免执行不通过 譬如有!@#¥%--&*之类的  所以在Oracle数据库设置密码是不要太复杂 /String Database ...

  8. oracle重启root,案例:Oracle报错ORA-15025 ORA-27041 root用户操作rac导致节点宕机

    天萃荷净 运维DBA反映Oracle RAC环境中节点宕机,alert发现报错ORA-15025 ORA-27041,分析原因为使用root用户操作rac导致节点宕机 接到同事请求,说客户的linux ...

  9. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  10. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

最新文章

  1. sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本
  2. Windows PowerShell:Windows PowerShell的简介、入门、使用方法之详细攻略
  3. VTK:网格用法实战
  4. 魔兽三国服务器维护,魔兽三国开服七天技巧
  5. man hdparm
  6. 阻止form表单提交的常用方式
  7. 一文弄懂“分布式锁”
  8. 2021级C语言大作业 - 一笔画
  9. 计算机技术薄弱对我省影响,计算机技术在贵州省西南地区的运用前景.docx
  10. ini_set和require使用
  11. 使你的程序支持多GPU渲染
  12. 解决打印机后台程序服务没有运行
  13. avr单片机c语言库,AVR单片机C语言编译器
  14. 51单片机LED灯闪烁
  15. 10计算机网络需要密码是多少钱,Win10宽带连接不用每次都要输入密码的办法
  16. 月浅灯深,梦里jar包何处寻
  17. (转)知乎作者邓文龙:Kensho是做什么的?
  18. 车载显示屏申请E-mark认证需要测试些什么?
  19. 服务器不能用pe安装win7系统安装,PE安装win7系统失败的完美解决方案
  20. Python字典用法大全Dict

热门文章

  1. 360插件化方案RePlugin学习笔记-插件使用宿主中的类
  2. 淘宝直通车可以退款吗?怎么退?
  3. .NET软件授权管理解决方案Eziriz .NET IntelliLock控件详细介绍
  4. JSHOP2学习4:浅谈与SHOP2的区别
  5. 合伙人(GP) 有限合伙人(LP)是什么意思?
  6. 使用vue-awesome-swiper制作H5动画页面
  7. 【错误记录】Kotlin 报错 ( Some kotlin libraries attached to this project were compiled with a newer kotlin )
  8. css样式鼠标放上去变成手的形状
  9. 数学之路-python计算实战(4)-Lempel-Ziv压缩(1)
  10. 中国行政区县GPS坐标