 |
OpenVMS �û��ֲ�
9.9.3 ˵���ļ�����
�������ʿ���ʹ����˵���ļ��С�(������ Sort/Merge
���ó���֧��˵���ļ�����������Ե�ʵ������������ OpenVMS Alpha ���а汾��) ע�⣬��Щ����ֻ��
Sort/Merge ˵���ļ�����Ч��
/CDD_PATH_NAME="cdd-path-name"
ʹ�� CDD Repository �����ʶ����ͨ�������ֵ� (CDD/Plus)
��������ֶκ����ԡ�һ����Щ�ֶα���ʶ���Ժ�Ϳ�����������˵���ļ����ʣ��� /KEY��/CONDITION��/INCLUDE ��
/OMIT�� /CDD_PATH_NAME �������ڴ���/FIELD ������
/FIELD ���һ��ʹ�á� "cdd-path-name" ֵ���� CDD/Plus �ڵ� CDD/Plus ��¼���塣ֻ��ϵͳ�Ѱ�װ
CDD/Plus ʱ���ſ���ʹ�� /CDD_PATH_NAME ���ʡ� ����
/CDD_PATH_NAME="employee"
|
/CDD_PATH_NAME ���ʱ�ʶ��Ա��¼����Ա��¼��ǰ���� CDD/Plus
�ж��塣
/[NO]CHECK_SEQUENCE
(ֻӦ���� MERGE ���) ָ���Ƿ��������ļ��еļ�¼˳����Ĭ�ϣ�Merge ����¼��˳�� ����
/NOCHECK_SEQUENCE ����ȡ�� Merge ���ó����Ĭ����Ϊ��
/COLLATING_SEQUENCE=(SEQUENCE=sequence-type
[,MODIFICATION=("char1" operator "char2")] [,IGNORE=character or character
range,...] [,FOLD] [,[NO]TIE_BREAK])
Ϊ�ַ����ֶ�ָ������Ԥ����Ƚ�˳�� (ASCII��EBCDIC
����) ֮һ������һ���û��Զ���˳�����������κ�Ԥ����Ƚ�˳������κ���ǰ������û��Զ���˳�� �й�ʹ�� ASCII��EBCDIC
�Ͷ���Ƚ�˳������飬����� 9.3 ����
����ָ����������ֵ:
SEQUENCE
|
˵���ļ�֧�� ASCII��EBCDIC��������û��Զ���Ƚ�˳���й���Щ�Ƚ�˳������飬�����
9.3 ���� |
MODIFICATION
|
ָ�������� SEQUENCE ��ѡ��ָ���ıȽ�˳������ ASCII��EBCDIC��������û��Զ���˳���ĵ�˳������� SEQUENCE ����ָ������ʹ���˳����Ĭ�ϵ� (ASCII)��
�ַ�
|
�ڱȽ�˳���У�ָ��һ���ַ��� |
�����
|
ָ�������Ƚ��ַ��������������ָ������ (>)��С�� (<) ����� (=)�� |
|
|
MODIFICATION ��ѡ������������ĸ���:
--
|
һ������˫�ַ����Ե���һ���Ѿ�ָ����һ���Ƚ�ֵ�ĵ��ַ� ("a"="A")�� |
--
|
һ������˫�ַ����Դ���һ���Ѿ�ָ����һ���Ƚ�ֵ�ĵ��ַ� ("CH">"C")�� |
--
|
һ������˫�ַ�����С��һ���Ѿ�ָ����һ���Ƚ�ֵ�ĵ��ַ� ("D"<"A")�� |
--
|
һ��˫�ַ����Ե�����ǰ�����˫�ַ�
("CH" = "SH")�� |
--
|
һ�����ַ����Ե���һ��˫�ַ� ("C" =
"CH")�� |
|
IGNORE
|
ָ�� Sort/Merge �ڽ��г�ʼ�Ƚ�ʱ�����ڱȽ�˳���е�һ���ַ����ַ���Χ��ע�⣬�������ֽ�ʱ��Sort/Merge ������ IGNORE ֵָ�����ַ��� |
FOLD
|
ָ������Сд��ĸ���������д��ĸ��ͬ�ıȽ�ֵ������ ASCII��EBCDIC ���û��Զ���˳��Сд��ĸ�� a �� z�� |
|
�ڶ��˳���У���ΪСд��ĸ���д��ĸ������ͬ�ıȽ�ֵ�����ʹ�� FOLD �Dz���Ҫ�ġ� |
[NO]TIE_BREAK
|
ָ�� Sort/Merge �Ƿ�Ӧ��ʹ����ֵ�ֽ������ͬ�Ƚ�ֵ���ַ�������Ĭ�ϣ��ֽⷢ���ڶ��˳��ָ��
NOTIE_BREAK ȡ�����Ĭ�ϣ��Ӷ�ȷ����ʼ�Ƚ�֮��һ���Ƚϡ� |
|
����Ϊ ASCII��EBCDIC ���û��Զ���˳��ָ�� TIE_BREAK ��ѡ��Դ����ֽⷢ������Ϊ��Щ˳��ָ�� FOLD ��
MODIFICATION ֵʱ��Ӧ��ʹ�� TIE_BREAK��
|
���� �й���˵���ļ���ʹ�ñȽ�˳������ӣ������
9.3 ���� 9.7 ����
/CONDITION=(NAME=condition-name,
TEST=(field-name operator test-condition [logical-operator...]))
˵���ļ������������ļ�¼����Դ����߸ı��¼��ijЩ�ֶε����ݡ���������ʹ�� /CONDITION ����������һ���������ԡ�һ��ʹ��
/CONDITIONAL
���ʶ�����һ�����ԣ��Ϳ���ʹ��ͬһ�����Լ� /KEY �� /DATA
���ʸ��ļ�¼�Ĵ�����Ҳ����ʹ�ò����Լ� /OMIT ��
/INCLUDE ���ʸ��ļ�¼�����ݡ� �����Ҫ��������ļ���¼�Ĵ��������� /CONDITION
����ָ��һ������������������һ�������Ǹ������IJ��ԡ�Ȼ���ô˸�ʽ��
/KEY ����ָ����Դ���:
/KEY=(IF condition-name THEN value ELSE value)
|
������ʹ���κ�ֵָ����¼����Դ��� /CONDITION ����Ҳ�����������¼���ֶ����ݡ�����ָ��һ����������Ȼ������һ�������Ǹ������IJ��ԡ��Դ˸�ʽ��
/DATA ����ָ�����Ǹ��ֶ���Ҫ������:
/DATA=(IF condition-name THEN "new-contents"
ELSE "new-contents")
|
������ָ����������ֵ:
NAME
|
ָ�����Ե�������������ʹ�� /CONDITION ���ʶ�����֮�����
condition-name ������ /KEY��/DATA��/OMIT �� /INCLUDE
����ʹ���С� |
TEST
|
ָ���������ԡ�
field-name
|
ָ�����Ե��ֶ�����field-name ������ǰ�� /FIELD ���ʶ��塣 |
operator
|
ָ��������������ʹ�õ������ϵ�����������ʹ�õ���������� AND �� OR������ϵ���������ָ������: EQ = ����
NE = ������
GT = ����
GE = ���ڻ����
LT = ��
LE = С�ڻ����
|
test-condition
|
ָ��Ҫ���Եij����� field-name������ָ��Ϊ���¸�ʽ: ʮ�������� (Ĭ��)
%Dʮ�������� %O�˽������� %Xʮ���������� "�ַ�"
|
|
ͨ��������Ҫָ����������� (%D)��Ȼ����test-condition ���ٶ��� field-name
��ͬ�����������͡� |
|
���� �й���˵���ļ���ʹ�� /CONDITION ���ʵ����ӣ������
9.7 ����
/DATA=field-name
/DATA=(IF condition THEN "new contents" ELSE "new contents")
ʹ�� /DATA ���������������������¼���ֶΡ�����Ҫ�����������¼���ֵĴ���ָ�������ֶΡ�/DATA ���ʱ����ʶҪд������ļ���¼�е�ÿ���ֶΡ�ֻ����Щ�� /DATA ���ʱ�ʶ���ֶβű�д������ļ��� �����������ظ����������¼�е��ֶ����ݣ�����ָ��һ����������Ȼ������һ������ /CONDITION
���������IJ��ԡ��������Դ˸�ʽ�� /DATA
����ָ�����Ǹ��ֶ���Ҫ������:
/DATA=(IF condition-name THEN "new-contents" ELSE "new-contents")
|
����ָ����������ֵ:
field-name
|
ָ����¼��һ���ֶ�����field-name ��ǰ������һ�� /FIELD �����ж��塣 |
condition-name
|
ָ��һ����ǰ���� /CONDITION ���ʶ���� condition-name��
|
new-contents
|
ָ����¼��θı䡣new-contents ������һ������������һ������ /FIELD �����ж���� field-name�� |
���� �й���˵���ļ���ʹ�� /DATA ���ʵ����ӣ������
9.7 ����
/FIELD=(NAME=field-name,POSITION:n,SIZE:N, [DIGITS:n,]data-type)
/FIELD=(NAME=field-name,VALUE:n,SIZE:N,[DIGITS:n,] data-type)
���ı������¼�Ĵ�����ʽʱ�������������ļ��е��ֶΡ���Щ�ֶΰ������ֶΡ�Ҫ�Ƚϵ��ֶκ�Ҫ��д������ļ����ֶΡ���ʶÿ���ֶ�ʱ��Ҫָ�����ơ����ڼ�¼�е�λ�úʹ�С�������������͡� �ֶ�������Ψһ���������ظ����ֶ��������⣬���ֻ�ܶ��� 255 ���ֶΡ� Ҳ����ʹ�� /FIELD ���峣������Ϊ��ָ��һ���κ���Ч�� Sort/Merge
�������͵�ֵ����
/CONDITION��/DATA �� /KEY ����С� ������ָ����������ֵ:
NAME
|
ָ���ֶ�����field-name
�������κ�Ƕ��Ŀո����һ����ĸ�ַ���ʼ
�����Ҳ��ܳ��� 31 ���ַ����� |
POSITION:
n
|
ָ����¼�ֶε�λ�á� |
VALUE:
n
|
��һ��ֵָ�ɸ�һ������ /CONDITION��/DATA �� /KEY ����еij����ֶΡ����ָ�� VALUE:
n���Ͳ�Ҫָ�� /POSITION:
n����Ϊ����ֶ��dz������Ҳ��������¼��һ���֡� |
SIZE:
n
|
ָ�������ַ�������������ֶεĴ�С����˵���ļ��У�SIZE ��ζ���ֽڳ��ȡ���������ȷ���ɽ���ʲôֵ��������ʾ:
--
|
�����ַ����ݣ����С���ó��� 32,767 ���ַ���
|
--
|
���ڶ��������ݣ����С����ָ��Ϊ 1��2��4��8 �� 16 �ֽڡ� |
--
|
���ڸ������ݣ���ָ����С�� |
|
DIGITS:
n
|
ָ������ʮ���������ֶεĴ�С������ʮ�������ݵ��ֶδ�С���벻���� 31 �����֡�ע�⣬ֻ����������ʮ�������ݵ��ֶ�ʱ����ʹ�� DIGITS:n�� |
data-type
|
ָ���ֶε��������͡���������ַ����Ͳ���ָ�� data-type������Ĭ�ϣ�Sort �ٶ��ַ��������͡��й� Sort/Merge ʶ������������б�������� 9.2.1 ���� |
����
/FIELD=(NAME=SALARY,POSITION:10,DIGITS:8,DECIMAL)
|
��� /FIELD ���������� SALARY
��ʶ��¼�е�һ���ֶΣ�ָ�����Ӽ�¼��λ�� 10 ��ʼ��8
�����ֳ������Ұ���ʮ�������ݡ�
/INCLUDE=(CONDITION=condition[,KEY=...] [,DATA=...])
������ָ����¼�������ذ���������ļ��С��� /CONDITION ���ʶ���һ���������� /INCLUDE ����ָ����¼ѡ���������������ļ�¼��������������ļ��С� ��˵���ļ��п���ָ����� /INCLUDE �� /OMIT ���ʡ��ڴ�ָ���Ĵ���ȷ�����������¼�IJ��Դ���������
/INCLUDE
����֮��ʡ������û�а�������ȷʡ�Եļ�¼�� �������������ذ����κμ�¼������������ǰʡ�ԵĻ���ͨ��ָ�� /INCLUDE
���ʰ������������ļ�¼�� ����������¼��ʽʱ������Ϊÿ����ͬ��¼��ʽָ��һ�� /INCLUDE ���ʣ�ʹ��Щ��¼���Ա���������� INCLUDE
�����в�ָ��һ��
KEY ��ѡ�Sort �ͼٶ�Ĭ�ϵļ����塣����� INCLUDE ������ָ��
KEY ��ѡ��Ͳ�ʹ��Ĭ�ϵļ����塣�� /INCLUDE �����м��ֶεĴ���ȷ����ν�������������ڲ������� /INCLUDE ������ DATA
�ֶεĴ���ȷ����ʽ�������¼�ķ���������� /INCLUDE ������ָ��һ�����������ֶΣ����붨���¼�������������������ֶΡ�
������ָ����������ֵ:
CONDITION
|
������һ�� /CONDITION
����ָ���� condition-name�� |
KEY
|
����һ�����ֶΣ���Ϊ��ʹ���� /KEY ���ʶ����Ĭ�ϼ�¼���͡�
|
DATA
|
����һ�������ֶΣ���Ϊ��ʹ���� /DATA ���ʶ����Ĭ�ϼ�¼���͡�
|
����
/FIELD=(NAME=ZIP,POSITION:20,SIZE:6)
/CONDITION=(NAME=LOCATION,
TEST=(ZIP EQ "01863"))
/INCLUDE=(CONDITION=LOCATION)
|
��Щ /CONDITION �� /INCLUDE ����ָ������������ 01863 �ļ�¼������������ļ��С�
/KEY=field-name
/KEY=(field-name,order) /KEY=([IF condition THEN value ELSE]...) value [,order]
ָ���� Sort
������Ҫʹ�õļ��ֶΡ����ʹ���ַ���������������¼����û�б�Ҫָ�����ֶΡ��������ǵ����ȼ�����Ϊÿ����ָ��һ�� /KEY ���ʡ��������� 255 �����ֶΡ� �����ַ���ʹ�� /KEY ����:
- ��ʶ���ֶ�����
- ��ʶ���ֶ�������ָ�������������������£����ֶ����ʹ�����ѡ������Բ�����ڡ�
- ��Ϊ�������ʣ�������ļ��и��ļ�¼�Ĵ������ȣ���һ��
/CONDITION ������ָ�� condition-name�������������Ǹ������IJ��ԡ�Ȼ���Դ˸�ʽ�� /KEY
����ָ����Դ���:
/KEY=(IF condition-name THEN value ELSE value)
|
����ʹ���κ�ֵָ����¼����Դ���
������ָ����������ֵ:
field-name
|
ָ�����ֶ�����field-name ��ǰ���� /FIELD ����ָ����
|
order
|
ָ������Ĵ���ASCENDING ��ѡ��Ϊ Sort �� Merge ����ָ�����������ѡ����Ĭ�ϵġ�DESCENDING ��ѡ��Ϊ Sort
�� Merge ����ָ������ |
value
|
ָ��������ֵ������һ������������������һ�� /FIELD �����ж���� field-name�� |
����
-
��
/FIELD=(NAME=SALARY,POSITION:10,DIGITS:8,DECIMAL)
/KEY=(SALARY,DESCENDING)
|
��� /KEY ����ָ�����ֶ��� SALARY ������������ǵݼ��ġ�
-
��
/FIELD=(NAME=ZIP,POSITION:20,SIZE:6)
/CONDITION=(NAME=LOCATION��
TEST=(ZIP EQ "01863"))
/KEY=(IF LOCATION THEN 1
ELSE 2)
|
����������У��������������� 01863 �ļ�¼����������������ļ��Ŀ�ʼ���������� LOCATION (����һ�� /CONDITION
���ʶ���) ���� ZIP �ֶ� (����һ�� /FIELD �Ӿ�����) �ϡ������ /KEY �Ӿ��ֵ 1 ��ֵ 2 ��ʾ��Щ����Ͳ����������ļ�¼����Դ���
/OMIT=(CONDITION=condition-name)
���� /CONDITION
���ʶ��������ָ��������ļ�Ҫʡ�Եļ�¼�� ���ȣ������� /CONDITION ���ʶ���һ���������� /OMIT
�������� Sort ����ʡ�������������κμ�¼������Ĭ�ϣ�Sort/Merge ������ļ��а����������������¼�� ��˵���ļ��п���ָ�����
/OMIT �� /INCLUDE
���ʡ�ָ�����ǵĴ����ȷ������ʡ�������¼�Ĵ�������û�а����Ļ������� /OMIT
����֮��ʡ�Եļ�¼��Ҫ��������������������ʡ����ǰû��ʡ�Ի��ָ��
/OMIT ���ʰ������κμ�¼��
����
/FIELD=(NAME=ZIP,POSITION:20,SIZE:6)
/CONDITION=(NAME=LOCATION��
TEST=(ZIP EQ "01863"))
/OMIT=(CONDITION=LOCATION)
|
��٠/CONDITION �� /OMIT
����ָ��������ļ���ʡ������������ 01863 �ļ�¼��
/PAD=single-character
�����¸�ʽ����¼���ߵ��Ƚϳ��Ȳ��ȵ��ַ���ʱ��ָ�� Sort ��������չ������ַ������ַ�������Ĭ�ϣ�Sort ʹ�ÿ��ַ�����䣬��ȷ�������ڰ汾��һ�¡����Զ���Ϊ���ַ���˫�ַ� ("ch" > "c")
������������ַ�������ʹ���ַ���ʮ���ơ��˽��ƻ�ʮ���������֡�
����ַ�Ӧ��ָ��Ϊ����:
- ���ַ�ʹ�����š����磬" # " ��ָ�����ַ��š�
- ��ʮ��������ʹ��ʮ���ƻ��������磬%D35 ��ָ��ʮ������ 35��
-
�˽�����ʹ�ð˽��ƻ��������磬%O043 ��ָ���˽����� 043��
- ��ʮ��������ʹ��ʮ�����ƻ��������磬%X23 ��ָ��ʮ�������� 23��
����
������ӵ� /PAD ����ָ����¼������㡣
/PROCESS=type
(ֻӦ���� SORT ���) Ϊ����������崦������ (��¼����ǩ����ַ������)������������¸�ʽ�������¼������ʹ�õ�ַ����������ָ����������Ϊ
RECORD��TAG��ADDRESS �� INDEX�� �й�������̵ıȽϣ������
9.8.1 ���� ����
������ӵ� /PROCESS ����ָ�� Sort ʹ��һ����ǩ������̡�
/[NO]STABLE
ָ��ͬ����¼�����ǵ������ļ�����д������ļ���Ĭ�������� /NOSTABLE�� ����Ĭ�ϣ�������ͬ����¼ʱ����Щ��¼������ļ��Ĵ�������������������ļ��ij��ִ���һ������˵���ļ���ָ�� /STABLE
���ʣ��ͻᰴ����������ָ���������ļ�����������ļ�������ͬ����¼���������������ļ�ʱ�����ʹ��������ʣ���ô���ʱ���ڵ�һ���ļ���ͬ����¼���ڵڶ����ļ���ͬ����¼֮ǰ���Դ����ơ� ����
������ӵ� /STABLE ����ȷ��ͬ����¼�������������ļ��о���ͬ���Ĵ���
/WORK_FILES=(device[,...])
(ֻӦ���� SORT ���) �ѹ����ļ�����ָ�ɵ���ͬ�Ĵ��̽ṹ�豸�ԸĽ����ܡ������˵���ļ���ʹ�� /WORK_FILES
���ʣ���û�б�Ҫ������������ Sort ֮ǰָ�����豸��
��ͬ�� DCL ���� /WORK_FILES=n��˵���ļ����� /WORK_ FILES=(device[,...]) ָ�������ļ����䣬�����ǹ����ļ�����Ŀ��
�й�ʹ�ù����ļ������飬����� 9.8.3
���� ����
������ӵ� /WORK_FILES ���ʰ�һ�� Sort �����ļ�ָ�ɵ��豸 WRKD$: ��Ϊ����豸�и���Ŀ��ÿռ䡣
|