<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    1 from scratch ?從0開始,白手起家
    2 and so forth? 等等,諸如此類,與and so on意思差不多
    3 I cann't agree with you more 我非常同意,我再同意不過了
    4 Nothing could be further from the truth 大錯(cuò)特錯(cuò)

    posted @ 2007-07-31 18:37 leekiang 閱讀(436) | 評(píng)論 (0)編輯 收藏

    可靠性?reliability?
    產(chǎn)品在規(guī)定條件下和規(guī)定時(shí)間內(nèi),完成規(guī)定功能的能力。?

    維修性?maintainability?
    在規(guī)定條件下使用的產(chǎn)品在規(guī)定的時(shí)間內(nèi),按規(guī)定的程序和方法進(jìn)行維修時(shí),保持或恢復(fù)到能完成規(guī)定功能的能力。?有效性?availability?可以維修的產(chǎn)品在某時(shí)刻具有或維持規(guī)定功能的能力。? ?

    耐久性?durability?
    產(chǎn)品在規(guī)定的使用和維修條件下,達(dá)到某種技術(shù)或經(jīng)濟(jì)指標(biāo)極限時(shí),完成規(guī)定功能的能力。?

    失效(故障)?failure?
    產(chǎn)品喪失規(guī)定的功能。對(duì)可修復(fù)產(chǎn)品通常也稱故障。?

    失效模式?failure?mode?
    失效的表現(xiàn)形式。?失效機(jī)理?failure?mechanism?引起失效的物理、化學(xué)變化等內(nèi)在原因。?

    誤用失效?misuse?failure?
    不按規(guī)定條件使用產(chǎn)品而引起的失效。?

    本質(zhì)失效?Inherent?weakness?failure?
    產(chǎn)品在規(guī)定的條件下使用,由于產(chǎn)品本身固有的弱點(diǎn)而引起的失效。?

    早期失效?early?failure?
    產(chǎn)品由于設(shè)計(jì)制造上的缺陷等原因而發(fā)生的失效。?

    偶然失效?random?failure?
    產(chǎn)品由于偶然因素發(fā)生的失效。?

    耗損失效?wear?out?failure?
    產(chǎn)品由個(gè)老化、磨損、損耗、疲勞等原因引起的失效。?www.可靠性.com?

    維修?maintenance?
    為保持或恢復(fù)產(chǎn)品能完成規(guī)定功能的能力而采取的技術(shù)管理措施。?

    維護(hù)?preventlive?maintenance?
    為防止產(chǎn)品性能退化或降低產(chǎn)品失效的概率,按事前規(guī)定的計(jì)劃或相應(yīng)技術(shù)條件的規(guī)定進(jìn)行的維修,也可稱預(yù)防性維修。?

    修理?corrective?maintenance?
    產(chǎn)品失效后,為使產(chǎn)品恢復(fù)到能完成規(guī)定功能而進(jìn)行的維修?!?

    可靠度?reliability?
    產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的概率。?

    可靠度的觀測(cè)值?observed?reliability?
    a.對(duì)于不可修復(fù)的產(chǎn)品,是指直到規(guī)定的時(shí)間區(qū)間終了為止,能完成規(guī)定功能的產(chǎn)品數(shù)與在該時(shí)間區(qū)間開始時(shí)刻投入工作的產(chǎn)品數(shù)之比。?
    b.對(duì)于可修復(fù)產(chǎn)品是指一個(gè)或多個(gè)產(chǎn)品的無故障工作時(shí)間達(dá)到或超過規(guī)定時(shí)間的次數(shù)與觀察時(shí)間內(nèi)無故障工作的總次數(shù)之比。?
    注:在計(jì)算無故障工作總次數(shù)時(shí),每個(gè)產(chǎn)品的最后一次無故障工作時(shí)間若不超過規(guī)定的時(shí)間則不予計(jì)人。?

    累積失效概率?cumulative?failure?probability?
    產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi)失效的概率,其數(shù)值等于一減可靠度。?

    累積失效概率的觀測(cè)值?observed?cumulative?failure?probability?
    www.可靠性.com

    對(duì)于不可修復(fù)和可修復(fù)的產(chǎn)品都等于一減可靠度的觀測(cè)值。?

    平均壽命(平均無故障工作時(shí)間)?mean?life(mean?time?between?failures)?
    壽命(無故障工作時(shí)間)的平均值。?

    平均壽命(平均無故障工作時(shí)間)的觀測(cè)值?observed?mean?life(observed?mean?time?between?failures)?
    a.對(duì)于不可修復(fù)的產(chǎn)品,當(dāng)所有試驗(yàn)樣品都觀察到壽命終了的實(shí)際值時(shí),是指它們的算術(shù)中均值;當(dāng)不是所有試驗(yàn)樣品都觀測(cè)到壽命終了的截尾試驗(yàn)時(shí)是指受試樣品的累積試驗(yàn)時(shí)間與失效數(shù)之比。?
    b.對(duì)可修復(fù)的產(chǎn)品,是指一個(gè)或多個(gè)產(chǎn)品在它的使用壽命期內(nèi)的某個(gè)觀察期間累積工作時(shí)間與故障次數(shù)之比。?

    失效率?failure?rate?
    工作到某時(shí)刻尚未失效的產(chǎn)品,在該時(shí)刻后單位時(shí)間內(nèi)發(fā)生失效的概率。?

    失效率的觀測(cè)值?observed?failure?rate?
    在某時(shí)刻后單位時(shí)間內(nèi)失效的產(chǎn)品數(shù)與工作到該時(shí)刻尚未失效的產(chǎn)品數(shù)之比。?

    平均失效率的觀測(cè)值?observed?mean?failure?rate?
    a.對(duì)于不可修復(fù)的產(chǎn)品是指在一個(gè)規(guī)定時(shí)期內(nèi)失效數(shù)與累積工作時(shí)間之比。?
    b.對(duì)于可修復(fù)的產(chǎn)品是指它的使用壽命期內(nèi)的某個(gè)觀察期間一個(gè)或多個(gè)產(chǎn)品的故障發(fā)生次數(shù)與累積工作時(shí)間之比。?
    轉(zhuǎn)自http://blog.sina.com.cn/u/4c5e9d0b010007u7

    posted @ 2007-07-31 18:35 leekiang 閱讀(301) | 評(píng)論 (0)編輯 收藏

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name
    如果View Source Editor\Editor Name節(jié)點(diǎn)沒有,則新建。
    然后在Editor Name的"默認(rèn)"里填入新編輯器的路徑,如"C:\Program Files\Notepad++\notepad++.exe"

    posted @ 2007-07-31 17:56 leekiang 閱讀(1130) | 評(píng)論 (0)編輯 收藏

    1,排序,用alias="外鍵對(duì)象",如果有一行的外鍵為空,則會(huì)報(bào)錯(cuò)
    2,可用 pageContext.getAttribute("var名字")得到當(dāng)前行的對(duì)象
    3,為什么et里的el表達(dá)式在servlet2.3下也能用,
    4,filterCell="droplist"的用法
    5,title="${title}"沒問題,但用title="<%=request.getPatameter("title")%>"不行。
    ?? 可以用title=="<span id='title'>${title}</span>",但要注意單雙引號(hào)的交錯(cuò)
    6,有些屬性,其取值為[1,2,3,...] 如果要在列表里顯示名字,并且要使用droplist,可在vo中加一個(gè)getXxxName()的方法,方法里用case switch結(jié)構(gòu)返回各個(gè)數(shù)值的中文釋義,
    然后在標(biāo)簽中就可以把xxxName當(dāng)作屬性使用了。(只須有g(shù)etter,可以不要setter)
    7,日期列的格式化
    ? cell="date" format="yyyy-MM-dd HH:mm:ss"
    8,要支持導(dǎo)出,必須定義filter:
    <filter>
    <filter-name>eXtremeExport</filter-name>
    <filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class>
    <init-param>
    <param-name>responseHeadersSetBeforeDoFilter</param-name>
    <param-value>true</param-value>
    </init-param>???????????????
    </filter>
    <filter-mapping>
    <filter-name>eXtremeExport</filter-name>
    <url-pattern>*.do</url-pattern>
    </filter-mapping>
    9,導(dǎo)出excel時(shí)名稱為亂碼的解決辦法:
    ?? 重寫ExportFilter,然后在web.xml里把默認(rèn)的那個(gè)導(dǎo)出過濾器替換掉。
    見http://www.tkk7.com/lucky/archive/2006/04/08/40004.html
    http://blog.csdn.net/micro_nucleus/archive/2006/06/09/782667.aspx
    10,displaytag支持portlet?
    15,其他
    http://blog.csdn.net/using_wisdom/archive/2007/10/31/1859449.aspx
    http://www.tkk7.com/wuxufeng8080/articles/56985.html

    posted @ 2007-07-28 18:06 leekiang 閱讀(359) | 評(píng)論 (0)編輯 收藏

    1,用exporter.setParameter(JRExporterParameter.PAGE_INDEX,new Integer(page)) 進(jìn)行分頁(yè),一直顯示正常,當(dāng)使用
    exporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT_LIST,totalJprint);
    在HTML顯示時(shí)會(huì)把多頁(yè)一起顯示出來,無法分頁(yè)顯示,為什么?

    2,
    用ireport3.0打開一個(gè)舊的jrxml文件并且運(yùn)行,
    發(fā)現(xiàn)ireport把<box>元素的topBorderColor屬性改成了<box>子元素<topPen>的lineColor屬性。
    查看最新的dtd,發(fā)現(xiàn)新舊兩種方式都支持。
    舊的<box?topBorder="None"
    ????????topBorderColor
    ="#000000"?leftBorder="1Point"
    ????????leftBorderColor
    ="#000000"?rightBorder="1Point"
    ????????rightBorderColor
    ="#000000"?bottomBorder="1Point"
    ????????bottomBorderColor
    ="#000000"?/>
    ????????
    ????新的????
    <box>
    ????????
    <topPen?lineWidth="0.0"
    ?????????lineStyle
    ="Solid"?lineColor="#000000"?/>
    ????????
    <leftPen?lineWidth="1.0"
    ?????????lineStyle
    ="Solid"?lineColor="#000000"?/>
    ????????
    <bottomPen?lineWidth="0.0"
    ?????????lineColor
    ="#000000"?/>
    ????????
    <rightPen?lineWidth="1.0"
    ?????????lineStyle
    ="Solid"?lineColor="#000000"?/>
    ???????
    </box>

    ?????但<bottomPen>明顯有問題,少一個(gè)lineStyle,另外應(yīng)該為lineWidth="1.0"?

    3, 常見報(bào)表模型:列表、分組、主從、嵌套、交叉、圖形、套打、分欄、填報(bào)。

    4, sf的DynamicJasper使JasperReports具有動(dòng)態(tài)報(bào)表的能力。
    http://blog.csdn.net/chszs/archive/2007/09/23/1796815.aspx
    ?????
    ???????

    posted @ 2007-07-26 22:27 leekiang 閱讀(632) | 評(píng)論 (0)編輯 收藏

    ??????如果發(fā)布的j2ee應(yīng)用沒有EJB方面的,用jboss和tomcat差別不大。JBoss的Servlet Container也是Tomcat。JBoss做的改進(jìn)主要是修改了tomcat的session replication部分,使之支持使用JBoss Cache進(jìn)行session的復(fù)制功能。
    ????? jboss默認(rèn)實(shí)現(xiàn)了APR,性能要好不少了吧?還有安全框架、數(shù)據(jù)庫(kù)連接池、JTA等方面。


    JBoss,Geronimo還是Tomcat?
    Four open source Java application servers compared

    posted @ 2007-07-26 17:36 leekiang 閱讀(420) | 評(píng)論 (0)編輯 收藏

    1,"&"有時(shí)候不認(rèn),則改為"&amp;"

    ?? 但在執(zhí)行insert操作或update操作時(shí)如果sql語句中含"&amp;",如何處理?

    ?? ? ?? 1) update userinfo set pageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test' ??????? 2) update userinfo set pageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'其中||是連字符, chr(38)跟ASCII的字符轉(zhuǎn)碼是一致的。plsql中還可以set define off來關(guān)閉特殊字符,還可以用show define來查看有些特殊定義的字符


    2,慎用where pid!=3等用法,這樣沒有囊括is null的情況,要實(shí)現(xiàn)同樣目的可where pid!=3 or pid is null
    3,快速?gòu)牧硗庖粋€(gè)表復(fù)制數(shù)據(jù)
    ? insert into tablea (id,name) select id,name from tableb
    4,查版本
    ? select * from PRODUCT_COMPONENT_VERSION;或 select * from v$version;
    5,nls==National ? Language ? Support ? 國(guó)際語言支持
    6,PLSQL
    ? HKEY_CURRENT_USER\Software\Allround Automations
    ? HKEY_CURRENT_USER\Software\Microsoft\Security
    7,查blob大小
    ? select dbms_lob.getlength(blobfield) from wd_blob
    8,改變表空間
    ? alter table TB_USER move tablespace myspace;
    ? 如果被轉(zhuǎn)移表空間的表含有索引, 表轉(zhuǎn)移后索引變得不可用. 要?jiǎng)h除舊索引,建立新索引
    ? alter index user_name.index_name rebuild; 主鍵索引名與主鍵名相同
    9,導(dǎo)入時(shí)表空間錯(cuò)誤
    ? 導(dǎo)出dmp時(shí)的用戶的默認(rèn)表空間必須是表所在的表空間,這樣導(dǎo)入時(shí)才不會(huì)出錯(cuò)。
    ? 如果dmp小,也可用UE打開直接修改表空間。

    10,用select into 復(fù)制數(shù)據(jù)
    insert into test
    ? (id, name)
    ? select id, name from mis@dblink;
    ? 或
    ? create table test--需先刪表
    as (select * from mis@dblink)

    11,中文字段按拼音排序:
    select username from tab_name order by nlssort(username,'nls_sort=schinese_pinyin_m');
    按偏旁部首:
    select username from tab_name order by nlssort(username,'nls_sort=schinese_radical_m');
    按筆畫:
    select username from tab_name order by nlssort(username,'nls_sort=schinese_stroke_m');

    12,插入帶單引號(hào)的字符

    insert into t(a) values ('a'||chr(39)||'b' );
    或insert into t(a) varlus ('a''b');

    13,如果你連接到數(shù)據(jù)庫(kù)后沒有在取nextval之后再取currval,就會(huì)出現(xiàn)ORA-08002出錯(cuò). ?
    ? 因此對(duì)每一個(gè)session來說,應(yīng)該先用nextval,才可以取currval。

    14

    truncate table mapevent時(shí),如果建了外鍵引用(外鍵所在那張表不一定有數(shù)據(jù),有數(shù)據(jù)就會(huì)報(bào)另外一個(gè)錯(cuò)誤了)
    則報(bào) ORA-02266:表中的唯一主鍵被啟用的外部關(guān)鍵字引用
    ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    (外鍵所在那張表無數(shù)據(jù)時(shí)delete from table mapevent是可以執(zhí)行的)
    正確的步驟:
    ----------------
    alter table mapevent disable primary key cascade;
    truncate table mapevent;
    alter table mapevent enable primary key;
    ---------------

    15
    查詢某個(gè)表被哪些表引用
    select *
    ? from user_constraints t
    ?where t.constraint_type = 'R'
    ?? and t.r_constraint_name = '該表的主鍵名';

    16,按中文排序,但中文的一二三四五有問題,可用下面的辦法:

    select * from T_TIME_SETUP order by translate(ccname,'一二三四五','12345')

    來源:http://www.itpub.net/226375,1.html

    17,誤刪了怎么辦?用Oracle中的回閃查詢

    查20分鐘前的數(shù)據(jù):

    ?select * from tb_wz as of timestamp(sysdate - 20 / 1440)

    ? http://blog.csdn.net/xuyuan77/archive/2007/06/06/1640757.aspx

    18,導(dǎo)出帶有blobh或clob類型字段表時(shí)會(huì)出現(xiàn):EXP-00003: 未找到段 (8,375419) 的存儲(chǔ)定義
    ?原因見http://read.newbooks.com.cn/info/116619.html

    19,導(dǎo)出命令

    exp Test1/Test1passwd@服務(wù)名 owner=Test1 file=D:\files\Test1.dmp log=d:\log.log

    exp還有一個(gè)參數(shù)full=y

    imp aichannel/aichannel@HUST full=y? file=test.dmp ignore=y

    20,查oracle的保留字 select * from v$reserved_words

    21,修改序列的當(dāng)前值

    alter sequence userseq increment by 500;
    ?select userseq.nextval from dual;
    alter sequence userseq increment by 1;


    22,序列跳20號(hào)
    create sequence ORA_SEQ
    minvalue 100000000000
    maxvalue 999999999999
    start with 100000000260
    increment by 1
    cache 20
    如果設(shè)置了cache 20,數(shù)據(jù)庫(kù)關(guān)閉時(shí)這20個(gè)序列成員會(huì)丟失,造成序列不連續(xù)的現(xiàn)象。
    序列設(shè)置nocache模式即可
    http://topic.csdn.net/u/20090421/20/7edde8ab-dbcc-4765-b9b9-a7fae3d2af39.html
    絕不能跳號(hào)的序列號(hào)設(shè)計(jì)問題 http://www.itpub.net/viewthread.php?tid=403149

    23,用9i的OEM去連10g,如果是普通用戶登錄,就會(huì)報(bào)
    你必須具有select any dictionary權(quán)限才能運(yùn)行此應(yīng)用程序,請(qǐng)要求DBA為你賦予此權(quán)限
    ?這是是9I的OEM在連接10G的數(shù)據(jù)庫(kù)的時(shí)候的一個(gè)BUG,目前沒有解決辦法。
    http://www.itpub.net/thread-888007-1-1.html

    24,可用其他dba用戶修改system用戶的密碼

    25,查看oracle最大連接數(shù)
    show parameter processes
    show parameter sessions
    一個(gè)session對(duì)應(yīng)一個(gè)process,但是一個(gè)process未必對(duì)應(yīng)一個(gè)session
    SELECT * FROM v$process p
    ?WHERE NOT EXISTS (SELECT 1 FROM v$session WHERE p.paddr = p.addr);
    ?alter system set sessions=300 scope=spfile;需重啟

    v$resource_limit視圖各字段的含義
    current_utilization ? - ? Number ? of ? (resources, ? locks, ? or ? processes) ? currently
    being ? used

    max_utization ? - ? Maximum ? consumption ? of ? the ? resource ? since ? the ? last
    instance ? start ? up 自從上次啟動(dòng)以來的最大值

    initial_allocation ? - ? Initial ? allocation. ? This ? will ? be ? equal ? to ? the ? value
    specified ? for ? the ? resource ? in ? the ? initialization ? parameter
    file ? (UNLIMITED ? for ? infinite ? allocation)

    limit_value ? - ? Unlimited ? for ? resources ? and ? locks. ? This ? can ? be ? greater
    than ? the ? initial ? allocation ? value ? (UNLIMITED ? for ? infinite
    limit).

    26,
    IMP-00003: 遇到 ORACLE 錯(cuò)誤 959
    ORA-00959: 表空間'TBS_BSS'不存在
    這種類型的錯(cuò)誤往往是因?yàn)楸砩嫌写笞侄危笞侄嗡诘谋砜臻g不存在。普通字段是可以導(dǎo)到不同名的表空間的。

    27,
    alter table USERS add? primary key (userid);//不好,會(huì)自動(dòng)生成約束名,不利于移植數(shù)據(jù)
    alter table USERS? add? constraint PK_USERS? primary key (userid);//ok.外鍵也是如此。

    28,
    INTERSECT 操作符用來返回兩個(gè)查詢中都存在的記錄,即返回兩個(gè)查詢結(jié)果的交集,前提是兩個(gè)查詢的列的數(shù)量和數(shù)據(jù)類型必須完全相同。


    posted @ 2007-07-15 03:15 leekiang 閱讀(625) | 評(píng)論 (0)編輯 收藏

    select rownum,c1 from t1 where rownum > 10沒有記錄,

    因?yàn)榈谝粭l不滿足去掉的話,第二條的ROWNUM又成了1,所以永遠(yuǎn)沒有滿足條件的記錄?;蛘呖梢赃@樣理解:

    ROWNUM是一個(gè)序列,是oracle數(shù)據(jù)庫(kù)從數(shù)據(jù)文件或緩沖區(qū)中讀取數(shù)據(jù)的順序。它取得第一條記錄則rownum值為1,第二條為2,依次類推。如果你用>,>=,=,between...and這些條件,因?yàn)閺木彌_區(qū)或數(shù)據(jù)文件中得到的第一條記錄的rownum為1,則被刪除,接著取下條,可是它的rownum還是1,又被刪除,依次類推,便沒有了數(shù)據(jù)。

    select rownum,c1 from t1 where rownum != 10 為何是返回前9條數(shù)據(jù)呢?
    為什么 rownum >1 時(shí)查不到一條記錄,而 rownum >0 或 rownum >=1 卻總顯示所以的記錄
    任何時(shí)候想把 rownum = 1 這條記錄拋棄是不對(duì)的,它在結(jié)果集中是不可或缺的,少了rownum=1 就像空中樓閣一般不能存在,所以你的 rownum 條件要包含到 1

    但如果就是想要用 rownum > 10 這種條件的話話就要用嵌套語句,把 rownum 先生成,然后對(duì)他進(jìn)行查詢。
    select *
    from (selet rownum as rn,t1.* from a where ...)
    where rn >10

    一般代碼中對(duì)結(jié)果集進(jìn)行分頁(yè)就是這么干的。

    另外:rowid 與 rownum 雖都被稱為偽列,但它們的存在方式是不一樣的,rowid 可以說是物理存在的,表示記錄在表空間中的唯一位置ID,在DB中唯一。只要記錄沒被搬動(dòng)過,rowid是不變的。rowid 相對(duì)于表來說又像表中的一般列,所以以 rowid 為條件就不會(huì)有 rownum那些情況發(fā)生。

    詳見http://hi.baidu.com/jztchina/blog/item/4cca34971258fe6954fb96d6.html

    Oracle在檢索的時(shí)候,會(huì)首先把數(shù)據(jù)都檢索出來,然后在排序段中進(jìn)行排序。假如你有一個(gè)SQL語句如下所示
    SELECT
    ????????EMP_NO
    FROM
    ????????EMP
    WHERE
    ????????ROWNUM?
    <?10
    ORDER?BY
    ????????EMP_NO

    ????????在檢索的時(shí)候,會(huì)首先把數(shù)據(jù)檢索出來,也就是把EMP表數(shù)據(jù)都檢索出來,然后再Order by排序操作。因?yàn)镽OWNUM?數(shù)據(jù)是在排序前就檢索出來的了,所以不能利用ROWNUM來取得排序后的前10條操作。那么應(yīng)該如何操作呢。其實(shí)很簡(jiǎn)單,利用子查詢,先排序,再取ROWNUM。如下所示

    SELECT
    ????????EMP_NO
    FROM
    ????????(
    ????????
    SELECT?
    ????????????????EMP_NO
    ????????
    FROM
    ????????????????EMP
    ????????
    ORDER?BY
    ????????????????EMP_NO
    ????????)
    WHERE
    ????????ROWNUM?
    <?10

    posted @ 2007-07-15 03:12 leekiang 閱讀(521) | 評(píng)論 (0)編輯 收藏

    create or replace trigger auth_secure
    before insert or update or delete 
    on auths //對(duì)整表更新前觸發(fā)
    begin
    if(to_char(sysdate,'DY')='SUN'
    RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表auths');
    end if;
    end 

    RAISE_APPLICATION_ERROR的錯(cuò)誤代碼在-20000到-20999之間,這樣就不會(huì)與 ORACLE 的任何錯(cuò)誤代碼發(fā)生沖突

    禁止ddl操作
    create or replace trigger ddl_deny
    before create or alter or drop or truncate on database//系統(tǒng)級(jí)別的觸發(fā)器
    declare
    v_errmsg varchar2(100):= 'You have no permission to this operation';
    begin
    if ora_sysevent = 'CREATE' then
    raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || v_errmsg);
    elsif ora_sysevent = 'ALTER' then
    raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || v_errmsg);
    elsif ora_sysevent = 'DROP' then
    raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || v_errmsg);
    elsif ora_sysevent = 'TRUNCATE' then
    raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || v_errmsg);
    end if;
    exception
    when no_data_found then
    null;
    end;
    又一例:
    create or replace trigger his_trig_u
      after update ON MYDATA
      FOR EACH ROW
    declare
      temp_count number;
    BEGIN
      select count(*)
        into temp_count
        from DATAHIS t
       where t.num = :new.num
         and t.time = :new.time;
      if temp_count = 0 then
        insert into DATAHIS
          (uid, num, value, time)
        values
          (data_sql.nextval,
           :new.num,
           :new.value,
           :new.time);
      end if;
    END;
    begin前面出現(xiàn)的new,old不加冒號(hào),begin和end之間出現(xiàn)的new和old都要在前面加上":"

    用觸發(fā)器完成動(dòng)態(tài)數(shù)據(jù)的操作
      在涉及如何實(shí)現(xiàn)動(dòng)態(tài)庫(kù)存的問題時(shí),可用觸發(fā)器解決。倉(cāng)庫(kù)有驗(yàn)收、出庫(kù)、調(diào)撥、報(bào)廢、退料、讓售等這些數(shù)據(jù)必須與以前的庫(kù)存相加減,才能完成動(dòng)態(tài)庫(kù)存操作。本文僅以驗(yàn)收單觸發(fā)器為例,其它的結(jié)構(gòu)雷同。它們涉及到兩個(gè)基表:bi­_ysd(驗(yàn)收單),Bj_kcb(當(dāng)前庫(kù)存表),前者的表結(jié)構(gòu)(rq(日期),ysdh(驗(yàn)收單號(hào)), bjbm(備件編碼),yssl(驗(yàn)收數(shù)量),ysdj(驗(yàn)收單價(jià))),后者的表結(jié)構(gòu)為(bjbm(備件編碼),dqkcl(當(dāng)前庫(kù)存量),dqkcje(當(dāng)前庫(kù)存金額))觸發(fā)器如下:
      
     create or replace trigger trig_ysd
     after insert or update or delete on bj_ysd
     for each row
      declare rq1 varchar2(8);rq2 varchar2(8);
      /*限于篇幅,yssl1,yssl2,ysdj1,ysdj2,bjbm1,bjbm2,ii聲明略*/
      if inserting or updating then
       rq1:=:new.rq;bjbm1:=:new.bjbm;yssl1:=:new.yssl;
       ysdj1:=:new.ysdj;
      
       select count(*) into ii from bj_dqkcb
       where bjbm=bjbm1;
      
       if ii=0 then
        insert into bj_dqkcb(bjbm,dqkcl,dqkcje)
        value(bjbm1,yssl1,ysdj1);
       else
        update bj_dqkcb
        set dqkcl=dqkcl+yssl1;
           dqkcje=dqkcje+yssl1*ysdj1;
       end if
      end if
      
      if deleting or updating then
       rq2:=:old.rq;
       bjbm2:=:old.bjbm;
       yssl2:=:old.yssl;
       ysdj2:=:old.ysdj;
       update bj_dqkcb
       set dqkcb=dqkcl-yssl2;
        dqkcje=dqkcje-yssl2*ysdj2
      end if;
     end ;

    posted @ 2007-07-14 22:35 leekiang 閱讀(334) | 評(píng)論 (0)編輯 收藏

    別名為什么不能做條件,ORA-00904: "CCC": 標(biāo)識(shí)符無效。

    請(qǐng)教:
    SQL> select jno,jname,nval,val,val-nval ccc from jj where ccc > 1;
    出現(xiàn)錯(cuò)誤:
    ORA-00904: "CCC": 標(biāo)識(shí)符無效

    為什么啊,查資料select的用法里面沒用查到。
    SQL> select jno,jname,nval,val,val-nval ccc from jj where (val-nval)> 1;
    這樣就可以的,我還想按 ccc 排序,也不行。
    哪位老大指點(diǎn)一下,多謝?。?/span>

    where子句中只能直接使用欄位或者常量,而不能使用欄位的別名,除非這個(gè)別名來自子查詢之中,如:select .... from (select col1 ccc from table) where ccc > 1
    而order by 則可以直接使用別名,如select col1 ccc from table order by ccc
    我想,這和sql 的執(zhí)行順序是有關(guān)的,where中的部分先執(zhí)行 -> 如果有g(shù)roup by,接著執(zhí)行g(shù)roup by -> select中的函數(shù)計(jì)算、別名指定再運(yùn)行 -> 最后order by
    因此,字段、表達(dá)式的別名在where子句和group by子句都是不能使用的,而在order by中不僅可以使用別名,甚至可以直接使用欄位的下標(biāo)來進(jìn)行排序,如:order by 1 desc,2 asc 呵呵

    posted @ 2007-07-04 20:53 leekiang 閱讀(4771) | 評(píng)論 (1)編輯 收藏

    僅列出標(biāo)題
    共54頁(yè): First 上一頁(yè) 46 47 48 49 50 51 52 53 54 下一頁(yè) 
    主站蜘蛛池模板: 国产亚洲精品激情都市| 亚洲国产精品综合久久网络| 精品亚洲成a人片在线观看少妇| 国产乱妇高清无乱码免费| 亚洲天堂中文字幕在线| 免费国产va视频永久在线观看| 免费观看午夜在线欧差毛片| 99亚洲精品卡2卡三卡4卡2卡| 国产网站免费观看| 美女羞羞免费视频网站| 亚洲天堂在线视频| 国产免费一区二区三区免费视频 | 波多野结衣免费在线| 亚洲第一成年人网站| 老司机在线免费视频| 中文字幕亚洲综合久久综合| 免费看的一级毛片| 青青青视频免费观看| 中文字幕一精品亚洲无线一区| 中国一级特黄的片子免费 | 日本免费人成视频播放 | 亚洲a在线视频视频| 免费黄色福利视频| 国产成人亚洲精品| 免费永久看黄在线观看app| 一级午夜免费视频| 亚洲Av熟妇高潮30p| 四虎国产精品免费久久| 国产成人高清精品免费观看| 国内精品久久久久久久亚洲| 日韩免费观看一区| 亚洲va在线va天堂成人| gogo全球高清大胆亚洲| 中文字幕无码日韩专区免费| 亚洲一区无码中文字幕乱码| 四虎永久在线免费观看| 男人进去女人爽免费视频国产| 国产成人精品日本亚洲专一区| 亚洲无码视频在线| 免费观看无遮挡www的小视频| 日韩色视频一区二区三区亚洲|