日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

激动,新手第一次小试oracle的存储过程

發(fā)布時間:2024/9/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 激动,新手第一次小试oracle的存储过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

之前一直寫觸發(fā)器,期間一直接觸和聽說了存儲過程,好多天過去了,今天才第一次使用了存儲過程。

一,問題提出:http://zhidao.baidu.com/question/113921713.html

求一個oracle程序塊,循環(huán)插入A表一百行數(shù)據(jù).

就是定義一個變量,然后讓人他循環(huán)一百次,往數(shù)據(jù)庫里插入數(shù)據(jù). 插入的行只有一列是不一樣的,就是這個變量,其它一樣.請問如何寫. 表結(jié)構(gòu)就二列.一個是放這個變量 a列,一個是名稱列.create table A (a numeric,b varchar2(50) ) 有會的請賜教 ,謝謝

二,解決過程

1,創(chuàng)建表,需要在plsql中的command窗口

create table e (a numeric,b varchar2(50) );

2,創(chuàng)建存儲過程,在plsql中,和trigger的創(chuàng)建方式差不多。

create or replace procedure insert_a is temp varchar2(20):='aaaa'; beginfor i in 1..100 loopinsert into e(a,b) values(i,temp);end loop; end;

3,在command窗口調(diào)用存儲過程exec,注意調(diào)用成功之后,需要按下plsql的“寫入”按鈕,和使用update之后commit寫入一樣。

4,執(zhí)行之后的e表,100條記錄出來了。

三,oracle存儲過程詳解。轉(zhuǎn)自http://blog.163.com/study_notes/blog/static/17610324320118610611676/

存儲過程
1 什么是存儲過程?
?用于在數(shù)據(jù)庫中完成特定的操作或者任務(wù)。是一個PLSQL程序塊,可以永久的保存在數(shù)據(jù)庫中以供其他程序調(diào)用。

2 存儲過程的參數(shù)模式


存儲過程的參數(shù)特性:
?IN類型的參數(shù)?OUT類型的參數(shù)?IN-OUT類型的參數(shù)
值被?傳遞給子程序?返回給調(diào)用環(huán)境?傳遞給子程序
返回給調(diào)用環(huán)境
參數(shù)形式?常量?未初始化的變量?初始化的變量
使用時?默認類型?必須明確指定?必須明確指定


3 無參數(shù)存儲過程的使用:
CREATE OR REPLACE PROCEDURE 過程名 [(parameter,...)]
IS
定義變量
Begin
Plsql程序
End;

例:創(chuàng)建一個存儲過程,用于向數(shù)據(jù)庫中插入一條記錄。
第一步:創(chuàng)建
CREATE OR REPLACE PROCEDURE pro_1
IS
Begin
insert into person values (11,'aa','aav');
End;

第二步:在sql*plus中執(zhí)行該過程
exec pro_1;

第三步:通過JDBC使用存儲過程。
?private Connection conn = null;
?private ResultSet rs = null;
?private CallableStatement state = null;
?//調(diào)用一個無參數(shù)的存儲過程
?public void testPro()
?{
conn = Tools.getConnection();
try {
state = conn.prepareCall("{call pro_1}");
state.execute();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
?}


4 帶有IN類型參數(shù)的存儲過程的使用。
例:創(chuàng)建一個存儲過程,用于向數(shù)據(jù)庫中插入一條記錄。
第一步:創(chuàng)建
CREATE OR REPLACE PROCEDURE pro_2(id number,name varchar2,email varchar2)
IS
Begin
insert into person values (id,name,email);
End;
第二步:在sql*plus中執(zhí)行該過程
exec pro_2(12,'aaa','aaa');

第三步:通過JDBC使用存儲過程。
?//使用一個帶有 IN 類型參數(shù)的存儲過程
?public void testPro_in(int id,String name,String email)
?{
conn = Tools.getConnection();
try {
state = conn.prepareCall("{call pro_2(?,?,?)}");
state.setLong(1, id);
state.setString(2, name);
state.setString(3, email);
state.execute();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
?}

5 帶有out類型參數(shù)的存儲過程的使用。
例:創(chuàng)建一個存儲過程,用于返回數(shù)據(jù)庫中的Person表的總行數(shù)。

第一步:創(chuàng)建
CREATE OR REPLACE PROCEDURE pro_3(num out number)
IS
mynum number;
Begin
select count(*) into mynum from person;
num := mynum;
End;
或者
CREATE OR REPLACE PROCEDURE pro_3(num out number)
IS
Begin
select count(*) into num from person;
End;

第二步:在sql*plus中執(zhí)行該過程
declare
a number;
begin
pro_3(a);
dbms_output.put_line(a);
end;

第三步:通過JDBC使用存儲過程。
public void testPro_out()
?{
conn = Tools.getConnection();
try {
state = conn.prepareCall("{call pro_3(?)}");
state.registerOutParameter(1, Types.NUMERIC);
state.execute();
int num = state.getInt(1);
System.out.println(num);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
?}

6 帶有in-out類型參數(shù)的存儲過程的使用。
創(chuàng)建:
CREATE OR REPLACE PROCEDURE pro_4(num in out number)
IS
a number := 100;
Begin
num := a*num;
End;

sql*plus中執(zhí)行該過程
declare
a number := 12;
begin
pro_4(a);
dbms_output.put_line(a);
end;




?

總結(jié)

以上是生活随笔為你收集整理的激动,新手第一次小试oracle的存储过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 草女人视频| 亚洲视频天天射 | 精品国产一区一区二区三亚瑟 | 天干夜夜爽爽日日日日 | 国产一区在线观看免费 | 99久久婷婷国产综合精品草原 | 免费av小说| 天天免费看av | 成人福利视频在线观看 | 国产人妖一区 | 67194午夜 | 一区二区欧美在线 | 黄色美女毛片 | 亚洲国产成人在线观看 | 欧美精品123 | 四虎网址在线 | 亚洲社区在线观看 | 国产黑丝精品 | 国产成人免费av一区二区午夜 | 奇米影| 国产毛片一区二区三区va在线 | 中文字幕在线视频免费观看 | 日本一二三不卡视频 | 欧美性高潮视频 | 黄色美女免费网站 | 伊人网在线观看 | 一区二区在线精品 | 亚洲国产成人精品一区二区三区 | 日本在线黄色 | 色多多黄色 | 黄色av网站免费在线观看 | 成年人免费看毛片 | 国产成年视频 | 亚洲第一天堂av | 亚洲丝袜在线观看 | 五月丁香 | 久久中文字幕网 | 亚洲在线观看一区 | 射精一区二区 | 秋霞网一区 | 天天干天天操天天爱 | 久久精品国产大片免费观看 | 欧美精品一级二级三级 | 免费黄色链接 | 久草资源在线观看 | 精品国产69 | 亚洲精品四区 | a在线天堂 | 国产成人一区二区三区小说 | 女人扒开腿让男人捅爽 | 日日草夜夜操 | 大地资源中文第三页 | 亚洲色图第一区 | 国产91小视频| 精品一区二区三区无码视频 | 天堂网中文 | 8x8ⅹ国产精品一区二区二区 | 日本偷拍一区 | 黄色精品| av白浆| 少妇人妻互换不带套 | 老司机深夜网站 | 欧美区一区二区 | 在线青草 | 夜夜嗨网站| 9i看片成人免费看片 | 日韩人妻无码精品综合区 | 青青草久久伊人 | 法国经典free性复古xxxx | 中国一级特黄真人毛片免费观看 | 在线观看精品视频 | 秋霞毛片 | 国产人成一区二区三区影院 | 国产精品国产三级国产aⅴ无密码 | 网站色| 黄色片网站国产 | 国产最新自拍 | 久久精品10| 久久精品无码专区 | 成人免费看片入口 | 韩国一二三区 | 国产日韩在线免费观看 | 17c在线观看视频 | 国产色 | 欧美日韩在线中文字幕 | 国产成人综合自拍 | 一本大道av | 少妇性色av | 色成人免费网站 | 欧美激情一区二区三区 | 国产欧美日韩精品在线观看 | 琪琪成人| 国产免费一区二区三区在线播放 | 麻豆www.| 在线观看免费高清视频 | 国产又粗又猛又爽又 | 加勒比一区在线 | 777777av| 黑名单上的人全集免费观看 |