Sql 覆盖存储过程的返回值

Sql 覆盖存储过程的返回值,sql,sql-server-2005,stored-procedures,Sql,Sql Server 2005,Stored Procedures,通常,存储过程在成功执行时无错误返回0,在存储过程遇到错误时返回-1等。 是否可以覆盖存储过程中的int返回值?这是一个可以为您提供所需返回值的函数 或者,如果需要写访问权限,可以在StoredProcess中添加输出参数 像这样的 CREATE PROCEDURE dbo.MyStoredProcedure ( @myInput NVARCHAR(50), @myOutput INT OUTPUT ) AS SELECT @myOutput = COUNT(*) FROM My

通常,存储过程在成功执行时无错误返回0,在存储过程遇到错误时返回-1等。
是否可以覆盖存储过程中的int返回值?

这是一个可以为您提供所需返回值的函数

或者,如果需要写访问权限,可以在StoredProcess中添加输出参数 像这样的

CREATE PROCEDURE dbo.MyStoredProcedure (
    @myInput NVARCHAR(50),
    @myOutput INT OUTPUT )
AS
SELECT @myOutput = COUNT(*)
FROM MyTable
WHERE MyColumn = @myInput

SP可以使用select语句返回您想要返回的任何内容,但理想情况下,当您需要返回单个值时,应该使用函数

你的问题的答案是肯定的

使用:


使用函数而不是storedprocedure。您可以使用过程中的int。这是一个函数,而不是存储过程。它甚至返回多个值:)很好…将发布相同的值。
select
语句不会更改返回值。尽管“是”是这个问题的正确答案,但它并没有用处。当然,这个问题也意味着“如果是,那么如何?”@Guffa我的意思是选择1并选择“a”,无论你选择什么,它都不会改变返回值。与过程返回的结果/结果分开。一个过程可能返回零个或多个结果,但它始终只有一个整数返回值。
return 42