削除対象の文書の検索条件を記述するファイルです。
(a) ファイルの形式
ファイルの形式を次に示します。
- 削除対象となる文書の検索条件を指定します。属性列名は,表6-16を参照してください。
- 文字列はシングルクォートで囲って指定します。文字列にシングルクォートを指定する場合は,シングルクォートを2回記述してください。
- 比較述語は「>,<,=,<>,>=,<=」が指定できます。比較述語の前後は,半角スペースを指定してください。
- 複数の条件を連結して指定できます。論理演算子は「NOT,AND,OR」が指定できます。論理演算子の評価順序は,括弧内,NOT,AND,ORの順番です。
- 論理演算で指定できるネスト数については,データベースの制限に従います。
- 述語は「BETWEEN,LIKE,IN」が指定できます。ただし,「LIKE」,「IN」および「NOT BETWEEN」は @esysProp_ModifyTime,および@esysProp_CreateTimeと組み合わせて指定できません。
- 副問い合わせ,およびORDER BY句での指定はできません。
- 注意
- 文書削除コマンドでは,指定された検索条件文字列の構文をチェックしません。不正な値が指定されていた場合の動作は保証しません。
(b) 検索述語の構文規則
●論理演算子の形式
<検索条件> ::= <左括弧> <検索条件> <右括弧> |<述語> |NOT <検索条件> |<検索条件> OR <検索条件> |<検索条件> AND <検索条件> |
●述語の形式
<述語> ::= <比較述語> |<Between述語> |<In述語> |<Like述語> |
●比較述語の形式
<比較述語> ::= <値式> <比較演算子> <値式> <比較演算子> ::= <等号演算子> |<不等号演算子> |<小なり演算子> |<大なり演算子> |<小なり等号演算子> |<大なり等号演算子> |
●<Between述語>の形式
<Between述語> ::= <値式> 〔 NOT 〕 BETWEEN <値式> AND <値式> |
<Between述語>の評価
- 第1の<値式>を「値式1」,第2の<値式>を「値式2」,第3の<値式>を「値式3」とした場合,「値式1」の値が,「値式2」と「値式3」の範囲内の値の場合,「真」になります。範囲外の場合,「偽」になります。
- 第1の<値式>を「値式1」,第2の<値式>を「値式2」,第3の<値式>を「値式3」とした場合,<Between述語>は,次の表記と同じ意味を表します。
〔NOT〕((値式2 <= 値式1) AND (値式1 <= 値式3))
<Between述語>の規則
指定順序が「Between 値式2 AND 値式3」の場合に,「値式2 ≦ 値式3」である必要はありません。ただし,「値2 > 値3」の時は偽となります。
●<In述語>の形式
<In述語> ::= <値式> 〔 NOT 〕 IN <In述語値> <In述語値> ::= <左括弧> <In項目リスト> <右括弧> <In項目リスト> ::= <値指定> { <コンマ> <値指定> }... |
<In述語>の評価
- 第1の<値式>が,<In述語値>の中の任意の値と一致する場合,<In述語>は「真」になります。NOTを指定した場合は,第1の<値式>が<In述語値>の中の任意の値と一致するとき,「偽」になります。
- 第1の<値式>が,<In述語値>の中のすべての値と一致しない場合,<In述語>は「偽」になります。NOTを指定した場合は,第1の<値式>が,<In述語値>の中のすべての値と一致しないとき,「真」になります。
<In述語>の規則
- 指定できるデータ型や<In項目リスト>に指定できる<値指定>については,データベースの制限に従います。
- <In項目リスト>を指定する場合は,第1の<値式>に<値指定>は指定できません。
●<Like述語>の形式
<Like述語> ::= <文字列Like述語> <文字列Like述語> ::= <値式> 〔 NOT 〕LIKE <パターン文字列> 〔 ESCAPE <エスケープ文字> 〕 <パターン文字列> ::= <値指定> <エスケープ文字> ::= <値指定> |
- <パターン文字列>
- _:1文字の任意の文字を示します。
- %:0文字以上の任意の文字数の文字列を示します。
- <エスケープ文字>
- <エスケープ文字>は,パターン文字列中に「_」や「%」を記述した場合に指定する文字列です。<エスケープ文字>には,任意の1文字を指定します。
<Like述語>の評価
- <値式>の値が,<パターン文字列>で表すパターンと一致した場合,「真」になります。NOTを指定した場合は,<値式>の値が,<パターン文字列>の表すパターンと一致したとき,「偽」になります。
- <値式>の値が,<パターン文字列>の表すパターンと一致しない場合,「偽」になります。NOTを指定した場合,<値式>の値が,<パターン文字列>の表すパターンと一致しないとき,「真」になります。
<Like述語>の規則
- パターン文字列とのパターン一致で,大文字・小文字を区別して評価します。
- <値式>に指定できるのは,文字列型の値だけです。
- <パターン文字列>に指定できるのは,文字列型の値だけです。
- <エスケープ文字>に指定できるのは,文字列型の値だけです。
(c) ファイルの記述規則
- 文書管理サーバの文字コードに合わせて,Shift-JISまたはUTF-8で記述してください。UTF-8で記述する場合は,文書削除コマンドで引数「-utf8」を指定してください。
- 検索条件は,改行を入れずに1行で記述してください。
(d) 指定できる検索条件
指定できる検索条件は,属性検索条件だけです。属性検索で指定できるプロパティの種類を次の表に示します。
なお,表に示すプロパティ以外を指定した場合の動作は保証されません。また,マスタ型は指定できません。
表6-20 指定できるプロパティの種類
| 分類 | プロパティ | 対応する属性列名 | 型 | 備考 |
---|
1 | システムプロパティ | 名前(文書名) | esysProp_Name | String | - |
2 | 作成日付 | esysProp_CreateTime | Integer32 | time_t型またはYYYYMMDD形式で指定します。※1 |
3 | 作成者ID | esysProp_Creator | String | - |
4 | 更新日付 | esysProp_ModifyTime | Integer32 | time_t型またはYYYYMMDD形式で指定します。※1 |
5 | 更新者ID | esysProp_Modifier | String | - |
6 | 所有者名称 | dbuUserProp_OwnerName | String | - |
7 | 更新者名称 | dbuUserProp_ModifierName | String | - |
8 | ファイル名称 | ecmProp_FileName | String | - |
9 | ファイルサイズ | ecmProp_FileSize | Integer32 | - |
10 | 公開開始日 | ecmProp_PubDayB | Integer32 | YYYYMMDD形式で指定します。 |
11 | 公開終了日 | ecmProp_PubDayE | Integer32 | YYYYMMDD形式で指定します。 |
12 | ユーザ定義プロパティ | ユーザ属性1~5(数値) | ecmProp_UserInt1 ~ ecmProp_UserInt5 | Integer32 | - |
13 | ユーザ属性1~5(文字列) | ecmProp_UserStr1 ~ ecmProp_UserStr5 | String | - |
14 | 文書種別用属性1~10(数値) | ecmProp_DocTypePropInt1 ~ ecmProp_DocTypePropInt10 | Integer32 | - |
15 | 文書種別用属性1~10(文字列) | ecmProp_DocTypePropStr1 ~ ecmProp_DocTypePropStr10 | String | - |
16 | 文書種別用属性1~5(長文字列) | ecmProp_DocTypePropLongStr1 ~ ecmProp_DocTypePropLongStr5 | String | - |
(凡例)-:該当しません。
- 注※1
- time_t型の形式は,1970年1月1日の万国標準時00:00:00を起点とした通算経過秒数になります。YYYYMMDD形式で指定する場合,@をプロパティ名の先頭に付与してください。@がない場合は,time_t型の形式が指定されたものとして扱われます。@を付与した場合,右辺の値はYYYYMMDD形式が指定されたものと判断し,1970年からの通算秒に変換されます。なお,時刻にはYYYYMMDDの00:00:00~YYYYMMDDの23:59:59が指定されたものと仮定して変換します。
- @が指定されている「作成日付(@esysProp_CreateTime)」と「更新日付(@esysProp_ModifyTime)」プロパティだけが変換対象となります。なお,「作成日付(@esysProp_CreateTime)」と「更新日付(@esysProp_ModifyTime)」は,括弧で囲んだ指定はできません。括弧で囲んで指定すると通算秒への変換が正しく処理できません。
- 参考
- ユーザ属性の数値(整数型),数値(日付型),文字列,長文字列に,何もプロパティ値を入力していない文書を検索して削除する場合,検索条件ファイルには次のように記載します。
- 数値(整数型)の場合:ecmProp_UserInt1 = 0
- 数値(日付型)の場合:ecmProp_UserInt2 = 0
- 文字列の場合:ecmProp_UserStr1 = ''
- 長文字列の場合:ecmProp_DocTypePropLongStr1 = ''
(e) 記述例
記述例を次に示します。△は半角スペースを表します。
- 記述例1(文書名が「文書1」の文書を削除する場合)
- 記述例2(文書名が「文書1」または「文書2」の文書を削除する場合)
esysProp_Name△=△'文書1'△OR△esysProp_Name△=△'文書2' |
- 記述例3(文書名「ab'c あ'いうえお」を検索する場合)
esysProp_Name△=△'ab''c あ''いうえお' |
- 記述例4(作成日付の指定例(変換するパターン))
指定したSQL:@esysProp_CreateTime※1△>△20101112 ⇒変換後SQL:esysProp_CreateTime△>△1289573999 |
- 記述例5(複数の条件を連結して指定する例)
@esysProp_CreateTime△>△20101112△AND△@esysProp_CreateTime△<△20101212△AND△@esysProp_ModifyTime△>△20101212 |
- 記述例6(BETWEEN述語を指定する例)
@esysProp_ModifyTime△BETWEEN△20101112△AND△20101212 |
- 記述例7(IN述語を指定する例)
esysProp_Name△IN('sasuke','ziro') |
- 記述例8(LIKE述語を指定する例1)
- 記述例9(LIKE述語を指定する例2)
esysProp_Name△LIKE△'s___' |
- 注※1
- @esysProp_ModifyTimeまたは@esysProp_ModifyTimeを指定した場合,その後ろに指定されている比較述語(>,<,=,<>,>=,<=)の次に指定されている数値はYYYYMMDD形式と見なして変換します。