【发布时间】:2016-04-04 22:39:36
【问题描述】:
我有一个在 SQL 中运行良好的存储过程。输出类型为字符串。
ALTER PROCEDURE [gis].[usp_GetNextUp_suffix]
@TableName varchar(50),
@id_w_suffix varchar(20) OUTPUT
AS
DECLARE @id int, @suffix varchar(6)
SELECT @id = Next_FacilityID
FROM dbo.Next_up
WHERE table_name = @TableName
SELECT @suffix = Suffix
FROM dbo.Next_up
WHERE table_name = @TableName
SET @id_w_suffix = @suffix + CONVERT(varchar, @id) + 'A'
UPDATE dbo.Next_up
SET Next_FacilityID = @id + 1
WHERE table_name = @TableName
GO
但是,SQL Server Management Studio 将其返回类型列为整数,即使它返回的是有效字符串。
当我将存储过程拉入 .net LINQ 对象时,它会出错,因为它也需要一个整数而不是字符串。
如何更改存储过程以指定正确的返回类型?
【问题讨论】:
标签: sql-server stored-procedures sql-server-2012