X DevAPI 用户指南  / 第 11 章 CRUD EBNF 定义  /  11.5 表CRUD函数

11.5 表CRUD函数

表格选择功能

Table.select()collection.find()使用不同的方法对结果进行排序。Table.select()按照SQL语言命名,调用sort方法 orderBy()Collection.find()才不是。使用 方法 sort()对 返回的结果进行排序 Collection.find()。与 SQL 标准的接近程度被认为比 API 的一致性更重要。

EBNF 中显示的此函数的语法是:

TableSelectFunction
  ::= '.select(' ProjectedSearchExprStrList? ')' ( '.where(' SearchConditionStr ')' )?
      ( '.groupBy(' SearchExprStrList ')' )? ( '.having(' SearchConditionStr ')' )?
      ( '.orderBy(' SortExprStrList ')' )? ( '.limit(' NumberOfRows ')' ( '.offset(' NumberOfRows ')' )? )?
      ( '.lockExclusive(' LockContention ')' | '.lockShared(' LockContention ')' )? 
      ( '.bind(' ( PlaceholderValues ) ')' )*
      ( '.execute()' )?

图 11.15 TableSelectFunction

图像显示了 EBNF 形式的语法,如前文所述。

表插入函数

EBNF 中显示的此函数的语法是:

TableInsertFunction
  ::= '.insert(' ( TableFields )? ')'
        ( '.values(' Literal (',' Literal)* ')' )+
        ( '.execute()' )?

图 11.16 TableInsertFunction

图像显示了 EBNF 形式的语法,如前文所述。

表更新函数

EBNF 中显示的此函数的语法是:

TableUpdateFunction
  ::= '.update()'
      ( '.set(' TableField ',' ExprOrLiteral ')' )+ '.where(' SearchConditionStr ')'
      ( '.orderBy(' SortExprStrList ')' )? ( '.limit(' NumberOfRows ')' )?
      ( '.bind(' ( PlaceholderValues ) ')' )*
      ( '.execute()' )?

图 11.17 TableUpdateFunction

图像显示了 EBNF 形式的语法,如前文所述。

表删除函数

EBNF 中显示的此函数的语法是:

TableDeleteFunction
  ::= '.delete()' '.where(' SearchConditionStr ')'
      ( '.orderBy(' SortExprStrList ')' )? ( '.limit(' NumberOfRows ')' )?
      ( '.bind(' ( PlaceholderValues ) ')' )*
      ( '.execute()' )?

图 11.18 TableDeleteFunction

图像显示了 EBNF 形式的语法,如前文所述。