第六十三章 Caché 函式大全 $SORTEND 函式
第六十三章 Caché 函式大全 $SORTEND 函式
結束由$SORTBEGIN
啟動的排序模式。
大綱
$SORTEND(set_global,dosort)
引數
- set_global 可選-在相應的
$SORTBEGIN
中指定的全域性變數。如果省略,$SORTEND
將結束當前程式的所有$SORTBEGIN
操作。 - dosort 可選-標誌引數。如果為1,則Caché執行由
$SORTBEGIN
啟動的排序操作,並將已排序的資料複製到set_global中。如果為0,則Caché終止排序操作,而不復制任何資料。預設值為1。
描述
$SORTEND
指定由$SORTBEGIN
對特定目標全域性物件發起的特殊排序模式的結尾。 $SORTEND set_global
的值必須與相應的$SORTBEGIN set_global
相匹配。
如果省略set_global,則$SORTEND
會終止由當前程式的所有活動$SORTBEGIN
函式啟動的所有當前排序模式。因此,$SORTEND(
)或$SORTEND(,1)
結束並提交該過程的所有當前排序模式; $SORTEND(,0)
中止該過程的所有當前排序模式。
- 如果成功,
$SORTEND
將返回設定的全域性節點總數的正整數。指定set_global
時,這是應用於指定set_global
變數的集合數。省略set_global
時,這是應用於所有當前$SORTBEGIN set_global
變數的集合數。無論dosort標誌設定如何,都會返回此整數計數。 - 如果失敗,則
$SORTEND
返回-1。例如,如果$SORTEND
指定的set_global
沒有相應的活動$SORTBEGIN
。 - 如果沒有操作,則
$SORTEND
返回0。如果沒有對指定的set_global
變數應用任何集,或者在發出未指定set_global
的$SORTEND
時沒有活動的$SORTBEGIN
,則會發生這種情況。
如果在$SORTBEGIN
和$SORTEND
之間更改了set_global
名稱空間的對映,則在呼叫$SORTEND
時會發生<NAMESPACE>
錯誤。但是,如果$SORTBEGIN
使用隱式名稱空間指定set_global
,則後續名稱空間對映更改對$SORTEND
無效。具有隱式名稱空間的全域性引用和具有顯式名稱空間的全域性引用不應在同一排序操作中混合使用。
示例
以下示例將三組應用於全域性^myyestest
。 $SORTEND
返回3。由於dosort為1,因此應用了這些集合,如$DATA
函式返回值所示:
/// d ##class(PHA.TEST.Function).SORTBEGIN()
ClassMethod SORTBEGIN()
{
WRITE $SORTBEGIN(^myyestest),!
SET ^myyestest(1)="apple"
SET ^myyestest(2)="orange"
SET ^myyestest(3)="banana"
WRITE $SORTEND(^myyestest,1),!
WRITE $DATA(^myyestest(1)),!
WRITE $DATA(^myyestest(2)),!
WRITE $DATA(^myyestest(3))
KILL ^myyestest
}
DHC-APP>d ##class(PHA.TEST.Function).SORTBEGIN()
1
3
1
1
1
以下示例將三組應用於全域性^mynotest
。 $SORTEND
返回3。由於dosort為0,因此不應用這些集合,如$DATA
函式返回值所示:
/// d ##class(PHA.TEST.Function).SORTBEGIN1()
ClassMethod SORTBEGIN1()
{
WRITE $SORTBEGIN(^mynotest),!
SET ^mynotest(1)="apple"
SET ^mynotest(2)="orange"
SET ^mynotest(3)="banana"
WRITE $SORTEND(^mynotest,0),!
WRITE $DATA(^mynotest(1)),!
WRITE $DATA(^mynotest(2)),!
WRITE $DATA(^mynotest(3))
KILL ^mynotest
}
DHC-APP>d ##class(PHA.TEST.Function).SORTBEGIN1()
1
3
0
0
0
下面的兩個示例指定了兩個$SORTBEGIN
運算,並且在其中將三組應用於全域性^mytesta
,並將兩組應用於全域性^mytestb
。 $SORTEND
未指定set_global
,因此結束所有當前的$SORTBEGIN
操作並返回5。請注意,在兩個示例中,$SORTEND
返回5,儘管第一個示例提交了這些集合,而第二個示例中止了這些集合。
/// d ##class(PHA.TEST.Function).SORTBEGIN2()
ClassMethod SORTBEGIN2()
{
WRITE $SORTBEGIN(^mytesta),!
SET ^mytesta(1)="apple"
SET ^mytesta(2)="orange"
SET ^mytesta(3)="banana"
WRITE $SORTBEGIN(^mytestb),!
SET ^mytestb(1)="corn"
SET ^mytestb(2)="carrot"
WRITE "$SORTEND returns: ",$SORTEND(,1),!
WRITE "global sets committed?: ",$DATA(^mytesta(2))
KILL ^mytesta,^mytestb
}
DHC-APP>d ##class(PHA.TEST.Function).SORTBEGIN2()
1
2
$SORTEND returns: 5
global sets committed?: 1
/// d ##class(PHA.TEST.Function).SORTBEGIN3()
ClassMethod SORTBEGIN3()
{
WRITE $SORTBEGIN(^mytesta),!
SET ^mytesta(1)="apple"
SET ^mytesta(2)="orange"
SET ^mytesta(3)="banana"
WRITE $SORTBEGIN(^mytestb),!
SET ^mytestb(1)="corn"
SET ^mytestb(2)="carrot"
WRITE "$SORTEND returns: ",$SORTEND(,0),!
WRITE "global sets committed?: ",$DATA(^mytesta(2))
KILL ^mytesta,^mytestb
}
DHC-APP>d ##class(PHA.TEST.Function).SORTBEGIN3()
1
2
$SORTEND returns: 5
global sets committed?: 0
相關文章
- 第104章 Caché 函式大全 $ZF 函式函式
- 第111章 Caché 函式大全 $ZNAME 函式函式
- 第四十章 Caché 函式大全 $METHOD 函式函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- Hive函式大全Hive函式
- mysql函式大全MySql函式
- PHP函式大全PHP函式
- javascript常用函式大全JavaScript函式
- PHP常用函式大全PHP函式
- oracle 10g函式大全–日期型函式Oracle 10g函式
- Python 內建函式大全Python函式
- Js字串操作函式大全JS字串函式
- JavaScript 工具函式大全(新)JavaScript函式
- Excel函式公式大全,辦公文員必備Excel函式公式Excel函式公式
- 遞迴函式例項大全遞迴函式
- Python3中的函式 大全Python函式
- PHP經常用到的函式大全PHP函式
- excel中最常用的30個函式 excel表格常用函式技巧大全Excel函式
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- 第三章 初識vLookup函式函式
- 第7章 IF函式 COUNTIF函式 SUMIF函式函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- (譯) 函式式 JS #2: 函式!函式JS
- Python內建函式大全,快來看看!!Python函式
- Python 字串 String 內建函式大全(1)Python字串函式
- Python 字串 String 內建函式大全(2)Python字串函式
- 核函式 多項式核函式 高斯核函式(常用)函式
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- main函式的入口函式AI函式
- SQL-函式 - 聚合函式SQL函式
- 【每日函式】每日函式(2021.08.16)函式
- 【每日函式】每日函式(2021.08.10)函式
- 【每日函式】每日函式(2021.08.05)函式
- 【每日函式】每日函式(2021.08.06)函式
- 【每日函式】每日函式(2021.08.14)函式
- 【每日函式】每日函式(2021.08.08)函式