内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

觸發(fā)器java代碼實(shí)現(xiàn) 觸發(fā)器例子

JAVA用代碼操作數(shù)據(jù)庫創(chuàng)建表,視圖,觸發(fā)器,存儲(chǔ)過程等。

create

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)長子,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

or

replace

trigger

trg_delete_count

before

delete

on

student

for

each

row

begin

delete

from

成績表

where

成績表.學(xué)號=:old.學(xué)號;

commit;

end;

想要實(shí)現(xiàn)類似的功能,不一定要用觸發(fā)器的,可以設(shè)置兩個(gè)表的主鍵和外鍵,設(shè)置級聯(lián)刪除關(guān)系,刪除主鍵時(shí),外鍵表中的記錄也會(huì)自動(dòng)刪除。

用Java代碼創(chuàng)建Oracle觸發(fā)器要怎么實(shí)現(xiàn)

create or replace and compile java source named TestClass as

public class TestClass

{

public static String getName(String name) {

String name = "xoxo";

return name " with TTTT";

}

}

然后在觸發(fā)器中調(diào)用:

create or replace trigger TRI_TEST before delete or update or insert on TABLENAME for each row

declare name varchar2(20);

begin

if inserting then

FUNCTION getName( who VARCHAR2 ) RETURN VARCHAR2 IS LANGUAGE JAVA NAME TestClass.getName(java.lang.String) return String';

end if;

end;

oracle觸發(fā)器調(diào)用一個(gè)Java類

把JAVA程序LOAD進(jìn)oracle

在$ORACLE_HOME/bin目錄下有個(gè)LOADJAVA命令,使用這個(gè)命令將剛寫好的JAVA程序LOAD進(jìn)數(shù)據(jù)庫。

loadjava -user test/test@test -o -v -f -r Main.java

如果成功的話,會(huì)打印出來信息提示成功,若程序有編譯錯(cuò)誤的話,也會(huì)提示你錯(cuò)誤的地方。

3。修改權(quán)限

因?yàn)槲业倪@個(gè)JAVA程序里涉及到對文件的讀寫操作,所以要先修改權(quán)限。

首先以管理員身份登錄進(jìn)數(shù)據(jù)庫

sqlplus / as sysdba

然后執(zhí)行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

執(zhí)行完畢后,在數(shù)據(jù)庫里執(zhí)行上述JAVA程序時(shí),就擁有讀寫該文件的權(quán)限了。

4。創(chuàng)建存儲(chǔ)過程

進(jìn)入到數(shù)據(jù)庫,我是在SQLPLUS命令行

create or replace procedure Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

會(huì)提示創(chuàng)建存儲(chǔ)過程成功。

5。增加trigger

我是在TOAD里直接針對某個(gè)表增加trigger,所以我只寫出關(guān)鍵部分的代碼

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

至此,在ORACLE的trigger里調(diào)用JAVA程序就完成了,后來的實(shí)驗(yàn)證明,每當(dāng)更新這個(gè)表時(shí),都確實(shí)執(zhí)行了該JAVA程序,完成了對文件的讀寫。

oracle 中用觸發(fā)器 怎么實(shí)現(xiàn) 一個(gè)表格只要插入了數(shù)據(jù),。,就執(zhí)行相應(yīng)的java 代碼或者jsp代碼呀?

首先將你的java代碼放在數(shù)據(jù)庫里:例如

create or replace and compile java source named TestClass as

public class TestClass

{

public static String getName(String name) {

String name = "xoxo";

return name+" with TTTT";

}

}

然后在觸發(fā)器中調(diào)用:

create or replace trigger TRI_TEST before delete or update or insert on TABLENAME for each row

declare name varchar2(20);

begin

if inserting then

FUNCTION getName( who VARCHAR2 ) RETURN VARCHAR2 IS LANGUAGE JAVA NAME TestClass.getName(java.lang.String) return String';

end if;

end;

如何oracle數(shù)據(jù)更新時(shí)觸發(fā)java代碼

oracle數(shù)據(jù)更新時(shí)觸發(fā)java代碼的步驟如下:

1。編寫JAVA程序

public?class?Main?{??

public?static?void?modify(String?statTime)??

{??

String?datas?=?"/var/spool/cron/oracle";??

File?data?=?new?File(datas);??

StringBuffer?backup?=?null;??

try?{??

StringBuffer?content?=?new?StringBuffer();??

backup?=?new?StringBuffer();??

BufferedReader?san?=?new?BufferedReader(new?FileReader(data));??

String?line?=?null;??

while((line=san.readLine())!=null)??

{??

backup.append(line);??

backup.append("/n");??

}??

content.append("15?");??

content.append(statTime.trim());??

content.append("?*?*?*?/home/oracle/task.sh");??

content.append("/n");??

content.append("13?");??

content.append(statTime.trim());??

content.append("*?*?*?/home/oracle/tj_task/task2.sh");??

content.append("/n");??

FileWriter?writer?=?new?FileWriter(data,false);??

writer.write(content.toString());??

writer.flush();??

}?catch?(FileNotFoundException?e)?{??

e.printStackTrace();??

}?catch?(IOException?e)?{??

try??

{??

FileWriter?writer?=?new?FileWriter(data,false);??

writer.write(backup.toString());??

writer.flush();??

}catch(Exception?ex)??

{??

ex.printStackTrace();??

}??

}??

}??

}

注意,這里寫JAVA程序不需要遵循標(biāo)準(zhǔn)的JAVA程序,一定要有main入口函數(shù),相反,這里的函數(shù)一般不要取名為main,除非格式是標(biāo)準(zhǔn)的main 函數(shù)格式

2。把JAVA程序LOAD進(jìn)oracle

在$ORACLE_HOME/bin目錄下有個(gè)LOADJAVA命令,使用這個(gè)命令將剛寫好的JAVA程序LOAD進(jìn)數(shù)據(jù)庫。

loadjava -user?test/test@test?-o -v -f -r Main.java

如果成功的話,會(huì)打印出來信息提示成功,若程序有編譯錯(cuò)誤的話,也會(huì)提示錯(cuò)誤的地方。

3。修改權(quán)限

首先以管理員身份登錄進(jìn)數(shù)據(jù)庫

sqlplus / as sysdba

然后執(zhí)行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

執(zhí)行完畢后,在數(shù)據(jù)庫里執(zhí)行上述JAVA程序時(shí),就擁有讀寫該文件的權(quán)限了。

4。創(chuàng)建存儲(chǔ)過程

進(jìn)入到數(shù)據(jù)庫,在SQLPLUS命令行

create or replace procedure Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

會(huì)提示創(chuàng)建存儲(chǔ)過程成功。

5。增加trigger

TOAD里直接針對某個(gè)表增加trigger,所以關(guān)鍵部分的代碼

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

JAVA如何實(shí)現(xiàn)代碼提示?

實(shí)現(xiàn)方法請具體參照《Eclipse swt/Jface核心編程》

第21章 文本處理.

21.1 文本處理概述... 409

21.2 項(xiàng)目實(shí)戰(zhàn):JavaScript編輯器... 409

21.2.1 主窗口預(yù)覽... 409

21.2.2 項(xiàng)目文件結(jié)構(gòu)... 410

21.3 主窗口模塊... 411

21.3.1 代碼實(shí)現(xiàn)... 411

21.3.2 主窗口程序代碼分析... 414

21.3.3 啟動(dòng)主窗口程序... 416

21.4 代碼著色... 417

21.4.1 源代碼配置類(SourceViewerConfiguration)... 417

21.4.2 基于規(guī)則的代碼掃描器類(RuleBasedScanner)... 419

21.4.3 設(shè)置代碼掃描規(guī)則... 420

21.4.4 提取類(Token)和文本屬性類(TextAttribute)... 423

21.5 內(nèi)容輔助... 423

21.5.1 配置編輯器的內(nèi)容助手... 424

21.5.2 內(nèi)容輔助類... 424

21.5.3 輔助建議類(CompletionProposal)... 426

21.6 文檔的撤銷與重復(fù)... 427

21.6.1 文檔管理器對象(DefaultUndoManager)... 427

21.6.2 撤銷操作的實(shí)現(xiàn)... 427

21.6.3 恢復(fù)操作的實(shí)現(xiàn)... 428

21.7 查找與替換窗口... 429

21.7.1 窗口的界面設(shè)計(jì)... 429

21.7.2 查找功能的實(shí)現(xiàn)... 433

21.7.3 替換功能的實(shí)現(xiàn)... 434

21.8 首選項(xiàng)的對話框... 434

21.8.1 首選項(xiàng)頁面的代碼實(shí)現(xiàn)... 435

21.8.2 打開首選項(xiàng)頁面的代碼... 436

21.9 文件的打開、保存與打印... 437

21.9.1 打開文件... 437

21.9.2 保存文件... 437

21.9.3 打印文件... 438

21.10 幫助對話框... 439

21.11 其他的一些工具類... 440

21.11.1 事件管理類... 440

21.11.2 資源管理類... 441

21.11.3 程序中使用的常量... 443

21.12 本章小結(jié)... 444

分享標(biāo)題:觸發(fā)器java代碼實(shí)現(xiàn) 觸發(fā)器例子
分享網(wǎng)址:http://www.rwnh.cn/article18/hhggdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站標(biāo)簽優(yōu)化、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
宁陕县| 麻栗坡县| 韶关市| 凤冈县| 文安县| 九台市| 临安市| 凌海市| 易门县| 永福县| 巴马| 凤山市| 洞头县| 南丰县| 栾川县| 漠河县| 新源县| 左贡县| 特克斯县| 万山特区| 桂阳县| 阜城县| 麻栗坡县| 乌鲁木齐县| 博野县| 明溪县| 富民县| 平泉县| 梧州市| 水城县| 衡阳县| 秭归县| 平舆县| 故城县| 淮滨县| 莫力| 卢龙县| 堆龙德庆县| 林州市| 理塘县| 调兵山市|