是否有一种方法来创建一个TSQL变量常量?

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

是否有一种方法来创建一个TSQL变量常量?

liwen223liwen223提问于
叶叶程序猿,码农回答于

不,但是你可以创建一个函数,并在里面硬编码并使用它。

以下是一个例子:

CREATE FUNCTION fnConstant()
RETURNS INT
AS
BEGIN
    RETURN 2
END
GO

SELECT dbo.fnConstant()
JAVA-包身工潜水员回答于

对于缺少Constans,我的解决办法是向优化器提供有关值的提示。

DECLARE @Constant INT = 123;

SELECT * 
FROM [some_relation] 
WHERE [some_attribute] = @Constant
OPTION( OPTIMIZE FOR (@Constant = 123))

这告诉查询编译器在创建执行计划时将变量视为常量。不利的一面是,必须定义该值两次。

扫码关注云+社区