gpt4 book ai didi

sql - 如何在 SQL Server 2005 中插入没有可写列的表?

转载 作者:行者123 更新时间:2023-12-04 06:14:28 26 4
gpt4 key购买 nike

具体来说,我有一个具有以下签名的函数:

CREATE FUNCTION [dbo].[GetLevelData]()
RETURNS @level TABLE (
[Level] INT PRIMARY KEY IDENTITY,
[Source Column Name] AS '{Option Level ' + CAST([Level] AS VARCHAR(10)) + '}',
[Parent Column Name] AS '[Parent_L' + CAST([Level] AS VARCHAR(10)) + '_Option]'
)

如何在其中插入行 不修改表的定义 ?

最佳答案

在函数定义的主体内,使用

INSERT @level DEFAULT VALUES;

在要返回的表中创建一个新行。

要一次处理多行,您可以这样做:
CREATE FUNCTION [dbo].[GetLevelData]()
RETURNS @level TABLE (
[Level] INT PRIMARY KEY IDENTITY,
[Source Column Name] AS '{Option Level ' + CAST([Level] AS VARCHAR(10)) + '}',
[Parent Column Name] AS '[Parent_L' + CAST([Level] AS VARCHAR(10)) + '_Option]'
)
AS
BEGIN
WHILE ISNULL(SCOPE_IDENTITY(), 0) < 5 -- to end up with 5 rows
INSERT @level DEFAULT VALUES

RETURN
END

这有点偷偷摸摸,但确实有效

关于sql - 如何在 SQL Server 2005 中插入没有可写列的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com