真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

JAVA用代碼操作數(shù)據(jù)庫(kù)創(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ù)長(zhǎng)子,十余年網(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

成績(jī)表

where

成績(jī)表.學(xué)號(hào)=:old.學(xué)號(hào);

commit;

end;

想要實(shí)現(xiàn)類似的功能,不一定要用觸發(fā)器的,可以設(shè)置兩個(gè)表的主鍵和外鍵,設(shè)置級(jí)聯(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ù)庫(kù)。

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

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

3。修改權(quán)限

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

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

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ù)庫(kù)里執(zhí)行上述JAVA程序時(shí),就擁有讀寫該文件的權(quán)限了。

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

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

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

/

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

5。增加trigger

我是在TOAD里直接針對(duì)某個(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程序,完成了對(duì)文件的讀寫。

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

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

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ù)庫(kù)。

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

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

3。修改權(quán)限

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

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ù)庫(kù)里執(zhí)行上述JAVA程序時(shí),就擁有讀寫該文件的權(quán)限了。

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

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

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

/

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

5。增加trigger

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

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

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

實(shí)現(xiàn)方法請(qǐng)具體參照《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 文檔管理器對(duì)象(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)的對(duì)話框... 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 幫助對(duì)話框... 439

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

21.11.1 事件管理類... 440

21.11.2 資源管理類... 441

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

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


當(dāng)前文章:觸發(fā)器java代碼實(shí)現(xiàn) 觸發(fā)器例子
網(wǎng)站地址:http://weahome.cn/article/hhggdp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部