Siebel 中 SELECT 语句的语法

使用 Siebel 数据提供程序,ADO.NET 客户端可以通过指定表示有效 Siebel 搜索规范的 WHERE 子句对 Siebel 业务组件执行 SELECT 查询。 SELECT 语句的语法为:

SELECT  
<column name 1> AS <column alias 1>,  
<column name 2> AS <column alias 2>,  
…  
FROM  
<Business object name>.<Business component name> AS <table alias>  
WHERE  
<filter condition>  
OPTION  
'ViewMode <value>'  

在上述语法中,ViewMode 选项对应于 Siebel 系统视图模式,这是一种筛选机制,用于限制与查询匹配的记录集。 有关允许的值集,请参阅 Siebel 文档。

注意

如果 WHERE 子句中的字段名称包含特殊字符或空格,请确保始终将字段名称括在方括号内。

注意

在包含带特殊字符的别名的 SELECT 查询中,请确保在方括号中包含别名。

注意

Data Provider for Siebel 支持 SELECT 子句中表的别名,但不支持 WHERE 子句中的别名。

使用 Siebel 的数据提供程序搜索和排序数据

Siebel 数据提供程序支持基于 Siebel 系统支持的搜索规范在 SQL 语句中使用筛选条件。

搜索规范的规则如下:

  • 必须使用标准比较运算符将字段与常量进行比较,或将一个字段与另一个字段进行比较。 其中包括 =、!=、 >、、 <、 >=和 <=。

    Example: [Revenue] > 5000  
    
  • 字符串常量必须用双引号引起来,并且字符串值必须区分大小写。

    Example: [Type] != "COST LIST"  
    
  • 逻辑运算符 AND、OR 和 NOT 必须用于求反或合并表达式。 在这些运算符中忽略区分大小写;例如,“and”与“AND”相同。

    Example: [Competitor] IS NOT NULL and [Competitor] != "N"  
    
  • 搜索规范中的字段名称必须用方括号括起来。

    Example: [Conflict Id] = 0  
    
  • LIKE 运算符可用于创建文本字符串比较表达式,其中字段与常量进行比较,或将字段与另一个字段进行比较,并且只需要对前几个字符进行匹配。 通配符“*”和“?” 必须分别用于指示任意数量的字符和单个字符。

  • ADO.NET 客户端可以指定原始 Siebel 业务对象、业务组件和业务组件字段名称。 如果这些名称包含任何特殊字符或空格,则必须用方括号括起来。 支持的查询示例包括:

    SELECT [Name], [Postal Code] FROM Account.Account where [Postal Code] != '11065'  
    SELECT [Name], [Postal Code], Id From Account.Account where [Postal Code] != '60626' Order BY Id ASC, Name DESC  
    SELECT * FROM [Admin Price List].[Price Book Items]  
    

    Siebel 的数据提供程序支持基于 Siebel 支持的排序规范在 SQL 语句中排序规范。 排序规范的规则如下:

  • 使用逗号分隔排序规范中的字段名称;例如,名称,位置

  • 若要指示列表中的某个字段按降序排序,请在字段名称后面添加 (DESC) ,如“开始日期 (DESC) ”。 如果未指定排序顺序,则使用升序。 若要显式指定升序,请使用 关键字 (keyword) (ASC) 。

  • 排序规范表达式必须不超过 255 个字符。

另请参阅

使用用于 Siebel eBusiness 应用程序的 .NET Framework 数据提供程序