我的表结构如下,
CREATE TABLE tbl_Info
(
[SSEID] BIGINT NOT NULL IDENTITY(1,1),
[ShortenKey] AS ConvertToBase([SSEID]),
[Title] VARCHAR(500) NULL,
)
ConvertToBase
功能如下,
CREATE FUNCTION ConvertToBase(@Number BIGINT)
RETURNS VARCHAR(15)
AS
BEGIN
// implementation
END
我需要在sp中进行INSERT查询后获取生成的[ShortenKey]值。怎么做?
答案 0 :(得分:4)
INSERT tbl_Info (Title)
OUTPUT INSERTED.ShortenKey
VALUES ('new title')
注意:如果我正确读取它,可能无法使用MSDN计算列。
答案 1 :(得分:3)
使用SCOPE_IDENTITY
获取新的身份值。然后查询新插入的行。
SELECT ShortenKey
FROM dbo.tbl_Info
WHERE SSEID = SCOPE_IDENTITY()
答案 2 :(得分:1)
SELECT ShortenKey
FROM dbo.tbl_Info
WHERE SSEID = SCOPE_IDENTITY()