0

无法执行此功能,我收到错误:

必须声明表变量“@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

表定义:

tbl_handle 定义(句柄 int 身份、用户名 nvarchar、创建日期)

4

1 回答 1

3

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

declare @T table(handle int)

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

select @Handle = handle
from @T

return @Handle
于 2012-05-10T07:50:28.140 回答