亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12345下一頁(yè)
最近訪問板塊 發(fā)新帖
查看: 32121 | 回復(fù): 41
打印 上一主題 下一主題

EXCEPT 命令的問題。! [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-07-17 10:02 |只看該作者 |倒序?yàn)g覽
在資料中有這樣一段話“•如果對(duì)不包含字段的格式規(guī)定做例外輸出,則發(fā)生以下情況:
        -如果說明了輸出文件,用缺省值寫記錄。
        -如果記錄加鎖,系統(tǒng)則認(rèn)為該操作是請(qǐng)求打開記錄鎖。這是請(qǐng)求解鎖的替換格式。另一種方法是用UNLOCK操作!
我想寫個(gè)例子實(shí)現(xiàn)解鎖的這種情況,但是怎么考慮也沒能想出辦法來,有對(duì)這個(gè)熟悉的嗎,能不能給舉個(gè)例子。!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-11-22 20:49 |只看該作者

回復(fù) #1 chen405 的帖子

給你一個(gè)例子。
讀表  MY_FILE
如果找到紀(jì)錄,又滿足某條件,則更新某些字段。
如果某條件不滿足,則解鎖該紀(jì)錄,以免其他作業(yè)無法更新此紀(jì)錄。

C    NY_KEY          CHAIN MY_FILE
C                          IF      %FOUND
C                          IF      YOUR CONDITON
C               .......   (POPULATE FIELDS IN MY_FILE
C                          UPDATE MY_RECORD
C                          ELSE
C                          UNLOCK  MY_FILE
C                          ENDIF
C                          ENDIF

[ 本帖最后由 franliu 于 2009-12-1 12:21 編輯 ]

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-11-22 22:41 |只看該作者
原帖由 franliu 于 2009-11-22 20:49 發(fā)表
給你一個(gè)例子。
讀表  MY_FILE
如果找到紀(jì)錄,又滿足某條件,則更新某些字段。
如果某條件不滿足,則解鎖該紀(jì)錄,以免其他作業(yè)無法更新此紀(jì)錄。

C    NY_KEY          CHAIN MY_FILE
C                  ...

這樣對(duì)嗎?你應(yīng)該是個(gè)有經(jīng)驗(yàn)的程序員,怎么這樣回答問題呢?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-11-22 23:18 |只看該作者

回復(fù) #1 chen405 的帖子

有何不妥,請(qǐng)指教。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-11-22 23:44 |只看該作者
到我們400交流群來吧,我把這個(gè)貼子放在群內(nèi)討論,指出不妥之處,17991759.pls

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-11-23 00:04 |只看該作者
北京★passthru(448081936) 23:02:09
注意:上面的例子,chain是帶鎖的,如果這時(shí)記錄已經(jīng)處在locked,就沒有%found,更談不上update,或write(except)。從另外一個(gè)角度講,造成記錄locked,主要有兩種原因:1)記錄處在事物中;2)記錄locked是程序死循環(huán)造成的。如果知道是第二種情況,就可以用unlock。如果是第一種情況,就不能unlock。第二種情況,也不能用chain來判斷。應(yīng)用*pass和job占用cup同時(shí)進(jìn)行判斷,才能用程序unlock,這個(gè)unlock應(yīng)該放在錯(cuò)誤例程中來使用。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-11-23 00:17 |只看該作者

回復(fù) #6 passthru 的帖子

你的理解不是很正確的啦。正如你所說的,我是有經(jīng)驗(yàn)的程序員,不可能犯你所說的低級(jí)錯(cuò)誤來誤導(dǎo)菜鳥們。

其實(shí)你說的和我說的是兩碼事。

你說的是如果一個(gè)記錄已經(jīng)被另外有問題的一個(gè)作業(yè)長(zhǎng)期鎖住,再運(yùn)行我的程序會(huì)遭遇的情況。

我說的是我的程序怎樣開鎖以免對(duì)其他作業(yè)造成的不良影響(你說的那種情況就是由于有些程序?qū)懙貌缓迷斐傻模揖褪且苊庠斐蛇@種問題)。我這個(gè)例子是很經(jīng)典的例子。不可能有錯(cuò)的。

chain找到紀(jì)錄,就自動(dòng)上鎖了。

CHAIN之后檢查%FOUND(ILE RPG) 或者 *IN90 = *OFF(舊的 RPG) 是很常規(guī)的做法來看CHAIN成功地讀到紀(jì)錄,不知道你怎么還會(huì)提出些沒有邊際的問題。

程序然后程序檢查條件,譬如工齡超過10年就給津貼。然后就更新員工紀(jì)錄。更新之后操作系統(tǒng)就自動(dòng)解鎖了。
如果工齡不到10年,不需要更新紀(jì)錄,那就應(yīng)該用except或者unlock來開鎖,不然這個(gè)紀(jì)錄就一直被鎖上,只直到程序結(jié)束運(yùn)行,或遇到另一個(gè)CHAIN到同一個(gè)文件的其他紀(jì)錄。

如果忘記開鎖,而這個(gè)程序后來又運(yùn)行超過1分鐘,其他想更新這個(gè)紀(jì)錄的作業(yè)就會(huì)有問題了。

介紹一些訣竅給你。希望對(duì)你有用。
檢查一個(gè)文件中那些紀(jì)錄被鎖住。  dsprcdlck  
你可以debug這個(gè)程序,設(shè)置斷點(diǎn),單步執(zhí)行,每走一步,用另外一個(gè)5250對(duì)話運(yùn)行dsprcdlck,就回對(duì)這個(gè)問題有更透徹的了解了

我還要告訴你的是,UNLOCK只能解開我自己的作業(yè)上的鎖。不可能解開其他作業(yè)的鎖。 要解開其他作業(yè)的鎖,唯一辦法就是殺死那個(gè)作業(yè)。

可能是我孤陋寡聞,如果你知道如何不殺死那個(gè)作業(yè)(包括end request) 又可以解鎖,那就請(qǐng)多多指教啦。ǹ赡苄掳鎜s400有了一條unlock的新命令可以解除任何作業(yè)對(duì)紀(jì)錄加上的鎖?)

[ 本帖最后由 franliu 于 2009-11-23 08:06 編輯 ]

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-11-23 09:53 |只看該作者
你的編程經(jīng)歷中有遇到對(duì)一個(gè)chain操作,會(huì)遇到記錄鎖嗎?按你的話說,unlock是解自己程序造成的鎖。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-11-23 09:59 |只看該作者
CHAIN的時(shí)候會(huì)被鎖,CHAIN后不就解鎖了嗎

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2009-11-23 10:08 |只看該作者

回復(fù) #8 passthru 的帖子

有過啊,我的程序遇到別人超過1分鐘的鎖,程序就出問題了。
這問題的根子出在別人的程序里。就是別人的程序“忘記”解鎖了。
我給的是最典型的例子。這就是:
讀文件加鎖準(zhǔn)備更新紀(jì)錄。
  可是更新是有條件的
    條件滿足則更新,更新就自動(dòng)解鎖了
  條件不滿足,許多程序員就讓它去了,其中的原因有的是不懂其中的奧妙,或者偷懶,責(zé)任心不強(qiáng),只顧自己的程序運(yùn)行沒有問題就可以了,不為其他作業(yè)著想。。。正規(guī)的作法是應(yīng)該解鎖。除非讀文件是在一個(gè)循環(huán)里,循環(huán)會(huì)讀下一個(gè)記錄,這樣當(dāng)前記錄就自動(dòng)解鎖了。
不過在循環(huán)出口,還得解鎖,不然如果最后一個(gè)記錄不需要更新的話,它又可能被長(zhǎng)期鎖住了。

這些由于加鎖和解鎖造成的問題在單用戶的測(cè)試中是很難發(fā)現(xiàn)的。但是這種低劣程序的危害是很大的,而且比較難找到根源出在那里。

如果需要討論,我們可以在 MSN 里面進(jìn)行。 我的代碼是  liuyongshen@hotmail.com.

[ 本帖最后由 franliu 于 2009-11-23 10:57 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP