MUMPS рдЧреНрд▓реЛрдмрд▓реНрд╕: рдПрдХреНрд╕рдЯреНрд░реАрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред рднрд╛рдЧ рей

(Rob Tweed)
рднрд╛рдЧ 1 , рднрд╛рдЧ 2 рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рджреНрд╡рд┐рддреАрдпрдХ рд╕реВрдЪрдХрд╛рдВрдХ

рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪрдХрд╛рдВрдХ рдЖрдорддреМрд░ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛, рдпрд╛ ALTER TABLE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдпрджрд┐ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрдиреЗ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдФрд░ рдкреБрдирд░реНрдЧрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

MUMPS рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдмрд▓ рдЕрдкрдбреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВред

MUMPS рд╕реНрдЯреЛрд░ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг, рдкреНрд░рд╛рдердорд┐рдХ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЛ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ORDER рдореЗрдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП MUMPS рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
setOrder(orderNo,data) ; new rec,itemNo,ok if orderNo="" Quit 0 ;     set data("totalValue")=0 set itemNo="" for set itemNo=$Order(^ITEM(orderNo,itemNo)) Quit:itemNo="" do . set ok=$$getItem(orderNo,itemNo,.itemData) . Set data("totalValue")=data("totalValue")+itemData("price") set rec=data("custNo")_"~"_data("orderDate")_"~"_data("invoiceDate") set rec=rec_"~"_data("totalValue") set ^ORDER(orderNo)=rec Quit 1 


рдЖрджреЗрд╢ рдХреА рдХреБрд▓ рд▓рд╛рдЧрдд рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдСрд░реНрдбрд░ рдХреЗ рд▓рд┐рдП ITEM рд╕реЗ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $ $ getItem () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред $$ getItem () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 getItem(orderNo,itemNo,itemData) kill itemData s itemData("price")=0 if orderNo="" Quit 0 if itemNo="" Quit 0 if '$data(^ITEM(orderNo,itemNo)) Quit 0 set itemData("price")=^ITEM(orderNo,itemNo) Quit 1 


рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЖрдЗрдЯрдо рдирдВрдмрд░ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдВ рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдордп рд╕реАрдорд╛ рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ MUMPS рдлрд╝рдВрдХреНрд╢рди $ рдбреЗрдЯрд╛ рдФрд░ рдирд┐рдЧреЗрдЯрд┐рд╡ рдСрдкрд░реЗрдЯрд░ рдПрдХрд▓ рдЙрджреНрдзрд░рдг `рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреА рдЦрд░реАрджрд╛рд░реА рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдБрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝реЗрдВред

рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ ^ ORDERX1 рдмрдирд╛рдПрдВред рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╕рд╣реЗрдЬреЗрдВрдЧреЗ: рдЧреНрд░рд╛рд╣рдХ рд╕рдВрдЦреНрдпрд╛ (рдХрд╕реНрдЯрд░реНрдиреЛ) рдФрд░ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ (рдЖрджреЗрд╢реЛ)ред

рдЗрдВрдбреЗрдХреНрд╕ (рдХрд╕реНрдЯрд░реНрдиреЛ, рдСрд░реНрдбрд░рдиреЛ) рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реЗрдЯрдСрд░реНрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:

 setOrder(orderNo,data) ; new rec,itemNo,ok if orderNo="" Quit 0 ;    set data("totalValue")=0 set itemNo="" for set itemNo=$Order(^ITEM(orderNo,itemNo)) Quit:itemNo="" do . set ok=$$getItem(orderNo,itemNo,.itemData) . Set data("totalValue")=data("totalValue")+itemData("price") set rec=data("custNo")_"~"_data("orderDate")_"~"_data("invoiceDate") set rec=rec_"~"_data("totalValue") set ^ORDER(orderNo)=rec if data("custNo")`="" set ^ORDERX1(data("custNo"),orderNo)="" Quit 1 


рдПрдХ рдЖрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
 set orderNo=21 kill data set data("custNo")=101 set data("orderDate")="4/5/2003" set data("invoiceDate")="4/7/2003" set ok=$$setOrder(orderNo,.data) 


рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрдЦрдВрдбрддрд╛

рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдЕрдЦрдВрдбрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рднреА рд╕рдВрджрд░реНрднреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдмрд╛рдд рд▓рдЧрддреА рд╣реИред
рд╕рдВрджрд░реНрдн рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╡реЗ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рдХреЗ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдЕрдЦрдВрдбрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрд░реНрде (рдореВрд▓, рдЕрд░реНрдерд┐рдХ) рдЕрдЦрдВрдбрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ NATURAL JOIN рдкрд░ рдЖрдзрд╛рд░рд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдХрд╛рд░рдг рд╣реИ (рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрддрдВрдн рд╣реИрдВ рдЬреЛ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ / рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреАред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЧреНрд░рд╛рд╣рдХ рд╕рдВрдЦреНрдпрд╛ CUSTOMER.custNo рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧреНрд░рд╛рд╣рдХ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдЖрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмреАрдЪ рд╢рдмреНрджрд╛рд░реНрде рдЕрдЦрдВрдбрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, ORDER.custNo рдлрд╝реАрд▓реНрдб рдХрд╛ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕реА рддрд░рд╣, рдЬрдм рдСрд░реНрдбрд░ рд╕рдВрдЦреНрдпрд╛ ORDER.orderNo рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рддрдм рдЖрджреЗрд╢реЛрдВ рдФрд░ рдЪреАрдЬреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ (рдЬрд┐рд╕рдореЗрдВ рдСрд░реНрдбрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ) рдХреЗ рдмреАрдЪ рд╢рдмреНрджрд╛рд░реНрде рдЕрдЦрдВрдбрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ ITEM.orderNo рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ (рдЖрд░рдбреАрдмреАрдПрдордПрд╕) рдореЗрдВ, рдкреНрд░рд╛рдердорд┐рдХ рдФрд░ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдЕрдЦрдВрдбрддрд╛ рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MUMPS рдореЗрдВ, рдпреЗ рдирд┐рдпрдо рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдВрджрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЧреНрд░рд╛рд╣рдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдбреЗрдЯ рдСрдкрд░реЗрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛:

рдПрд╕рдХреНрдпреВрдПрд▓

 UPDATE CUSTOMER A SET custNo = :newCustNo WHERE A.custNo = :oldCustNo 

рдЕрдиреБрд░реЛрдз рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, ORDER рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдПрдВрдЧреА (CUSTOMER.custNo = ORDER.custNo рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛), рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

MUMPS

 updateCustomer(oldCustNo,newCustNo,newData) ; new result,orderData,orderNo if (oldCustNo="")!(newCustNo="") Quit 0 set orderNo="" for set orderNo=$order(^ORDERX1(oldCustNo,orderNo)) Quit:orderNo="" do . set result=$$getOrder(orderNo,.orderData) . set orderData("custNo")=newCustNo . set ok=$$setOrder(orderNo,.orderData) set ok=$$setCustomer(newCustNo,.newData) if newCustNo`=oldCustNo set ok=$$deleteCustomer(oldCustNo) Quit 1 


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдб рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдЖрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рд╣реИред MUMPS рдореЗрдВ, рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдм $ $ getOrder рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ:

 getOrder(orderNo,orderData) ; new record if (orderNo="") Quit 0 set record=$g(^ORDER(orderNo)) set orderData("custNo")=$piece(record,"~",1) set orderData("orderDate")=$piece(record,"~",2) set orderData("invoiceDate")=$piece(record,"~",3) set orderData("totalValue")=$piece(record,"~",4) Quit 1 

рд╣рдореЗрдВ рдЕрдкрдиреЗ рдореВрд▓ рд╕рд░рд▓ рдлрдВрдХреНрд╢рди $$ deleteCustomer () рдХреЛ рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреЗрдмрд▓ рд╕реЗ рдкрдВрдХреНрддрд┐ рд╡рд┐рд▓реЛрдкрди рдкрд░ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

SQL рдХреНрд╡реЗрд░реА рдФрд░ M рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдордХрдХреНрд╖ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:

рдПрд╕рдХреНрдпреВрдПрд▓

 DELETE FROM CUSTOMER A WHERE A.custNo = :custNo 

рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рдВрдмрдВрдзрд┐рдд рдЖрджреЗрд╢ рд░рд┐рдХреЙрд░реНрдб ORDER рддрд╛рд▓рд┐рдХрд╛ (рд╕рдВрдмрдВрдз CUSTOMER.custNo = ORDER.custNo рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдмрдирд╛рддреЗ рд╕рдордп рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрдЦрдВрдбрддрд╛ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдЦрдВрдбрддрд╛ рдХреЗ рдирд┐рдпрдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

MUMPS

 deleteCustomer(custNo) ; new orderNo if custNo="" Quit 0 set orderNo="" for set orderNo=$order(^ORDERX1(custNo,orderNo)) Quit:orderNo="" do . set result=$$deleteOrder(custNo,orderNo) kill ^CUSTOMER(custNo) Quit 1 


рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ $$ deleteOrder () рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:

 deleteOrder(custNo,orderNo) ; kill ^ITEM(orderNo) ;       kill ^ORDER(orderNo) ;   kill ^ORDERX1(custNo,orderNo) ;       ,     Quit 1 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░ рд╕рд┐рд░реНрдл рдПрдХ KILL рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╣рдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ (SQL рд╢рдмреНрджреЛрдВ рдореЗрдВ) рдХреЗ рдмреАрдЪ рдПрдХ рдмрдбрд╝рд╛ рд╕рдВрдмрдВрдз рд╣реИред

рдпрджрд┐ рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдЙрд╕рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдбрд┐рд▓реАрдЯ рдлрдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрди рд░реВрдк рд▓реЗрдЧрд╛:

 deleteCustomer(custNo) ; new orderNo,result,orderData if custNo="" Quit 0 set orderNo="" for set orderNo=$order(^ORDERX1(custNo,orderNo)) Quit:orderNo="" do . set result=$$getOrder(orderNo,.orderData) . set orderData("custNo")="" . set result=$$setOrder(orderNo,.orderData) kill ^CUSTOMER(custNo) Quit 1 

рдЗрд╕реА рддрд░рд╣ рдХреЗ рддрд░реНрдХ рдХреЛ ITEM рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм ORDER рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ ORDER.orderNo рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

рдЯреНрд░рд┐рдЧрд░реНрд╕

рдЯреНрд░рд┐рдЧрд░ рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдЬрдм рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓рдиреЗ рдкрд░ рдЖрдорддреМрд░ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MUMPS рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреЛрдИ рднреА рдЯреНрд░рд┐рдЧрд░ рдХреЛрдб рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, CUSTOMER.totalOrders рд▓реЗрдВред рд╣рдореЗрдВ ORDER рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдПрдХ рдЖрджреЗрд╢ рдЬреЛрдбрд╝рддреЗ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрд╕рдХреНрдпреВрдПрд▓

CUSTOMER.totalOrders рдореЗрдВ рд╕рд╣реА рдорд╛рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ SQL тАЛтАЛрдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ ORDER рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 SELECT COUNT(A.orderNo) FROM A.ORDER WHERE A.custNo = :custNo 


рдпрд╣ рдХреНрд╡реЗрд░реА ORDER рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдП рдЧрдП рдФрд░ рдкрдВрдХреНрддрд┐ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ (рд╕рдВрдмрдВрдз CUSTOMER.custNo = ORDER.custNo рдХреЗ рдЕрдиреБрд╕рд╛рд░)

MUMPS

рд╣рдо рдХреЗрд╡рд▓ ORDER рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдкрдВрдХреНрддрд┐ рдкрдВрдХреНрддрд┐ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рдореНрди (рдЯреНрд░рд┐рдЧрд░) рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

 setOrder(orderNo,data) ; new rec,itemNo,ok if orderNo="" Quit 0 ;       set data("totalValue")=0 set itemNo="" for set itemNo=$Order(^ITEM(orderNo,itemNo)) Quit:itemNo="" do . set ok=$$getItem(orderNo,itemNo,.itemData) . Set data("totalValue")=data("totalValue")+itemData("price") set rec=data("custNo")_"~"_data("orderDate")_"~"_data("invoiceDate") set rec=rec_"~"_data("totalValue") set ^ORDER(orderNo)=rec ;       if data("custNo")`="" set ^ORDERX1(data("custNo"),orderNo)="" ; ;    CUSTOMER.totalOrders new custData Set ok=$$getCustomer(data("custNo"),.custData) ;       CUSTOMER.totalOrders. .   setCustomer     Set ok=$$setCustomer(data("CustNo"),.custData) ; Quit 1 

ORDER рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдСрд░реНрдбрд░ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдЖрджреЗрд╢ рдорд╛рди ORDER.totalValue рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрд╕рдХреНрдпреВрдПрд▓

рдирдП рдЖрджреЗрд╢ рдорд╛рди ORDER.Value рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд SQL рдХреЛрдб рдХреЛ ITEM рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 SELECT SUM(A.price) FROM A.ITEM WHERE A.orderNo = :orderNo 

рдЕрдиреБрд░реЛрдз ITEM рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рд╕рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╕рдВрдмрдВрдз ORDER.orderNo = ITEM.orderNo рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред

MUMPS

ITEM рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдкрдВрдХреНрддрд┐ рд╕рдореНрдорд┐рд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рдореНрди (рдЯреНрд░рд┐рдЧрд░) рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:

 setItem(orderNo,itemNo,data) ; new ok if (orderNo="")!(itemNo="") Quit 0 set ^ITEM(orderNo,itemNo)=data("price") set^ORDERX1(custNo,orderNo)="" ;    ORDER.totalValue set ok=$$getOrder(orderNo,.orderData) ;     ORDER.totalValue   set ok=$$setOrder(orderNo,.orderData) Quit 1 

ITEM рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдкрд░ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдЧрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдЪрд╛рд▓рд╛рди рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ рд╣реА рдЗрд╕рдХреА рдирд┐рд░реНрдорд╛рдг рддрд┐рдерд┐ ORDER.invoiceDate рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдо рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдкрдиреА ORDER рддрд╛рд▓рд┐рдХрд╛ рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

 setOrder(orderNo,data) ; new rec,itemNo,ok if orderNo="" Quit 0 ;    set data("totalValue")=0 set itemNo="" for set itemNo=$Order(^ITEM(orderNo,itemNo)) Quit:itemNo="" do . set ok=$$getItem(orderNo,itemNo,.itemData) . Set data("totalValue")=data("totalValue")+itemData("price") set rec=data("custNo")_"~"_data("orderDate")_"~"_data("invoiceDate") set rec=rec_"~"_data("totalValue") set ^ORDER(orderNo)=rec if data("custNo")`="" set ^ORDERX1(data("custNo"),orderNo)="" ; ;   CUSTOMER.totalOrders new custData Set ok=$$getCustomer(data("custNo"),.custData) Set ok=$$setCustomer(data("CustNo"),.custData) ; ;  -,     if Data("invoiceDate")`="" Set Result=$$invoiceOrder(orderNo) ; Quit 1 

рдмреЗрд╢рдХ, рдЪрд╛рд▓рд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $ $ рдЪрд╛рд▓рд╛рдирдСрд░реНрдбрд░ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрди-рджреЗрди

рдПрдХ рдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдбреЗрдЯ рдореЗрдВ рдЕрдХреНрд╕рд░ рдХрдИ рдЯреЗрдмрд▓ рдХреЗ рдХрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдЕрджреНрдпрддрдиреЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдореБрдЦреНрдп рдЕрджреНрдпрддрди (рдпрд╛ рд▓реЗрдирджреЗрди) рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░рд╛ рд╣реЛ рд╕рдХреЗред

рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд▓реЗрди-рджреЗрди рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рддрдм рддрдХ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рдВрд╢реЛрдзрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ COMMIT рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рд▓реЗрдирджреЗрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

MUMPS рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд▓реЗрдирджреЗрди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓реЗрди-рджреЗрди TSTART рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреЗрд╡рд▓ TCOMMIT рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдПрд╕рдХреНрдпреВрдПрд▓

рд╣рдо рд╡рд░реНрддрдорд╛рди рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ (рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ) рдПрдХ рдирдпрд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ:

 COMMIT 

MUMPS

рдПрдХ рдирдпрд╛ рд▓реЗрдирджреЗрди рд╢реБрд░реВ рдХрд░реЗрдВ:

 TSTART 

рд▓реЗрди-рджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ:

 TCOMMIT 

рдпрджрд┐ MUMPS рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЗрди-рджреЗрди рдкреНрд░рдмрдВрдзрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рднреА рдЕрджреНрдпрддрди рддреБрд░рдВрдд рд╡рд░реНрддрдорд╛рди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╛ рдЗрд╕рдХреЗ рддрддреНрд╡ рдкрд░ рдХрд┐рд╕реА рднреА рд╕реЗрдЯ рдпрд╛ KILL рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдкреВрд░реНрдг рд▓реЗрдирджреЗрди рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖

рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ MUMPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИрдВред

Source: https://habr.com/ru/post/In176345/


All Articles