当前位置: 代码迷 >> Sql Server >> 实施存储过程的输入输出参数
  详细解决方案

实施存储过程的输入输出参数

热度:27   发布时间:2016-04-27 11:53:15.0
执行存储过程的输入输出参数
SQL code
ALTER PROCEDURE [dbo].[PersonCount]    -- Add the parameters for the stored procedure here    @Personid int,    @Personidout int OUTPUT --    <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>ASBEGIN    -- SET NOCOUNT ON added to prevent extra result sets from    -- interfering with SELECT statements.    SET NOCOUNT ON;    SELECT @Personidout = MAX(age)+1 from Person    SELECT Count(id)as Personid from Person where [email protected]    -- Insert statements for procedure here    --SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>END


SQL code
--DECLARE @RC intDECLARE @Personid INTDECLARE @Personidout INT-- TODO: 在此处设置参数值。EXECUTE  [AnodTestJoin].[dbo].[PersonCount]@Personid=2, @Personidout OUTPUTSelect 'person '+str(@Personidout)

执行时提示:
消息 119,级别 15,状态 1,第 6 行
必须传递参数 2,并以 [email protected] = value' 的形式传递后续的参数。一旦使用了 [email protected] = value' 形式之后,所有后续的参数就必须以 [email protected] = value' 的形式传递。


output修饰的参数怎么还需要以 [email protected] = value' 的形式传递????真不懂。。

------解决方案--------------------
SQL code
--DECLARE @RC intDECLARE @Personid INTDECLARE @Personidout INT-- TODO: 在此处设置参数值。EXECUTE  [AnodTestJoin].[dbo].[PersonCount]@Personid=2, @Personidout = @Personidout OUTPUTSelect 'person '+str(@Personidout)
  相关解决方案