Delphi - 使用参数查看

时间:2016-12-22 14:34:03

标签: delphi firebird firedac

我有以下观点:

CREATE OR ALTER VIEW "ButtonGroup_ButtonNames_view"("ButtonName")
AS
select "ButtonName"
from   "ButtonGroupName_ButtonName"
where  "ButtonGroupName_ButtonName"."ButtonGroupName" = ':lButtonGroupName'

':lButtonGroupName'被认为是一个参数,所以在运行时我可以为它设置一个值。

运行应用程序时,出现parameter name not found错误。我想这不是在parameter内声明view的正确方法。反正有可能吗?

感谢。

1 个答案:

答案 0 :(得分:0)

现在看来视图是如何工作的。您可以在用于从视图中获取结果的select查询中提供参数,但视图本身不能包含任何参数。没有任何工具可以将参数传递给不属于查询的视图。

从这样一个"参数化视图"中真的不会有任何优化。无论如何。数据库引擎无法预取结果,因为在您执行查询之前,它不会知道参数值。知道某个列是参数化的,数据库引擎可以在该列上创建索引,但您可以轻松索引基础表中的列。对视图的查询将使用与对表的查询相同的索引。