Transact SQL-已存储函数中的ALTER表列名称

问题描述 投票:0回答:1

我正在使用以下功能:

ALTER FUNCTION TestFunc (@year INT)
RETURNS @RetTable TABLE(
    Forename VARCHAR(32),
    Lastname VARCHAR(32),
    Course1 INT,
    Course2 INT,
    Course3 INT
)

在函数主体中,我声明了各种变量,例如:

DECLARE @CourseOne VARCHAR(12);
DECLARE @CourseTwo VARCHAR(12);
DECLARE @CouseThree VARCHAR(12);

然后,我想使用这些变量来应用另一个列名,如下所示:

INSERT INTO @RetTable SELECT Forename, Lastname, C1 AS @CourseOne, C2 AS @CourseTwo, C3 AS @CourseThree FROM Teachers

在这种情况下的问题是,即使我尝试“重命名” INSERT中的列,列名仍将是“ Course1,Course2,Course3

有什么办法可以解决这个问题,或者有什么其他办法可以解决这个问题?

我正在使用以下功能:ALTER FUNCTION TestFunc(@year INT)返回@RetTable TABLE(姓VARCHAR(32),姓VARCHAR(32),Course1 INT,Course2 INT,Course3 ...

sql sql-server tsql stored-functions
1个回答
0
投票

您无法重命名表中的列。为什么要重命名函数中间的列?

您可以在调用函数时重命名它们

© www.soinside.com 2019 - 2024. All rights reserved.