为过程或函数 dbo.GetBOMNote 指定了过多的参数。
最近学着玩玩SQL Server 2012
自定义了一个函数,大意是将BPCS中的多行BOM Note合并到一行上
USE [MyBPCS]
GO
/****** Object: UserDefinedFunction [dbo].[GetBOMNote] Script Date: 2015/3/26 9:59:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[GetBOMNote](@Item CHAR(35),@Seq DECIMAL(4,0))
RETURNS NVARCHAR(4000)
AS
BEGIN
DECLARE @Note NVARCHAR(4000)
SET @Note = ''
SELECT @Note = @Note+';'+RTRIM(PNDES) FROM MyBPCS.dbo.MPN
WHERE PNPROD=@Item AND PNOPN=@Seq
RETURN STUFF(@Note,1,1,'')
END
然后用SELECT语句看看效果,一个参数时可行,两个就出现后面的错误消息
SELECT PNPROD,PNOPN,dbo.GetBOMNote(PNPROD,PNOPN) AS SNames FROM MYBPCS.DBO.MPN GROUP BY PNPROD,PNOPN
消息 8144,级别 16,状态 2,第 2 行
为过程或函数 dbo.GetBOMNote 指定了过多的参数。