Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÓÃjavaµ÷ÓÃoracle´æ´¢¹ý³Ì×ܽá
 
×÷Õß dragonboa,£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-07-08
  1735  次浏览      27
 

1¡¢Ê²Ã´ÊÇ´æ´¢¹ý³Ì¡£

´æ´¢¹ý³ÌÊÇÊý¾Ý¿â·þÎñÆ÷¶ËµÄÒ»¶Î³ÌÐò£¬ËüÓÐÁ½ÖÖÀàÐÍ¡£Ò»ÖÖÀàËÆÓÚSELECT²éѯ£¬ÓÃÓÚ¼ìË÷Êý¾Ý£¬¼ìË÷µ½µÄÊý¾ÝÄܹ»ÒÔÊý¾Ý¼¯µÄÐÎʽ·µ»Ø¸ø¿Í»§¡£ÁíÒ»ÖÖÀàËÆÓÚINSERT»òDELETE²éѯ£¬Ëü²»·µ»ØÊý¾Ý£¬Ö»ÊÇÖ´ÐÐÒ»¸ö¶¯×÷¡£ÓеķþÎñÆ÷ÔÊÐíͬһ¸ö´æ´¢¹ý³Ì¼È¿ÉÒÔ·µ»ØÊý¾ÝÓÖ¿ÉÒÔÖ´Ðж¯×÷¡£

2¡¢Ê²Ã´Ê±ºòÐèÒªÓô洢¹ý³Ì

Èç¹û·þÎñÆ÷¶¨ÒåÁË´æ´¢¹ý³Ì£¬Ó¦µ±¸ù¾ÝÐèÒª¾ö¶¨ÊÇ·ñÒªÓô洢¹ý³Ì¡£´æ´¢¹ý³Ìͨ³£ÊÇһЩ¾­³£ÒªÖ´ÐеÄÈÎÎñ£¬ÕâЩÈÎÎñÍùÍùÊÇÕë¶Ô´óÁ¿µÄ¼Ç¼¶ø½øÐеġ£ÔÚ·þÎñÆ÷ÉÏÖ´Ðд洢¹ý³Ì£¬¿ÉÒÔ¸ÄÉÆÓ¦ÓóÌÐòµÄÐÔÄÜ¡£ÕâÊÇÒòΪ£º

.·þÎñÆ÷ÍùÍù¾ßÓÐÇ¿´óµÄ¼ÆËãÄÜÁ¦ºÍËÙ¶È¡£

.±ÜÃâ°Ñ´óÁ¿µÄÊý¾ÝÏÂÔØµ½¿Í»§¶Ë£¬¼õÉÙÍøÂçÉϵĴ«ÊäÁ¿¡£

ÀýÈ磬¼ÙÉèÒ»¸öÓ¦ÓóÌÐòÐèÒª¼ÆËãÒ»¸öÊý¾Ý£¬Õâ¸öÊý¾ÝÐè񻃾¼°µ½Ðí¶à¼Ç¼¡£Èç¹û²»Ê¹Óô洢¹ý³ÌµÄ»°£¬°ÑÕâЩÊý¾ÝÏÂÔØµ½¿Í»§¶Ë£¬µ¼ÖÂÍøÂçÉϵÄÁ÷Á¿¾çÔö¡£

²»½öÈç´Ë£¬¿Í»§¶Ë¿ÉÄÜÊÇһ̨ÀϵôÑÀµÄ¼ÆËã»ú£¬ËüµÄÔËËãËٶȺÜÂý¡£¶ø¸ÄÓô洢¹ý³Ìºó£¬·þÎñÆ÷»áºÜ¿ìµØ°ÑÊý¾Ý¼ÆËã³öÀ´£¬²¢ÇÒÖ»Ðè´«µÝÒ»¸öÊý¾Ý¸ø¿Í»§¶Ë£¬ÆäЧÂÊÖ®¸ßÊǷdz£Ã÷ÏԵġ£

3¡¢´æ´¢¹ý³ÌµÄ²ÎÊý

ÒªÖ´ÐзþÎñÆ÷ÉϵĴ洢¹ý³Ì£¬ÍùÍùÒª´«µÝһЩ²ÎÊý¡£ÕâЩ²ÎÊý·ÖΪËÄÖÖÀàÐÍ£º

µÚÒ»ÖÖ³ÆÎªÊäÈë²ÎÊý£¬Óɿͻ§³ÌÐòÏò´æ´¢¹ý³Ì´«µÝÖµ¡£

µÚ¶þÖÖ³ÆÎªÊä³ö²ÎÊý£¬ÓÉ´æ´¢¹ý³ÌÏò¿Í»§³ÌÐò·µ»Ø½á¹û¡£

µÚÈýÖÖ³ÆÎªÊäÈë/Êä³ö²ÎÊý£¬¼È¿ÉÒÔÓɿͻ§³ÌÐòÏò´æ´¢¹ý³Ì´«µÝÖµ£¬Ò²¿ÉÒÔÓÉ´æ´¢¹ý³ÌÏò¿Í»§³ÌÐò·µ»Ø½á¹û¡£

µÚËÄÖÖ³ÆÎª×´Ì¬²ÎÊý£¬ÓÉ´æ´¢¹ý³ÌÏò¿Í»§³ÌÐò·µ»Ø´íÎóÐÅÏ¢¡£

Ҫ˵Ã÷µÄÊÇ£¬²¢²»ÊÇËùÓеķþÎñÆ÷¶¼Ö§³ÖÉÏÊöËÄÖÖÀàÐ͵IJÎÊý£¬ÀýÈ磬InterBase¾Í²»Ö§³Ö״̬²ÎÊý¡£

4¡¢oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨

1.»ù±¾½á¹¹

CREATE OR REPLACEPROCEDURE ´æ´¢¹ý³ÌÃû×Ö
¡¡¡¡(
¡¡¡¡²ÎÊý1 IN NUMBER,
¡¡¡¡²ÎÊý2 IN NUMBER
¡¡¡¡) IS
¡¡¡¡±äÁ¿1 INTEGER :=0;
¡¡¡¡±äÁ¿2 DATE;
¡¡¡¡BEGIN
¡¡¡¡END ´æ´¢¹ý³ÌÃû×Ö

2.SELECT INTO STATEMENT

½«select²éѯµÄ½á¹û´æÈëµ½±äÁ¿ÖУ¬¿ÉÒÔͬʱ½«¶à¸öÁд洢¶à¸ö±äÁ¿ÖУ¬±ØÐëÓÐÒ»Ìõ

¼Ç¼£¬·ñÔòÅ׳öÒì³£(Èç¹ûûÓмǼÅ׳öNO_DATA_FOUND)

Àý×Ó£º

BEGIN
¡¡¡¡SELECT col1,col2 into ±äÁ¿1,±äÁ¿2 FROM typestruct where xxx;
¡¡¡¡EXCEPTION
¡¡¡¡WHEN NO_DATA_FOUND THEN
¡¡¡¡xxxx;
¡¡¡¡END;

Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì

´æ´¢¹ý³ÌΪ£º

CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
¡¡¡¡BEGIN
¡¡¡¡INSERT INTO HYQ.B_ID (I_ID,I_NAME) S (PARA1, PARA2);
¡¡¡¡END TESTA;

È»ºóÄØ£¬ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´úÂ룺

package com.hyq.src;
import java.sql.*;
import java.sql.ResultSet;
public class TestProcedureOne {
public TestProcedureOne() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: hyq ";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
CallableStatement cstmt = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, " hyq ", " hyq ");
CallableStatement proc = null;
proc = conn.prepareCall("{ call HYQ.TESTA(?,?) }");
proc.setString(1, "100");
proc.setString(2, "TestOne");
proc.execute();
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}

µ±È»ÁË£¬Õâ¾ÍÏÈÒªÇóÒª½¨ÕűíTESTTB,ÀïÃæÁ½¸ö×ֶΣ¨I_ID£¬I_NAME£©¡£

¶þ£ºÓзµ»ØÖµµÄ´æ´¢¹ý³Ì£¨·ÇÁÐ±í£©

´æ´¢¹ý³ÌΪ£º

CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
¡¡¡¡BEGIN
¡¡¡¡SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;
¡¡¡¡END TESTB;

ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´úÂ룺

package com.hyq.src;
public class TestProcedureTWO {
public TestProcedureTWO() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, " hyq ", " hyq ");
CallableStatement proc = null;
proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");
proc.setString(1, "100");
proc.registerOutParameter(2, Types.VARCHAR);
proc.execute();
String testPrint = proc.getString(2);
System.out.println("=testPrint=is="+testPrint);
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}
}

×¢Ò⣬ÕâÀïµÄproc.getString(2)ÖеÄÊýÖµ2²¢·ÇÈÎÒâµÄ£¬¶øÊǺʹ洢¹ý³ÌÖеÄoutÁжÔÓ¦µÄ£¬Èç¹ûoutÊÇÔÚµÚÒ»¸öλÖã¬ÄǾÍÊÇproc.getString(1)£¬Èç¹ûÊǵÚÈý¸öλÖ㬾ÍÊÇproc.getString(3)£¬µ±È»Ò²¿ÉÒÔͬʱÓжà¸ö·µ»ØÖµ£¬ÄǾÍÊÇÔÙ¶à¼Ó¼¸¸öout²ÎÊýÁË¡£

Èý£º·µ»ØÁбí

ÓÉÓÚoracle´æ´¢¹ý³ÌûÓзµ»ØÖµ£¬ËüµÄËùÓзµ»ØÖµ¶¼ÊÇͨ¹ýout²ÎÊýÀ´Ìæ´úµÄ£¬ÁбíͬÑùÒ²²»ÀýÍ⣬µ«ÓÉÓÚÊǼ¯ºÏ£¬ËùÒÔ²»ÄÜÓÃÒ»°ãµÄ²ÎÊý£¬±ØÐëÒªÓÃpagkageÁË.ËùÒÔÒª·ÖÁ½²¿·Ö£¬

1£¬ ½¨Ò»¸ö³ÌÐò°ü¡£ÈçÏ£º

CREATE OR REPLACE PACKAGE TESTPACKAGE  AS
¡¡¡¡TYPE Test_CURSOR IS REF CURSOR;
¡¡¡¡end TESTPACKAGE;

2£¬½¨Á¢´æ´¢¹ý³Ì£¬´æ´¢¹ý³ÌΪ£º

CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS
¡¡¡¡BEGIN
¡¡¡¡OPEN p_CURSOR FOR SELECT * FROM HYQ.TESTTB;
¡¡¡¡END TESTC;

¿ÉÒÔ¿´µ½£¬ËüÊǰÑÓα꣨¿ÉÒÔÀí½âΪһ¸öÖ¸Õ룩£¬×÷Ϊһ¸öout ²ÎÊýÀ´·µ»ØÖµµÄ¡£

ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´úÂ룺

package com.hyq.src;
import java.sql.*;
import java.io.OutputStream;
import java.io.Writer;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oracle.jdbc.driver.*;
public class TestProcedureTHREE {
public TestProcedureTHREE() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "hyq", "hyq");
CallableStatement proc = null;
proc = conn.prepareCall("{ call hyq.testc(?) }");
proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
proc.execute();
rs = (ResultSet)proc.getObject(1);
while(rs.next())
{
System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");
}
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}

ÔÚÕâÀïҪעÒ⣬ÔÚÖ´ÐÐǰһ¶¨ÒªÏȰÑoracleµÄÇý¶¯°ü·Åµ½class·¾¶À·ñÔò»á±¨´í¡£

   
1735 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö


Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ


Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ