隨筆-314  評論-209  文章-0  trackbacks-0
           

          在HP-UX文件系統(tǒng)中,系統(tǒng)默認的是小文件系統(tǒng)(即不支持大于2GB的文件),如果用戶希望當前的文件系統(tǒng)能支持大于2GB的文件時,我們可以這樣做:
          1、新建文件系統(tǒng)時:
               mkfs -F vxfs -o largefiles /dev/vg02/rlvol1
               或者
               newfs -F vxfs -o largefiles /dev/vg02/rlvol1
          2、文件系統(tǒng)內有數(shù)據(jù)文件時:
               fsadm -F vxfs -o largefiles /inffile
          當然,你也可以將大文件系統(tǒng)轉換為小文件系統(tǒng),不過要注意的是這個大文件系統(tǒng)中不能有大于2GB的文件,否則無法轉換成功。示例如下:

              fsadm -F vxfs -o nolargefiles /inffile

          posted @ 2011-08-08 16:57 xzc 閱讀(770) | 評論 (2)編輯 收藏

          SELECT ename  
          FROM scott.emp   
          START WITH ename = 'KING'   
          CONNECT BY PRIOR empno = mgr;   
           
          --得到結果為:  
           
          KING  
          JONES  
          SCOTT  
          ADAMS  
          FORD  
          SMITH  
          BLAKE  
          ALLEN  
          WARD  
          MARTIN  
          TURNER  
          JAMES  
           
           
           
          而:  
           
           
           
          SELECT SYS_CONNECT_BY_PATH(ename, '>') "Path"   
          FROM scott.emp   
          START WITH ename = 'KING'   
          CONNECT BY PRIOR empno = mgr;  
           
           
           
          --得到結果為:  
           
           
           
          >KING  
          >KING>JONES  
          >KING>JONES>SCOTT  
          >KING>JONES>SCOTT>ADAMS  
          >KING>JONES>FORD  
          >KING>JONES>FORD>SMITH  
          >KING>BLAKE  
          >KING>BLAKE>ALLEN  
          >KING>BLAKE>WARD  
          >KING>BLAKE>MARTIN  
          >KING>BLAKE>TURNER  
          >KING>BLAKE>JAMES  
          >KING>CLARK  
          >KING>CLARK>MILLER 
          SELECT ename
          FROM scott.emp
          START WITH ename = 'KING'
          CONNECT BY PRIOR empno = mgr;

          --得到結果為:

          KING
          JONES
          SCOTT
          ADAMS
          FORD
          SMITH
          BLAKE
          ALLEN
          WARD
          MARTIN
          TURNER
          JAMES

           

          而:

           

          SELECT SYS_CONNECT_BY_PATH(ename, '>') "Path"
          FROM scott.emp
          START WITH ename = 'KING'
          CONNECT BY PRIOR empno = mgr;

           

          --得到結果為:

           

          >KING
          >KING>JONES
          >KING>JONES>SCOTT
          >KING>JONES>SCOTT>ADAMS
          >KING>JONES>FORD
          >KING>JONES>FORD>SMITH
          >KING>BLAKE
          >KING>BLAKE>ALLEN
          >KING>BLAKE>WARD
          >KING>BLAKE>MARTIN
          >KING>BLAKE>TURNER
          >KING>BLAKE>JAMES
          >KING>CLARK
          >KING>CLARK>MILLER
           


          其實SYS_CONNECT_BY_PATH這個函數(shù)是oracle9i才新提出來的!
          它一定要和connect by子句合用!
          第一個參數(shù)是形成樹形式的字段,第二個參數(shù)是父級和其子級分隔顯示用的分隔符!

          START WITH 代表你要開始遍歷的的節(jié)點!

          CONNECT BY PRIOR 是標示父子關系的對應!

          如下例子:

          view plaincopy to clipboardprint?
          select max(  
          substr(  
          sys_connect_by_path(column_name,',')  
          ,2)  
          )  
          from (select column_name,rownum rn from user_tab_columns where table_name ='AA_TEST')  
          start with rn=1 connect by rn=rownum ; 
          select max(
          substr(
          sys_connect_by_path(column_name,',')
          ,2)
          )
          from (select column_name,rownum rn from user_tab_columns where table_name ='AA_TEST')
          start with rn=1 connect by rn=rownum ;

           

          是將列用,進行分割成為一行,然后將首個,去掉,只取取最大的那個數(shù)據(jù)。

          ---------------------------------------------

          下面是別人的例子:

          1、帶層次關系

          view plaincopy to clipboardprint?
          SQL> create table dept(deptno number,deptname varchar2(20),mgrno number);  
           
          Table created.  
           
          SQL> insert into dept values(1,'總公司',null);  
           
          1 row created.  
           
          SQL> insert into dept values(2,'浙江分公司',1);  
           
          1 row created.  
           
          SQL> insert into dept values(3,'杭州分公司',2);  
           
          1 row created.  
           
          SQL> commit;  
           
          Commit complete.  
           
          SQL> select max(substr(sys_connect_by_path(deptname,','),2)) from dept connect by prior deptno=mgrno;  
           
          MAX(SUBSTR(SYS_CONNECT_BY_PATH(DEPTNAME,','),2))  
          --------------------------------------------------------------------------------  
          總公司,浙江分公司,杭州分公司 
          SQL> create table dept(deptno number,deptname varchar2(20),mgrno number);

          Table created.

          SQL> insert into dept values(1,'總公司',null);

          1 row created.

          SQL> insert into dept values(2,'浙江分公司',1);

          1 row created.

          SQL> insert into dept values(3,'杭州分公司',2);

          1 row created.

          SQL> commit;

          Commit complete.

          SQL> select max(substr(sys_connect_by_path(deptname,','),2)) from dept connect by prior deptno=mgrno;

          MAX(SUBSTR(SYS_CONNECT_BY_PATH(DEPTNAME,','),2))
          --------------------------------------------------------------------------------
          總公司,浙江分公司,杭州分公司

          2、行列轉換


          如把一個表的所有列連成一行,用逗號分隔:

          view plaincopy to clipboardprint?
          SQL> select max(substr(sys_connect_by_path(column_name,','),2))  
          from (select column_name,rownum rn from user_tab_columns where table_name ='DEPT')  
          start with rn=1 connect by rn=rownum ;  
           
          MAX(SUBSTR(SYS_CONNECT_BY_PATH(COLUMN_NAME,','),2))  
          --------------------------------------------------------------------------------  
          DEPTNO,DEPTNAME,MGRNO 

          posted @ 2011-08-05 11:03 xzc 閱讀(1407) | 評論 (3)編輯 收藏
               摘要:  不良的使用模式會降低您的速度,并且通常會導致意外錯誤。養(yǎng)成這些好習慣是加強您的 UNIX 命令行技能的積極步驟。   Unix 下要采用的20個好習慣為: 1)        在單個命令中創(chuàng)建目錄樹。 2)        更改...  閱讀全文
          posted @ 2011-07-18 18:51 xzc 閱讀(625) | 評論 (0)編輯 收藏
          轉自:http://blog.csdn.net/tianlesoftware/article/details/4680230

          在Oracle中建庫,通常有兩種方法。一是使用Oracle的建庫工
          且DBCA,這是一個圖形界面工且,使用起來方便且很容易理解,因為它的界面友好、美觀,而且提示也比較齊全。在Windows系統(tǒng)中,這個工具可以在Oracle程序組中打開(”開始”—“程序”—“ Oracle OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database ConfigurationAssistant”),也可以在命令行(”開始”—“運行”—“cmd”)工具中直接輸入dbca來打開。另一種方法就是手工建庫,這也就是下面所要講的內容。 手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學好了手工建庫的話,就可以使我們更好地理解Oracle數(shù)據(jù)庫的體系結構。手工建庫須要經(jīng)過幾個步驟,每一個步驟都非常關鍵。它包括:
          1、 創(chuàng)建必要的相關目錄
          2、 創(chuàng)建初始化參數(shù)文件
          3、 設置環(huán)境變量Oracle_sid
          4、 創(chuàng)建實例
          5、 創(chuàng)建口令文件
          6、 啟動數(shù)據(jù)庫到nomount(實例)狀態(tài)
          7、 執(zhí)行建庫腳本
          8、 執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典
          9、 執(zhí)行catproc創(chuàng)建package包
          10、 執(zhí)行pupbld
          11、 由初始化參數(shù)文件創(chuàng)建spfile文件
          12、 執(zhí)行scott腳本創(chuàng)建scott模式
          做完了以上的步驟之后就可以使用“SQL>alterdatabase open;”打開數(shù)據(jù)庫正常的使用了。下面,我將具體地把以上的幾個步驟用實驗展開來講。 實驗系統(tǒng)平臺:Windows Server 2000 數(shù)據(jù)庫系統(tǒng)版本:Oracle Database 10G Oracle的安裝路徑:D盤 .創(chuàng)建的數(shù)據(jù)庫名稱:book 1、打開命令行工具,創(chuàng)建必要有相關目錄
          C:/>mkdir D:/oracle/product/10.1.0/admin/book
          C:/>mkdir D:/oracle/product/10.1.0/admin/book/bdump
          C:/>mkdir D:/oracle/product/10.1.0/admin/book/udump
          C:/>mkdir D:/oracle/product/10.1.0/admin/book/cdump
          C:/>mkdir D:/oracle/product/10.1.0/admin/book/pfile
          C:/>mkdir D:/oracle/product/10.1.0/admin/book/create
          C:/>mkdir D:/oracle/product/10.1.0/oradata/book
          上面創(chuàng)建目錄的過程也可以在Windows的圖形界面中去創(chuàng)建。其中
          D:/oracle/product/10.1.0/admin/book目錄下的幾個子目錄主要用于存放數(shù)據(jù)庫運行過程中的跟蹤信息。最重要的兩上子目錄是bdump和udump目錄,bdump目錄存放的是數(shù)據(jù)庫動行過程中的各個后臺進程的跟蹤信息,當中alert文件是警告文件,其文件名稱為alert_book.log,當數(shù)據(jù)庫出現(xiàn)問題時,首先就可以去查看此文件以找出原因,手工創(chuàng)建過程中出現(xiàn)的各種問題往往也可以通過查看這個文件找到原因。Udump目錄存放特定會話相關的跟蹤信息D:/oracle/product/10.1.0/oradata/book目錄存放各種數(shù)據(jù)庫文件,包括控制文件、數(shù)據(jù)文件、重做日志文件。

          2、創(chuàng)建初始化參數(shù)文件
          數(shù)據(jù)庫系統(tǒng)啟動時須要用初始化參數(shù)文件的設置分配內存、啟動必要的后臺進程的。因此,初始化參數(shù)文件創(chuàng)建的是否正確、參數(shù)設置是否正確關系著整個建庫的“命運”。 創(chuàng)建初始化參數(shù)文件可以通過拷貝現(xiàn)在的初始化參數(shù)文件并將其做適當?shù)男薷募纯桑瑥亩槐匾?/span>
          手工去一句一句地寫出來,因為初始化參數(shù)文件的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統(tǒng)已經(jīng)為我們安裝了一個名為orcl的數(shù)據(jù)庫,于是我們可以從它那里得到一份初始化參數(shù)文件。打開D:/oracle/product/10.1.0/admin/orcl/pfile,找到init.ora文件,把它拷貝到D:/oracle/product/10.1.0/bd_1/databse下,并將其改名為initbook.ora。接著用記事本的方式打開initbook.ora,修改以下的內容: db_domain=""
          db_name=book
          control_files=("D:/oracle/product/10.1.0/oradata/book/control01.ctl",
          "D:/oracle/product/10.1.0/oradata/book/control02.ctl",
          "D:/oracle/product/10.1.0/oradata/book/control03.ctl") undo_management=AUTO
          undo_tablespace=UNDOTBS1 
          ――注意此處的“UNDOTBS1”要和建庫腳步本中對應
          background_dump_dest=D:/oracle/product/10.1.0/admin/book/bdump
          core_dump_dest=D:/oracle/product/10.1.0/admin/book/cdump
          user_dump_dest=D:/oracle/product/10.1.0/admin/book/udump
          3、打開命令行,設置環(huán)境變量oracle_sid
          C:/>set oracle_sid=book 設置環(huán)境變量的目地是在默認的情況下,指定命令行中所操作的數(shù)據(jù)庫實例是book。
          4、創(chuàng)建實例(即后臺控制服務)
          C:/>oradim –new –sid book oradim是創(chuàng)建實例的工具程序名稱,-new表明執(zhí)行新建實例,-delete表明執(zhí)行刪掉實例,-sid指定害例的名稱。 5、創(chuàng)建口令文件
          C:/>orapwd file=D:/oracle/product/10.1.0/db_1/database/pwdbook.ora password=bookstore entries=2
          orapwd是創(chuàng)建口令文件的工肯程序各稱,file參數(shù)指定口令文件所在的目錄和文件名稱,password參數(shù)指定sys用戶的口令,entries參數(shù)指定數(shù)據(jù)庫擁用DBA權限的用戶的個數(shù),當然還有一個force參數(shù),相信您不指即明,這里就不再細述。 請注意,這里的命令要一行輸入,中間不得換行,否則會出現(xiàn)不必要的錯誤。 口令文件是專門存放sys用戶的口令,因為sys用戶要負責建庫、啟動數(shù)據(jù)庫、關閉數(shù)據(jù)庫等特殊任務,把以sys用戶的中令單獨存放于口令文件中,這樣數(shù)據(jù)庫末打開時也能進行口令驗證。
          6、啟動數(shù)據(jù)
          庫到nomount(實例)狀態(tài) C:/>sqlplus /nolog SQL*Plus:Release 10.1.0.2.0 - Production on 星期三 6月 29

          23:09:35 2005 Copyright 1982,2004,Oracle. All rights reserved. SQL>connect sys/bookstore as sysdba
                     ---這里是用sys連接數(shù)據(jù)庫 已連接到空閑例程
          SQL>startup nomount ORACLE 例程已經(jīng)啟動。
          Total System Global Area 319888364
          bytes Fixed Size 453612bytes
          Variable Size 209715200bytes
          DatabaseBuffers 109051904bytes
          Redo Buffers 667648bytes
          SQL>
          7、執(zhí)行建庫腳本
          執(zhí)行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有!)不用著急,請接著往下看。 得到一個符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來建,接照它的提示一步步地去做,在做到第十二步的時候,請選擇“生成建庫腳本”,然后就大功告成,你就可以到相應的目錄上去找到那個腳本并適當?shù)匦匏憧杀阌谩A硪环N方法就是自己手工去寫一份建庫腳本,這也是這里要見意使用的方法,用記事本編輯如下的內容,并將其保存為文件名任取而后綴名為(*.sql)的SQL腳本,這里保存到E盤根本錄下且文件名稱為book.sql。

          Create database book datafile 'D:/oracle/product/10.1.0/oradata/book/system01.dbf' size 300M reuse
          autoextend on next 10240Kmaxsize unlimited extent management local sysaux datafile
          'D:/oracle/product/10.1.0/oradata/book/sysaux01.dbf' size 120M reuse autoextend on next 10240K
          maxsize unlimited default temporary tablespace temp tempfile
          'D:/oracle/product/10.1.0/oradata/book/temp01.dbf' size 20M reuse autoextend on next 640Kmaxsize unlimited undo tablespace "UNDOTBS1"
          --請注意這里的undo表空間要和參數(shù)文件對應 datafile
          'D:/oracle/product/10.1.0/oradata/book/undotbs01.dbf' size 200M reuse autoextend on next 5120K
          maxsize unlimited logfile
          group 1 ('D:/oracle/product/10.1.0/oradata/book/redo01.log') size 10240K,
          group 2 ('D:/oracle/product/10.1.0/oradata/book/redo02.log') size 10240K, group 3('D:/oracle/product/10.1.0/oradata/book/redo03.log') size 10240K 接著就執(zhí)行剛建的建庫腳本:
          SQL>start E:/book.sql
          8、執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典
          SQL>start D:/oracle/product/10.1.0/db_1/rdbms/admin/catalog.sql
          9、執(zhí)行catproc創(chuàng)建package包 SQL>start
          D:/oracle/product/10.1.0/db_1/rdbms/admin/catproc.sql
          10、執(zhí)行pupbld
          在執(zhí)行pupbld之前要把當前用戶(sys)轉換成system,即以system賬戶連接數(shù)據(jù)庫。因為此數(shù)據(jù)庫是剛建的,所以system的口令是系統(tǒng)默認的口令,即manager。你可以在數(shù)據(jù)庫建好以后再來重新設置此賬戶的口令。
          SQL>connectsystem/manager
          SQL>start D:/oracle/product/10.1.0/db_1/sqlplus/admin/pupbld.sql
          11、由初始化參
          數(shù)文件創(chuàng)建spfile文件 SQL>create spfile from pfile;
          12、執(zhí)行scott腳本創(chuàng)建scott模式 SQL>start
          D:/oracle/product/10.1.0/db_1/rdbms/admin/scott.sql
          13、把數(shù)據(jù)庫打開到正常狀態(tài) SQL>alterdatabase open;
          14、以scott連接到數(shù)據(jù)庫(口令為tiger),測試新建數(shù)據(jù)庫是否可以正常運行 至此,整個數(shù)據(jù)庫就已經(jīng)建好了。接著你就可以在此數(shù)據(jù)庫上建立自己的賬戶和表空間啦以及數(shù)據(jù)庫對象,這里就不再作更
          多地敘述。

          附:本意是想在linux上創(chuàng)建個oracle實例的,用這個文檔搗鼓了半天,都快結束了才發(fā)現(xiàn)這個方法只能在window上使用。暈死了。自己機子上裝的oracle 11i的,看了下與oracle 10g還是有點區(qū)別的:
          沒仔細研究,就發(fā)現(xiàn)amin下目錄不一樣:
          Oracle 10G下有bdump udump cdumppfilecreate
          Oracle 11i 只有 adump,dpdump,pfile 三個。有空在研究吧。
          還是想在linux下手動創(chuàng)建個。

          unix和linux下沒有oradim命令因為沒用,oradim主要就是用來控制服務的,unix/linux上oracle 實例不需要建立服務,所以就沒有

          posted @ 2011-07-18 18:50 xzc 閱讀(683) | 評論 (0)編輯 收藏

          WINDOWS是很脆弱的系統(tǒng),可能裝完沒幾天就會崩潰,如果你在WINDOWS下裝有oracle,那怎么來恢復這個數(shù)據(jù)庫呢?


          一種方法是重裝數(shù)據(jù)庫后用IMP來導入原來的數(shù)據(jù),但使用這種方法的前提是你有以前數(shù)據(jù)的備份,并且這種方法還有許多不足的地方,如備份過舊,可能會丟失許多數(shù)據(jù)、導入數(shù)據(jù)太長等。


          一般情況下我們可以采用重用原來的數(shù)據(jù)庫的方法來恢復。在講步驟前先說說這種方法的原理。

          數(shù)據(jù)庫與實例對應,當數(shù)據(jù)庫服務啟動后,我們可以用SQLPLUS "/AS SYSDBA"方法連接到一個空閑的例程,當執(zhí)行startup啟動數(shù)據(jù)庫時,首先會在%ORACLE_HOME%/database下找當前SID對應的參數(shù)文件(PFILE或者SPFILE)和密碼文件,然后啟動例程;接著根據(jù)參數(shù)文件記錄的信息找到控制文件,讀取控制文件的信息,這就是mount數(shù)據(jù)庫了;最終根據(jù)控制文件的信息打開數(shù)據(jù)庫。這個過程相當于對數(shù)據(jù)庫著了一次冷備份的恢復。

          下面的具體步驟:(我們假設原庫的所有相關文件都存在)
          1、安裝數(shù)據(jù)庫軟件
          只需安裝同版本的數(shù)據(jù)庫軟件即可,不需要創(chuàng)建數(shù)據(jù)庫。最好安裝在和原來數(shù)據(jù)庫同樣的%ORACLE_HOME%下,省得還要修改參數(shù)文件路徑等。(直接覆蓋原來的oracle即可)
          再次強調,只安裝軟件,不創(chuàng)建數(shù)據(jù)庫,否則將數(shù)據(jù)庫軟件安裝在同樣的目錄下舊的部分數(shù)據(jù)文件會被覆蓋,這樣數(shù)據(jù)庫也不能被恢復了。

          2、新建一個實例
          在cmd窗口執(zhí)行
          oradim -new -sid oracle9i
          注意,這個SID名稱最好與你以前的SID一樣,否則在啟動的數(shù)據(jù)需要指明pfile,并且需要重建密碼文件,比較麻煩。(當然,如果你就不想用原來的SID也可以,把參數(shù)文件、密碼文件的名稱都改成與新SID對應的名稱)。

          3、啟動數(shù)據(jù)庫
          做完以上兩步,就可以啟動數(shù)據(jù)庫了。
          用net start 檢查oracle服務是否已經(jīng)啟動,如果oracle服務沒有啟動,則在cmd下運行如下命令:
          net start oracleserviceoracle9i
          然后設定必要的環(huán)境變量,在cmd窗口運行
          set ORACLE_SID=oracle9i

          接著連接數(shù)據(jù)庫
          sqlplus "/as sysdba"
          startup

          如果正常的話,數(shù)據(jù)庫應該就能起來了

          4、啟動監(jiān)聽
          lsnrctl start

          5、后續(xù)工作
          經(jīng)過以上幾步后,基本上就可以使用oracle了,但是使用起來有點不方便,如每次在cmd中啟動數(shù)據(jù)庫都需要先SET ORACLE_SID、在本機連接數(shù)據(jù)庫也都需要加上@TNSNAME等。我們可以修改注冊表,添加ORACLE_SID的信息,避免這些麻煩。

          在注冊表的HKEY_LOCAL_MACHINESOFTWAREORACLE下新建字符串值,名稱為ORACLE_SID,值為oracle9i。
          也可以將以下內容保持成一個后綴名為reg的文件(文件名隨便起),然后雙擊,即可將信息導入到注冊表中。

          Windows Registry Editor Version 5.00

          [HKEY_LOCAL_MACHINESOFTWAREORACLE]
          "ORACLE_SID"="oracle9i"


          注意,以上步驟都是在%ORACLE_HOME%、%ORACLE_SID%都與原庫一樣的情況下討論的,雖然%ORACLE_HOME%和%ORACLE_SID%可以與原庫不一樣,但為了減少麻煩和出錯的幾率,建議不要改變則兩個值。

          posted @ 2011-07-17 13:45 xzc 閱讀(572) | 評論 (1)編輯 收藏

          研究發(fā)現(xiàn):屬性(變量)可分為三類(對象屬性、全局變量和局部變量)
          對象屬性:聲明時以“this.”開頭,只能被“類的實例”即對象所調用,不能被“類內部(對外不對內)”調用;全局變量:聲明時直接以變量名開頭,可以任意調用(對內對外);局部變量:只能被

          “類內部(對內不對外)”調用。

           

          JS函數(shù)的聲明與訪問原理

          <script type="text/javascript">  
          //類  
          var testClass = function(){  
            //對象屬性(對外不對內,類調用)  
            this.age ="25";  
            //全局變量(對內對外)  
            name="jack";  
            //局部變量(對內不對外)
            var address = "beijing";
              
            //全局函數(shù)(對內對外)  
            add = function(a,b){  
              //可訪問:全局變量和局部變量  
              multiply(a,b);  
              return a+b;  
            }  
            //實例函數(shù)(由類的對象調用)  
            this.minus = function(a,b){  
              //可以訪問:對象屬性、全局變量和局部變量  
              return a-b;  
            }  
            //局部函數(shù)(內部直接調用)  
            var multiply = function(a,b){  
              //只能訪問:全局變量和局部變量  
              return a*b;  
            }  
          }  
           
           
          //類函數(shù)(由類名直接調用)  
          testClass.talk= function(){  
            //只能訪問:全局變量和全局函數(shù)  
            this.what = function(){  
              alert("What can we talk about?");  
              about();  
            }  
              
            var about = function(){  
              alert("about name:"+name);
              alert("about add(1,1):"+add(1,1));
            }  
          }  
           
           
          //原型函數(shù)(由類的對象調用)  
          testClass.prototype.walk = function(){  
            //只能訪問:全局變量和全局函數(shù)  
            this.where = function(){  
              alert("Where can we go?");
              go();  
            }  
              
            var go = function(){  
              alert("go name:"+name); 
              alert("go add(1,1):"+add(1,1));
            }  
          }  
          </script> 


          下面看看如何調用:

          <script type="text/javascript">  
          //獲取一個cbs類的實例  
          var cbs= new testClass();  
          //調用類的對象屬性age  
          alert("age:"+cbs.age);  
           
          //獲取類函數(shù)talk的實例  
          var talk = new testClass.talk();
          //調用類函數(shù)的實例函數(shù)  
          talk.what();  
           
          //獲取原型函數(shù)walk的實例  
          var walk = new cbs.walk();  
          //調用原型函數(shù)的實例函數(shù)  
          walk.where();  
          </script> 

          posted @ 2011-07-09 11:34 xzc 閱讀(1014) | 評論 (2)編輯 收藏
          常用命令
                 Maven2 的運行命令為 : mvn ,
          常用命令為 :
                       mvn archetype:create :創(chuàng)建 Maven 項目
                       mvn compile :編譯源代碼
                       mvn test-compile :編譯測試代碼
                       mvn test : 運行應用程序中的單元測試
                       mvn site : 生成項目相關信息的網(wǎng)站
                       mvn clean :清除目標目錄中的生成結果
                       mvn package : 依據(jù)項目生成 jar 文件
                       mvn install :在本地 Repository 中安裝 jar
                       mvn eclipse:eclipse :生成 Eclipse 項目文件
          生成項目
                       建一個 JAVA 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
                    建一個 web 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

          簡單解釋一下:
          archetype  是一個內建插件,他的create任務將建立項目骨架
          archetypeArtifactId   項目骨架的類型
          DartifactId 項目名稱

          可用項目骨架有:
          * maven-archetype-archetype
          * maven-archetype-j2ee-simple
          * maven-archetype-mojo
          * maven-archetype-portlet
          * maven-archetype-profiles (currently under development)
          * maven-archetype-quickstart
          * maven-archetype-simple (currently under development)
          * maven-archetype-site
          * maven-archetype-site-simple, and
          * maven-archetype-webapp

          附maven2 生成項目標準目錄布局
          src/main/java Application/Library sources
          src/main/resources Application/Library resources
          src/main/filters Resource filter files
          src/main/assembly Assembly descriptors
          src/main/config Configuration files
          src/main/webapp Web application sources
          src/test/java Test sources
          src/test/resources Test resources
          src/test/filters Test resource filter files
          src/site Site
          LICENSE.txt Project's license
          README.txt Project's readme
          posted @ 2011-07-08 11:20 xzc 閱讀(3901) | 評論 (0)編輯 收藏

           

          2011-07-05

          如果你想定義一個maven工程模板,有一種很快的方法:
          1.定義你開發(fā)環(huán)境的目錄結構,寫一個pom.xml.
          2.使用命令,mvn archetype:create-from-project 創(chuàng)建一個工程模板。
          3.在target目錄下執(zhí)行mvn install.執(zhí)行完之后你就可以使用你的模板了。
          4.執(zhí)行命令,mvn archetype:generate -DarchetypeCatalog=local就可以開始使用你定義的模板創(chuàng)建工程。

          例子:
          1.創(chuàng)建目錄結構如下:
          Demo
          --src
          --main
          --resources
          --test
          --webapp
          pom.xml

          pom.xml內容:              
          <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
          <modelVersion>4.0.0</modelVersion>
          <groupId>gDemo</groupId>
          <artifactId>demo</artifactId>
          <packaging>jar</packaging>
          <version>1.0</version>
          <name>Maven Quick Start Archetype</name>
          <url>http://maven.apache.org</url>
          <dependencies>
          <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
          </dependency>
          </dependencies>
          </project>

          2.在Demo目錄下執(zhí)行命令,mvn archetype:create-from-project

          3.在創(chuàng)建的target\generated-sources\archetype目錄下執(zhí)行,mvn install.
          到此你的工程模板創(chuàng)建完成。在以后開發(fā)中就可以使用它。

          4.執(zhí)行mvn archetype:generate -DarchetypeCatalog=local會看到模板選項,選擇剛才創(chuàng)建的模板,然后進行下面的設置。
          到此恭喜你,成功使用。

          posted @ 2011-07-08 10:13 xzc 閱讀(1570) | 評論 (0)編輯 收藏

          總體解釋:
          DML(data manipulation language):
                 它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對數(shù)據(jù)庫里的數(shù)據(jù)進行操作的語言
          DDL(data definition language):
                 DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數(shù)據(jù)類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用
          DCL(Data Control Language):
                 是數(shù)據(jù)庫控制功能。是用來設置或更改數(shù)據(jù)庫用戶或角色權限的語句,包括(grant,deny,revoke等)語句。在默認狀態(tài)下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權力執(zhí)行DCL

          詳細解釋:
          一、DDL is Data Definition Language statements. Some examples:數(shù)據(jù)定義語言,用于定義和管理 SQL 數(shù)據(jù)庫中的所有對象的語言
                1.CREATE - to create objects in the database   創(chuàng)建
                2.ALTER - alters the structure of the database   修改
                3.DROP - delete objects from the database   刪除
                4.TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
                TRUNCATE TABLE [Table Name]。
            下面是對Truncate語句在MSSQLServer2000中用法和原理的說明:
            Truncate table 表名 速度快,而且效率高,因為:
            TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統(tǒng)和事務日志資源少。
            DELETE 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務日志中記錄頁的釋放。
            TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數(shù)值重置為該列的種子。如果想保留標識計數(shù)值,請改用 DELETE。如果要刪除表定義及其數(shù)據(jù),請使用 DROP TABLE 語句。
            對于由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由于 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發(fā)器。
            TRUNCATE TABLE 不能用于參與了索引視圖的表。
                 5.COMMENT - add comments to the data dictionary 注釋
                 6.GRANT - gives user's access privileges to database 授權
                 7.REVOKE - withdraw access privileges given with the GRANT command   收回已經(jīng)授予的權限

          二、DML is Data Manipulation Language statements. Some examples:數(shù)據(jù)操作語言,SQL中處理數(shù)據(jù)等操作統(tǒng)稱為數(shù)據(jù)操縱語言
                 1.SELECT - retrieve data from the a database           查詢
                 2.INSERT - insert data into a table                    添加
                  3.UPDATE - updates existing data within a table    更新
                 4.DELETE - deletes all records from a table, the space for the records remain   刪除
                 5.CALL - call a PL/SQL or Java subprogram
                 6.EXPLAIN PLAN - explain access path to data
                 Oracle RDBMS執(zhí)行每一條SQL語句,都必須經(jīng)過Oracle優(yōu)化器的評估。所以,了解優(yōu)化器是如何選擇(搜索)路徑以及索引是如何被使用的,對優(yōu)化SQL語句有很大的幫助。Explain可以用來迅速方便地查出對于給定SQL語句中的查詢數(shù)據(jù)是如何得到的即搜索路徑(我們通常稱為Access Path)。從而使我們選擇最優(yōu)的查詢方式達到最大的優(yōu)化效果。
                 7.LOCK TABLE - control concurrency 鎖,用于控制并發(fā)

          三、DCL is Data Control Language statements. Some examples:數(shù)據(jù)控制語言,用來授予或回收訪問數(shù)據(jù)庫的某種特權,并控制數(shù)據(jù)庫操縱事務發(fā)生的時間及效果,對數(shù)據(jù)庫實行監(jiān)視等
                 1.COMMIT - save work done 提交
                  2.SAVEPOINT - identify a point in a transaction to which you can later roll back 保存點
                 3.ROLLBACK - restore database to original since the last COMMIT   回滾
                 4.SET TRANSACTION - Change transaction options like what rollback segment to use   設置當前事務的特性,它對后面的事務沒有影響.

           

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/level_level/archive/2009/06/08/4248685.aspx

          posted @ 2011-06-27 10:53 xzc 閱讀(505) | 評論 (0)編輯 收藏
          ORACLE中的支持正則表達式的函數(shù)主要有下面四個:
          1,REGEXP_LIKE :與LIKE的功能相似
          2,REGEXP_INSTR :與INSTR的功能相似
          3,REGEXP_SUBSTR :與SUBSTR的功能相似
          4,REGEXP_REPLACE :與REPLACE的功能相似
          它們在用法上與Oracle SQL 函數(shù)LIKE、INSTR、SUBSTR 和REPLACE 用法相同,
          但是它們使用POSIX 正則表達式代替了老的百分號(%)和通配符(_)字符。
          POSIX 正則表達式由標準的元字符(metacharacters)所構成:
          '^' 匹配輸入字符串的開始位置,在方括號表達式中使用,此時它表示不接受該字符集合。
          '$' 匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹
          配 '\n' 或 '\r'。
          '.' 匹配除換行符之外的任何單字符。
          '?' 匹配前面的子表達式零次或一次。
          '+' 匹配前面的子表達式一次或多次。
          '*' 匹配前面的子表達式零次或多次。
          '|' 指明兩項之間的一個選擇。例子'^([a-z]+|[0-9]+)$'表示所有小寫字母或數(shù)字組合成的
          字符串。
          '( )' 標記一個子表達式的開始和結束位置。
          '[]' 標記一個中括號表達式。
          '{m,n}' 一個精確地出現(xiàn)次數(shù)范圍,m=<出現(xiàn)次數(shù)<=n,'{m}'表示出現(xiàn)m次,'{m,}'表示至少
          出現(xiàn)m次。
          \num 匹配 num,其中 num 是一個正整數(shù)。對所獲取的匹配的引用。
          字符簇:
          [[:alpha:]] 任何字母。
          [[:digit:]] 任何數(shù)字。
          [[:alnum:]] 任何字母和數(shù)字。
          [[:space:]] 任何白字符。
          [[:upper:]] 任何大寫字母。
          [[:lower:]] 任何小寫字母。
          [[:punct:]] 任何標點符號。
          [[:xdigit:]] 任何16進制的數(shù)字,相當于[0-9a-fA-F]。
          各種操作符的運算優(yōu)先級
          \轉義符
          (), (?:), (?=), [] 圓括號和方括號
          *, +, ?, {n}, {n,}, {n,m} 限定符
          ^, $, anymetacharacter 位置和順序
          |
          */
          --創(chuàng)建表
          create table fzq
          (
            id varchar(4),
            value varchar(10)
          );
          --數(shù)據(jù)插入
          insert into fzq values
          ('1','1234560');
          insert into fzq values
          ('2','1234560');
          insert into fzq values
          ('3','1b3b560');
          insert into fzq values
          ('4','abc');
          insert into fzq values
          ('5','abcde');
          insert into fzq values
          ('6','ADREasx');
          insert into fzq values
          ('7','123  45');
          insert into fzq values
          ('8','adc  de');
          insert into fzq values
          ('9','adc,.de');
          insert into fzq values
          ('10','1B');
          insert into fzq values
          ('10','abcbvbnb');
          insert into fzq values
          ('11','11114560');
          insert into fzq values
          ('11','11124560');
          --regexp_like
          --查詢value中以1開頭60結束的記錄并且長度是7位
          select * from fzq where value like '1____60';
          select * from fzq where regexp_like(value,'1....60');
          --查詢value中以1開頭60結束的記錄并且長度是7位并且全部是數(shù)字的記錄。
          --使用like就不是很好實現(xiàn)了。
          select * from fzq where regexp_like(value,'1[0-9]{4}60');
          -- 也可以這樣實現(xiàn),使用字符集。
          select * from fzq where regexp_like(value,'1[[:digit:]]{4}60');
          -- 查詢value中不是純數(shù)字的記錄
          select * from fzq where not regexp_like(value,'^[[:digit:]]+$');
          -- 查詢value中不包含任何數(shù)字的記錄。
          select * from fzq where regexp_like(value,'^[^[:digit:]]+$');
          --查詢以12或者1b開頭的記錄.不區(qū)分大小寫。
          select * from fzq where regexp_like(value,'^1[2b]','i');
          --查詢以12或者1b開頭的記錄.區(qū)分大小寫。
          select * from fzq where regexp_like(value,'^1[2B]');
          -- 查詢數(shù)據(jù)中包含空白的記錄。
          select * from fzq where regexp_like(value,'[[:space:]]');
          --查詢所有包含小寫字母或者數(shù)字的記錄。
          select * from fzq where regexp_like(value,'^([a-z]+|[0-9]+)$');
          --查詢任何包含標點符號的記錄。
          select * from fzq where regexp_like(value,'[[:punct:]]');
          /*
          理解它的語法就可以了。其它的函數(shù)用法類似。
          作者:tshfang
          來源: 泥胚文章寫作http://www.nipei.com原文地址:http://www.nipei.com/article/9865
          posted @ 2011-06-21 15:39 xzc 閱讀(1498) | 評論 (0)編輯 收藏
          僅列出標題
          共32頁: First 上一頁 7 8 9 10 11 12 13 14 15 下一頁 Last 
          主站蜘蛛池模板: 海阳市| 灵台县| 丹江口市| 淳化县| 高雄县| 鹰潭市| 汤原县| 左贡县| 平乐县| 巴里| 横峰县| 侯马市| 汝南县| 河北区| 阿坝| 修武县| 安康市| 罗定市| 白河县| 洛扎县| 博罗县| 深圳市| 济宁市| 新昌县| 辛集市| 平遥县| 敦煌市| 镇远县| 寿宁县| 新宾| 廉江市| 达尔| 绍兴市| 浦县| 鄯善县| 浦城县| 皋兰县| 博客| 靖宇县| 山丹县| 民乐县|