您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

CE_PROJECTION

语法:

CE_PROJECTION(, [, ])

语法元素:

 ::= :

指定受投影约束的表变量。

 ::= ‘[’ [{,  }…] ‘]’

::= [AS ]

::=

指定应在结果表中的属性列表。列表必须至少有一个元素。可以使用 SQL 关键字 AS 对属性进行重命名,并且可以使用 CE_CALC 函数对表达式求值。

 ::= 

指定允许使用布尔表达式的可选过滤器。有关过滤器表达式语法,请参阅 CE_CALC。

描述:

将表变量 的列限制为投影列表中提到的列。或者,您还可以重命名列、计算表达式或应用过滤器。

使用此运算符,首先应用 ,包括列重命名和表达式计算。最后一步,应用过滤器。

注意请注意,CE_PROJECTION 中的 可能容易受 SQL 注入的影响,因为它的行为类似于动态 SQL。避免用户自己从过程外部将 的值作为参数传递的用例,例如:create procedure proc (in filter nvarchar (20), out output ttype)begintablevar = CE_COLUMN_TABLE(TABLE);output = CE_PROJECTION(:tablevar, ["A", "B"], '"B" = :filter );end;它使用户能够传递任何表达式并查询超出预期,例如:'02 OR B = 01'。SAP 建议您改用纯 SQL。