2

我的表结构如下,

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] 值。这该怎么做 ?

4

3 回答 3

5

使用OUTPUT 子句?

INSERT tbl_Info (Title)
OUTPUT INSERTED.ShortenKey
VALUES ('new title')

注意:如果我没看错的话,MSDN 说可能不适用于计算列。

于 2011-06-15T08:21:41.753 回答
3

用于SCOPE_IDENTITY获取新的标识值。然后查询新插入的行。

SELECT ShortenKey
FROM dbo.tbl_Info
WHERE SSEID = SCOPE_IDENTITY()
于 2011-06-15T08:39:46.203 回答
1
SELECT ShortenKey
FROM dbo.tbl_Info
WHERE SSEID = SCOPE_IDENTITY()
于 2012-03-05T10:49:19.913 回答