欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

create

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

or

replace

trigger

trg_delete_count

before

delete

on

student

for

each

row

begin

delete

from

成績表

where

成績表.學號=:old.學號;

commit;

end;

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

用Java代碼創(chuàng)建Oracle觸發(fā)器要怎么實現(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ā)器中調用:

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ā)器調用一個Java類

把JAVA程序LOAD進oracle

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

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

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

3。修改權限

因為我的這個JAVA程序里涉及到對文件的讀寫操作,所以要先修改權限。

首先以管理員身份登錄進數(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程序時,就擁有讀寫該文件的權限了。

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

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

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

/

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

5。增加trigger

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

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

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

oracle 中用觸發(fā)器 怎么實現(xiàn) 一個表格只要插入了數(shù)據(jù),。,就執(zhí)行相應的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ā)器中調用:

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ù)更新時觸發(fā)java代碼

oracle數(shù)據(jù)更新時觸發(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程序不需要遵循標準的JAVA程序,一定要有main入口函數(shù),相反,這里的函數(shù)一般不要取名為main,除非格式是標準的main 函數(shù)格式

2。把JAVA程序LOAD進oracle

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

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

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

3。修改權限

首先以管理員身份登錄進數(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程序時,就擁有讀寫該文件的權限了。

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

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

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

/

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

5。增加trigger

TOAD里直接針對某個表增加trigger,所以關鍵部分的代碼

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

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

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

第21章 文本處理.

21.1 文本處理概述... 409

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

21.2.1 主窗口預覽... 409

21.2.2 項目文件結構... 410

21.3 主窗口模塊... 411

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

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

21.3.3 啟動主窗口程序... 416

21.4 代碼著色... 417

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

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

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

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

21.5 內容輔助... 423

21.5.1 配置編輯器的內容助手... 424

21.5.2 內容輔助類... 424

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

21.6 文檔的撤銷與重復... 427

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

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

21.6.3 恢復操作的實現(xiàn)... 428

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

21.7.1 窗口的界面設計... 429

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

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

21.8 首選項的對話框... 434

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

21.8.2 打開首選項頁面的代碼... 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 本章小結... 444

分享標題:觸發(fā)器java代碼實現(xiàn) 觸發(fā)器例子
分享網(wǎng)址:http://chinadenli.net/article18/hhggdp.html

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

廣告

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

商城網(wǎng)站建設