Tsql 不能执行此T-SQL函数

Tsql 不能执行此T-SQL函数,tsql,Tsql,无法执行此函数,我收到错误信息: 必须声明表变量“@Handle” 功能定义: CREATE FUNCTION [dbo].[FnGetHandle]() RETURNS INT AS BEGIN DECLARE @Handle AS INT; DECLARE @strUser AS NCHAR(256); SET @Handle = 0; SET @strUser = CURRENT_USER; INSERT INTO tbl

无法执行此函数,我收到错误信息:

必须声明表变量“@Handle”

功能定义:

CREATE FUNCTION [dbo].[FnGetHandle]()
RETURNS INT
AS
  BEGIN
      DECLARE @Handle AS INT;
      DECLARE @strUser AS NCHAR(256);

      SET @Handle = 0;
      SET @strUser = CURRENT_USER;

      INSERT INTO tbl_handle
      Output      Handle
      INTO @Handle ( UserName )
      VALUES      ( @strUser );

      RETURN @Handle
  END
表定义:

CREATE FUNCTION [dbo].[FnGetHandle]()
RETURNS INT
AS
  BEGIN
      DECLARE @Handle AS INT;
      DECLARE @strUser AS NCHAR(256);

      SET @Handle = 0;
      SET @strUser = CURRENT_USER;

      INSERT INTO tbl_handle
      Output      Handle
      INTO @Handle ( UserName )
      VALUES      ( @strUser );

      RETURN @Handle
  END
tbl_句柄定义(句柄int标识,用户名nvarchar,已创建 (日期)


output
命令输出到表或表变量。您可以创建一个保存输出值的表变量

declare @T table(handle int)

insert into ...
select ...
output inserted.Handle into @T

select @Handle = handle
from @T

return @Handle

output
命令输出到表或表变量。您可以创建一个保存输出值的表变量

declare @T table(handle int)

insert into ...
select ...
output inserted.Handle into @T

select @Handle = handle
from @T

return @Handle