#
http://www.ibm.com/developerworks/cn/linux/l-bugzilla.html
http://www.infoq.com/cn/articles/Simplifying-Enterprise-Apps
http://www.be10.com/vbb3.0.1/showthread.php?t=1067
在linux下需要新建一個sh腳本,基本寫法和在windows下一樣,唯一區(qū)別是在windows下各個jar包之間的分隔符是";",而在linux下各個jar包之間的分隔符是":"。 java -classpath /root/cmdDemo/lib/log4j-1.2.14.jar:/root/cmdDemo/lib/cmdDemo.jar ...
獲得本地時區(qū)
var tzo=(new Date().getTimezoneOffset()/60)*(-1);
把其他時區(qū)的時間轉(zhuǎn)化成本地:
function toLocalTime(t){
document.write(formatDate(new Date(t),'yyyy/MM/dd HH:mm:ss a'));
}
其實,new Date(原來時間),即可。
語法結(jié)構(gòu)類似
DELIMITER $$;
DROP TRIGGER `log`$$
CREATE TRIGGER `log` BEFORE/AFTER INSERT/UPDATE/DELETE on `user`
FOR EACH ROW BEGIN
END$$
DELIMITER ;$$
具體例子:
刪除:
DELIMITER $$;
DROP TRIGGER `log`$$
CREATE TRIGGER `log` AFTER DELETE on `user`
FOR EACH ROW BEGIN
insert into userLog (useroid,userAccount,pwd,userType,companyInfoOid,personalInfoOid,
status,regDate,email) values (old.oid,old.userAccount,old.pwd,old.userType,old.companyInfoOid,old.personalInfoOid,old.status,old.regDate,old.email);
END$$
DELIMITER ;$$
如果是修改/的話,old應(yīng)該是new
http://www.stanford.edu/~bsuter/subversion-setup-guide/SVNService.zip
Step-by-Step instructions for running a Subversion repository under Windows
http://www.stanford.edu/~bsuter/subversion-setup-guide/
Unix/Linux下一般想讓某個程序在后臺運行,很多都是使用 & 在程序結(jié)尾來讓程序自動運行。比如我們要運行mysql在后臺:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
但是我們很多程序并不象mysqld一樣可以做成守護進程,可能我們的程序只是普通程序而已,一般這種程序即使使用 & 結(jié)尾,如果終端關(guān)閉,那么程序也會被關(guān)閉。為了能夠后臺運行,我們需要使用nohup這個命令,比如我們有個start.sh需要在后臺運行,并且希望在后臺能夠一直運行,那么就使用nohup:
nohup /root/start.sh &
在shell中回車后提示:
[~]$ appending output to nohup.out
原程序的的標準輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。
但是有時候在這一步會有問題,當把終端關(guān)閉后,進程會自動被關(guān)閉,察看nohup.out可以看到在關(guān)閉終端瞬間服務(wù)自動關(guān)閉。
咨詢紅旗Linux工程師后,他也不得其解,在我的終端上執(zhí)行后,他啟動的進程竟然在關(guān)閉終端后依然運行。
在第二遍給我演示時,我才發(fā)現(xiàn)我和他操作終端時的一個細節(jié)不同:他是在當shell中提示了nohup成功后還需要按終端上鍵盤任意鍵退回到shell輸入命令窗口,然后通過在shell中輸入exit來退出終端;而我是每次在nohup執(zhí)行成功后直接點關(guān)閉程序按鈕關(guān)閉終端.。所以這時候會斷掉該命令所對應(yīng)的session,導致nohup對應(yīng)的進程被通知需要一起shutdown。
這個細節(jié)有人和我一樣沒注意到,所以在這兒記錄一下了。
附:nohup命令參考
nohup 命令
用途:不掛斷地運行命令。
語法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令運行由 Command 參數(shù)和任何相關(guān)的 Arg 參數(shù)指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷后使用 nohup 命令運行后臺中的程序。要運行后臺中的 nohup 命令,添加 & ( 表示"and"的符號)到命令的尾部。
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒有文件能創(chuàng)建或打開以用于追加,那么 Command 參數(shù)指定的命令不可調(diào)用。如果標準錯誤是一個終端,那么把指定的命令寫給標準錯誤的所有輸出作為標準輸出重定向到相同的文件描述符。
退出狀態(tài):該命令返回下列出口值:
126 可以查找但不能調(diào)用 Command 參數(shù)指定的命令。
127 nohup 命令發(fā)生錯誤或不能查找由 Command 參數(shù)指定的命令。
否則,nohup 命令的退出狀態(tài)是 Command 參數(shù)指定命令的退出狀態(tài)。
nohup命令及其輸出文件
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結(jié)束,那么可以使用nohup命令。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運行相應(yīng)的進程。nohup就是不掛起的意思( n ohang up)。
該命令的一般形式為:nohup command &
使用nohup命令提交作業(yè)
如果使用nohup命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,輸出被重定向到myout.file文件中。
使用 jobs 查看任務(wù)。
使用 fg %n 關(guān)閉。
另外有兩個常用的ftp工具ncftpget和ncftpput,可以實現(xiàn)后臺的ftp上傳和下載,這樣就可以利用這些命令在后臺上傳和下載文件了。
from:http://einit.com/user1/11/archives/2006/3603.html
導出要用到MySQL的mysqldump工具,基本用法是:
shell> mysqldump [OPTIONS] database [tables]
如果你不給定任何表,整個數(shù)據(jù)庫將被導出。
通過執(zhí)行mysqldump --help,你能得到你mysqldump的版本支持的選項表。
注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導出結(jié)果前裝載整個結(jié)果集到內(nèi)存中,如果你正在導出一個大的數(shù)據(jù)庫,這將可能是一個問題。
mysqldump支持下列選項:
--add-locks
在每個表導出之前增加LOCK TABLES并且之后UNLOCK TABLE。(為了使得更快地插入到MySQL)。
--add-drop-table
在每個create語句之前增加一個drop table。
--allow-keywords
允許創(chuàng)建是關(guān)鍵詞的列名字。這由表名前綴于每個列名做到。
-c, --complete-insert
使用完整的insert語句(用列名字)。
-C, --compress
如果客戶和服務(wù)器均支持壓縮,壓縮兩者間所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT語法。(給出更緊縮并且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調(diào)試)。
--help
顯示一條幫助消息并且退出。
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
這些選擇與-T選擇一起使用,并且有相應(yīng)的LOAD DATA INFILE子句相同的含義。
LOAD DATA INFILE語法。
-F, --flush-logs
在開始導出前,洗掉在MySQL服務(wù)器中的日志文件。
-f, --force,
即使我們在一個表導出期間得到一個SQL錯誤,繼續(xù)。
-h, --host=..
從命名的主機上的MySQL服務(wù)器導出數(shù)據(jù)。缺省主機是localhost。
-l, --lock-tables.
為開始導出鎖定所有表。
-t, --no-create-info
不寫入表創(chuàng)建信息(CREATE TABLE語句)
-d, --no-data
不寫入表的任何行信息。如果你只想得到一個表的結(jié)構(gòu)的導出,這是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
應(yīng)該給你為讀入一個MySQL服務(wù)器的盡可能最快的導出。
-pyour_pass, --password[=your_pass]
與服務(wù)器連接時使用的口令。如果你不指定“=your_pass”部分,mysqldump需要來自終端的口令。
-P port_num, --port=port_num
與一臺主機連接時使用的TCP/IP端口號。(這用于連接到localhost以外的主機,因為它使用 Unix套接字。)
-q, --quick
不緩沖查詢,直接導出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
與localhost連接時(它是缺省主機)使用的套接字文件。
-T, --tab=path-to-some-directory
對于每個給定的表,創(chuàng)建一個table_name.sql文件,它包含SQL CREATE 命令,和一個table_name.txt文件,它包含數(shù)據(jù)。 注意:這只有在mysqldump運行在mysqld守護進程運行的同一臺機器上的時候才工作。.txt文件的格式根據(jù)--fields-xxx和--lines--xxx選項來定。
-u user_name, --user=user_name
與服務(wù)器連接時,MySQL使用的用戶名。缺省值是你的Unix登錄名。
-O var=option, --set-variable var=option設(shè)置一個變量的值。可能的變量被列在下面。
-v, --verbose
冗長模式。打印出程序所做的更多的信息。
-V, --version
打印版本信息并且退出。
-w, --where='where-condition'
只導出被選擇了的記錄;注意引號是強制的!
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
最常見的mysqldump使用可能制作整個數(shù)據(jù)庫的一個備份:
mysqldump --opt database > backup-file.sql
但是它對用來自于一個數(shù)據(jù)庫的信息充實另外一個MySQL數(shù)據(jù)庫也是有用的:
mysqldump --opt database | mysql --host=remote-host -C database
由于mysqldump導出的是完整的SQL語句,所以用mysql客戶程序很容易就能把數(shù)據(jù)導入了:
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 庫名 < 文件名
摘自:
(http://www.fanqiang.com)
如何正確利用Rownum來限制查詢所返回的行數(shù)?
軟件環(huán)境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安裝路徑為:C:\ORANT
含義解釋:
1、rownum是oracle系統(tǒng)順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,
依此類推,這個偽字段可以用于限制查詢返回的總行數(shù)。
2、rownum不能以任何基表的名稱作為前綴。
使用方法:
現(xiàn)有一個商品銷售表sale,表結(jié)構(gòu)為:
month char(6) --月份
sell number(10,2) --月銷售金額
create table sale (month char(6),sell number);
insert into sale values('200001',1000);
insert into sale values('200002',1100);
insert into sale values('200003',1200);
insert into sale values('200004',1300);
insert into sale values('200005',1400);
insert into sale values('200006',1500);
insert into sale values('200007',1600);
insert into sale values('200101',1100);
insert into sale values('200202',1200);
insert into sale values('200301',1300);
insert into sale values('200008',1000);
commit;
SQL>; select rownum,month,sell from sale where rownum=1;(可以用在限制返回記錄條數(shù)的地方,保證不出錯,如:隱式游標)
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
SQL>; select rownum,month,sell from sale where rownum=2;(1以上都查不到記錄)
沒有查到記錄
SQL>; select rownum,month,sell from sale where rownum>;5;
(由于rownum是一個總是從1開始的偽列,Oracle 認為這種條件不成立,查不到記錄)
沒有查到記錄
只返回前3條紀錄
SQL>; select rownum,month,sell from sale where rownum<4;
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
2 200002 1100
3 200003 1200
如何用rownum實現(xiàn)大于、小于邏輯?(返回rownum在4—10之間的數(shù)據(jù))(minus操作,速度會受影響)
SQL>; select rownum,month,sell from sale where rownum<10
2 minus
3 select rownum,month,sell from sale where rownum<5;
ROWNUM MONTH SELL
--------- ------ ---------
5 200005 1400
6 200006 1500
7 200007 1600
8 200101 1100
9 200202 1200
想按日期排序,并且用rownum標出正確序號(有小到大)
SQL>; select rownum,month,sell from sale order by month;
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
2 200002 1100
3 200003 1200
4 200004 1300
5 200005 1400
6 200006 1500
7 200007 1600
11 200008 1000
8 200101 1100
9 200202 1200
10 200301 1300
查詢到11記錄.
可以發(fā)現(xiàn),rownum并沒有實現(xiàn)我們的意圖,系統(tǒng)是按照記錄入庫時的順序給記錄排的號,rowid也是順序分配的
SQL>; select rowid,rownum,month,sell from sale order by rowid;
ROWID ROWNUM MONTH SELL
------------------ --------- ------ ---------
000000E4.0000.0002 1 200001 1000
000000E4.0001.0002 2 200002 1100
000000E4.0002.0002 3 200003 1200
000000E4.0003.0002 4 200004 1300
000000E4.0004.0002 5 200005 1400
000000E4.0005.0002 6 200006 1500
000000E4.0006.0002 7 200007 1600
000000E4.0007.0002 8 200101 1100
000000E4.0008.0002 9 200202 1200
000000E4.0009.0002 10 200301 1300
000000E4.000A.0002 11 200008 1000
查詢到11記錄.
正確用法,使用子查詢
SQL>; select rownum,month,sell from (select month,sell from sale group by month,sell) where rownum<13;
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
2 200002 1100
3 200003 1200
4 200004 1300
5 200005 1400
6 200006 1500
7 200007 1600
8 200008 1000
9 200101 1100
10 200202 1200
11 200301 1300
按銷售金額排序,并且用rownum標出正確序號(有小到大)
SQL>; select rownum,month,sell from (select sell,month from sale group by sell,month) where rownum<13;
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
2 200008 1000
3 200002 1100
4 200101 1100
5 200003 1200
6 200202 1200
7 200004 1300
8 200301 1300
9 200005 1400
10 200006 1500
11 200007 1600
查詢到11記錄.
利用以上方法,如在打印報表時,想在查出的數(shù)據(jù)中自動加上行號,就可以利用rownum。
返回第5—9條紀錄,按月份排序
SQL>; select * from (select rownum row_id ,month,sell
2 from (select month,sell from sale group by month,sell))
3 where row_id between 5 and 9;
ROW_ID MONTH SELL
---------- ------ ----------
5 200005 1400
6 200006 1500
7 200007 1600
8 200008 1000
9 200101 1100
原文鏈接:http://bbs.chinaunix.net/viewthread.php?tid=261521
轉(zhuǎn)載請注明作者名及原文出處