我需要创建一个接受单个参数的SQL Server TVF,然后使用该参数来构建其他所需的参数。这可能吗?
该错误表示"LEFT"附近的语法不正确。下面的简单表示。
CREATE FUNCTION TESTFUNCTION
(
-- Add the parameters for the function here
@PRM1 VARCHAR(2) = 'ABC',
@PRM2 VARCHAR(1) = LEFT(@PRM1,1)
)
RETURNS TABLE
AS
RETURN
(
-- Add the SELECT statement with parameter references here
SELECT @PRM2
)
GO
谢谢!
在编辑问题之前:
您只需要一个参数:
SELECT @PRM2 = LEFT(@PRM1, 1);
但是,您需要缩放器函数,而不是表值函数:
CREATE FUNCTION TESTFUNCTION
(
-- Add the parameters for the function here
@PRM1 VARCHAR(2) = 'ABC'
)
RETURNS VARCHAR(255)
AS
BEGIN
DECLARE @PRM2 VARCHAR(255)
SET @PRM2 = LEFT(@PRM1, 1)
RETURNS (@PRM2)
END
注意:您的@PRM1
将只接受两个AB
字符。因此,定义适当的长度。