a毛片毛费观看-a毛片在线-a毛片在线观看-a毛片在线免费观看-国产成人综合洲欧美在线-国产成人综合高清在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle存儲過程的調用

發布時間:  2012/8/16 17:11:45

Oracle 表的語句

  create table student(sid int,sname varchar(20),sno int)

一:無返回值的存儲過程

 create or replace procedure proc_student(para1 Integer, para2 varchar2, para3 Integer)


 is

 

BEGIN
 insert into student(sid,snam,sno) values (para1,para2,para3);
end ;

public class TestProcedureOne {


 public static final String DRIVER = "Oracle.jdbc.driver.OracleDriver";
 public static final String URL = "jdbc:Oracle:thin:@localhost:1521:orcl";
 public static final String USERNAEM = "system";
 public static final String PASSWORD = "123";

 public static void main(String[] args)

{

  ResultSet rs = null;
  Connection conn = null;
  CallableStatement proc = null;
  try {
   Class.forName(DRIVER);
   conn = DriverManager.getConnection(URL, USERNAEM, PASSWORD);

   proc = conn.prepareCall("{call system.testc(?,?,?)}");//這里不是PreparedStatement接口,而是調用存儲過程的接口

   proc.setInt(1, 1);
   proc.setString(2, "zhangsan");
   proc.setInt(3, 2);//這里的參數是根據sql語句的順序來的
   proc.execute();

  } catch (SQLException ex2) {
   ex2.printStackTrace();

  } catch (Exception ex2) {
   ex2.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
     if (proc != null) {
      proc.close();
     }
     if (conn != null) {
      conn.close();
     }
    }
   } catch (SQLException ex1) {
   }
  }
 }
}

二:有返回值的存儲過程(非列表)

  create or replace procedure proc_student2(para_1 Integer,para_2 out varchar2, para_3 out

  Integer)
   is
 begin
  select snam,sno into para_2,para_3 from student where sid =  para_1;
 end proc_student2 ;

 java的主要代碼如下

 proc = conn.prepareCall("{call system.proc_student2(?,?,?)}");

   proc.setInt(1, 1);
   proc.registerOutParameter(2, Types.VARCHAR);//輸出參數的類型
   proc.registerOutParameter(3, Types.INTEGER);
   proc.execute();
   System.out.println(proc.getString(2)+proc.getInt(3));

三:返回列表

由于Oracle存儲過程沒有返回值,它的所有返回值都是通過out參數來替代的,列表同樣也不例外,但由于是集合,所以不能用一般的參數,必須要用pagkage了.所以要分兩部分,

1, 建一個程序包。如下:

 create or replace package package_1

as

type test_cursor is ref cursor;

end package_1;

2,建立存儲過程,存儲過程為:

create or replace prcedure proc_student3(stu_cursor out package_1.test_cursor) is

begin

 open stu_cursor for select * from system.student

end

可以看到,它是把游標(可以理解為一個指針),作為一個out 參數來返回值的。

 java的主要代碼如下

   proc = conn.prepareCall("{call system.proc_student3(?)}");
   proc.registerOutParameter(1, Oracle.jdbc.OracleTypes.CURSOR);
   proc.execute();
   rs = (ResultSet) proc.getObject(1);
   while(rs.next()){
    System.out.println(rs.getInt(1)+rs.getString(2)+rs.getInt(3));
 


本文出自:億恩科技【www.ibaoshan.net】

Oracle 表的語句

  create table student(sid int,sname varchar(20),sno int)

一:無返回值的存儲過程

 create or replace procedure proc_student(para1 Integer, para2 varchar2, para3 Integer)


 is

 

BEGIN
 insert into student(sid,snam,sno) values (para1,para2,para3);
end ;

public class TestProcedureOne {


 public static final String DRIVER = "Oracle.jdbc.driver.OracleDriver";
 public static final String URL = "jdbc:Oracle:thin:@localhost:1521:orcl";
 public static final String USERNAEM = "system";
 public static final String PASSWORD = "123";

 public static void main(String[] args)

{

  ResultSet rs = null;
  Connection conn = null;
  CallableStatement proc = null;
  try {
   Class.forName(DRIVER);
   conn = DriverManager.getConnection(URL, USERNAEM, PASSWORD);

   proc = conn.prepareCall("{call system.testc(?,?,?)}");//這里不是PreparedStatement接口,而是調用存儲過程的接口

   proc.setInt(1, 1);
   proc.setString(2, "zhangsan");
   proc.setInt(3, 2);//這里的參數是根據sql語句的順序來的
   proc.execute();

  } catch (SQLException ex2) {
   ex2.printStackTrace();

  } catch (Exception ex2) {
   ex2.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
     if (proc != null) {
      proc.close();
     }
     if (conn != null) {
      conn.close();
     }
    }
   } catch (SQLException ex1) {
   }
  }
 }
}

二:有返回值的存儲過程(非列表)

  create or replace procedure proc_student2(para_1 Integer,para_2 out varchar2, para_3 out

  Integer)
   is
 begin
  select snam,sno into para_2,para_3 from student where sid =  para_1;
 end proc_student2 ;

 java的主要代碼如下

 proc = conn.prepareCall("{call system.proc_student2(?,?,?)}");

   proc.setInt(1, 1);
   proc.registerOutParameter(2, Types.VARCHAR);//輸出參數的類型
   proc.registerOutParameter(3, Types.INTEGER);
   proc.execute();
   System.out.println(proc.getString(2)+proc.getInt(3));

三:返回列表

由于Oracle存儲過程沒有返回值,它的所有返回值都是通過out參數來替代的,列表同樣也不例外,但由于是集合,所以不能用一般的參數,必須要用pagkage了.所以要分兩部分,

1, 建一個程序包。如下:

 create or replace package package_1

as

type test_cursor is ref cursor;

end package_1;

2,建立存儲過程,存儲過程為:

create or replace prcedure proc_student3(stu_cursor out package_1.test_cursor) is

begin

 open stu_cursor for select * from system.student

end

可以看到,它是把游標(可以理解為一個指針),作為一個out 參數來返回值的。

 java的主要代碼如下

   proc = conn.prepareCall("{call system.proc_student3(?)}");
   proc.registerOutParameter(1, Oracle.jdbc.OracleTypes.CURSOR);
   proc.execute();
   rs = (ResultSet) proc.getObject(1);
   while(rs.next()){
    System.out.println(rs.getInt(1)+rs.getString(2)+rs.getInt(3));
 


本文出自:億恩科技【www.enidc.com】
-->

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    亚洲不卡无码A∨在线| 国产亚洲大尺度无码无码专线| 亚洲AV成人一区二区三区天堂| 女女女女女裸体处开BBB| 国产欧美精品一区AⅤ影院| 99RIAV国产精品视频| 亚洲AV无码成人精品区在线h| 欧洲-级毛片内射| 黑人上司好猛我好爽中文字幕| 被夫上司强迫的女人在线中文| 亚洲狠狠婷婷综合久久久久图片| 日本熟妇毛茸茸XXXX| 久久精品日日躁夜夜躁| 国产成人精品综合久久久久性色 | 少妇人妻无码专区毛片| 麻豆AV一区二区三区久久| 国产欧美亚洲精品第一页 | 极品婬荡少妇XXXX欧美| 成人无码午夜在线观看| 一区二区三区国产好的精华液| 无码人妻熟妇av又粗又大| 欧美无遮挡很黄裸交视频| 娇妻当着我的面被4P| 俄罗斯老少配BBW| 中文字幕免费不卡二区| 亚洲AV无码一区二区三区在线| 日本AⅤ精品一区二区三区 | 唱歌的大姐姐也想做 | 久久人人爽爽人人爽人人片AV| 国产精品18HDXXXⅩ| GAY2022空少被体育生暴菊| 亚洲男人第一无码AV网站| 少妇高清精品毛片在线视频| 蜜桃人妻一区二区三区| 和人妻隔着帘子按摩中字| 多毛freeoprn熟妇多毛y| 在线精品动漫一区二区无码| 亚洲ⅤA中文字幕无码| 日韩精品卡2卡3卡4卡5| 乱人伦人妻中文字幕无码91九| 国产在线精品二区| 抽插丰满内射高潮视频| 日本怡春院一区二区三区| AV永久天堂一区二区三区香港 | 老头的大龟挺进秀婷小说| 国产旡码高清一区二区三区| JAPANESE军人强迫| 亚洲一本到无码AV中文字幕| 无码一区二区三区AV免费| 人妻熟妇乱又伦精品视频无广告| 久久久久久久精品免费| 国产情侣露脸高清在线| 成年美女黄网站色大免费视频| 中国内射XXXX6981少妇| 亚洲成AV人无码综合在线观看| 搡老女人P老熟妇老熟女| 女人高潮抽搐30分钟| 久久99精品久久久久久噜噜| 国产精品无码不卡一区二区三区 | 67194熟妇在线直接进入百度| 亚洲妇女行蜜桃AV网网站| 熟妇人妻av无码一区二区三区 | 国产精品有码无码AV在线播放| 餐桌下狂C亲女水欧阳凝| _97夜夜澡人人爽人人喊_欧美| 妺妺窝人体色777777换脸| 狠狠亚洲婷婷综合色香五月加勒比 | YYY6080韩国三级理论| 一本之道无码一区二区| 亚洲AⅤ天堂AV天堂无码APP| 日日噜噜噜夜夜爽爽狠狠视频| OLDGRAANNY日本老熟妇| 国精品产露脸偷拍视频| 大香伊蕉在人线国产69| 97丨九色丨国产人妻▌| 亚洲中文久久精品无码| 亚洲 日韩 丝袜 熟女 变态| 中文字幕一线产区和二线区的区别| 久久婷婷五月综合97色直播| 国产无遮挡无码视频免费软件| 日本护士HD人XXXX| 国产精品久久久久久久| 差差差30分钟视频轮滑免费| 欧美亚洲国产片在线播放| 韩国三级香港三级日本三级L| 国产成年无码V片在线| 把腿扒开让我舔免费视频| 18精品久久久无码午夜福利| 亚洲熟女丰满多毛XXXXX| 亚洲AV喷水无码XXX| 天美传媒免费观看一二三在线 | 日本精品一区二区三区在线视频 | 日本熟熟妇XXXXX精品熟妇| 女子遭遇疯狂侵犯| 久久亚洲中文字幕精品有坂深雪| 狠色狠色狠狠色综合久久| 国产精品一亚洲AV日韩AV欧| 高清VIDEOSGRATIS欧| 被公侵犯肉体中文字幕电影| 99久久人妻无码中文字幕系列 | www.AV无码| 97porm国内自拍视频| 在线成人A毛片免费播放| 亚洲色大成网站WWW尤物| 亚洲AV中文无码字幕色最| 无人区一码一码二码三码区别| 四季亚洲精品成人AV无码网站| 日韩高清免费A级毛片| 人妻丰满AV无码久久不卡| 欧产日产国产精品| 免费观看美女裸体的网站| 老熟女太熟了95AV| 久久久亚洲AV成人网站| 久久寂寞少妇成人内射| 精品久久人人爽人人玩人人妻| 好男人在在线社区WWW在线影院| 国产午夜成人无码免费看不卡| 国产精品JIZZ在线观看| 国产成人AV综合久久视色| 冲动的惩罚动漫HD在线播放| 啊灬啊灬啊灬快灬高潮了霸总| ⅩXXⅩ互换人妻四人互换| 6080YYY午夜理伦三级| 中文字幕JUL975老公不在| 一区二区三区中文字幕| 亚洲综合欧美在线一区在线播放| 亚洲人成人无码网WWW国产| 亚洲国产精品成人久久久| 亚洲AV无码熟妇在线观看| 亚洲AV成人精品网站在线播放| 小浪货腿张开水好多呀H| 午夜精品一区二区三区在线视| 无码精品一区二区三区在线| 天天躁日日躁狠狠躁欧美老妇小说| 施主就让贫僧C进去吧| 色黄啪啪网18以下勿进| 日韩精品无码一区二区三区视频 | 无码专区 丝袜美腿 制服师生| 天天摸天天碰成人免费视频| 色综合久久久久综合一本到桃花网 | 草草浮力影院禁止18进入| 暴躁老阿姨CSGO| 帮妺妺洗澡忍不住C了她作文 | 国内精品免费视频自在线拍| 国产亚洲精品自在久久| 国产肉丝袜在线观看| 国产欧美久久久精品影院| 国产丝袜视频一区二区三区| 国产午夜亚洲精品理论片不卡| 国产山东熟女48嗷嗷叫| 国产帅男男GAY网站视频| 国产一起色一起爱| 韩国毛片两个母亲电影在线播放| 国精产品999一区二区三区有限| 韩国三级大全久久网站| 红杏亚洲影院一区二区三区| 精品第一国产综合精品蜜芽| 精品欧洲AV无码一区二区三区 | 无码毛片视频一区二区三区| 无码少妇xxxx| 午夜福利1000 92免费| 西方137大但人文艺术| 性夜影院爽黄A爽免费动漫| 亚洲AV日韩AV高潮喷无码| 亚洲V国产V天堂A无码二区| 亚洲成人无码一区| 亚洲欧洲精品无码AV| 亚洲综合熟女久久久40P| 岳女四人共侍一夫婷婷| 中文乱码人妻一区二区三区视频 | 天堂АⅤ在线最新版在线| 污污免费看锕锕锕锕锕锕| 性高朝久久久久久久3小时| 亚洲AV无码无在线观看红杏| 亚洲阿V天堂无码Z2018| 亚洲精品无码AV片| 亚洲中文字幕久久精品无码喷水 | 午夜理论电影在线观看亚洲| 亚洲AV成人永久网站www在线| 亚洲大肥女ASS硕大| 亚洲一区二区三区成人片在线观看| 永久免费看真人动漫网站| 坐公交车居然被弄了2个小时| CEKC老妇女CEA0| 超级YIN荡的公司聚会| 妇女被深耕过后的变化| 国产精品视频YJIZZ| 国精品产露脸偷拍视频| 精品日韩欧美一区二区在线播放| 久久精品亚洲乱码伦伦中文| 麻花传媒0076在线观看| 欧美成人午夜视频| 人人妻人人爽人人澡AV| 少妇18p一区二区三区| 午夜AV无码福利免费看网站| 亚洲成AV人在线播放无码| 一本大道久久A久久综合| 97人人超碰国产精品最新o| 被黑人下药做得受不了| 国产 中文 制服丝袜 另类|