SQL检验出错在这两句:
@FNumberStr = @FNumberStr + RTrim(@FNUMBER) + '|'
RAISERROR('以下物料没有单价:' + RTrim(@FNumberStr),18,18)
@FNumberStr = @FNumberStr + RTrim(@FNUMBER) + '|'
RAISERROR('以下物料没有单价:' + RTrim(@FNumberStr),18,18)
ON PoInStock
FOR INSERT
AS
declare @ss varchar(5000)BEGIN
DECLARE @TRANTYPE SMALLINT,@FITEMID INT,@FNUMBER VARCHAR(80),@FNumberStr Varchar(1024) SELECT @TRANTYPE = FTRANTYPE FROM INSERTED
IF @TRANTYPE = 72
BEGIN
IF EXISTS(SELECT * FROM INSERTED i INNER JOIN POINSTOCKENTRY ie ON i.FINTERID = ie.FINTERID
INNER JOIN POORDERENTRY pe ON ie.FSOURCEINTERID = pe.FINTERID AND ie.FSOURCEENTRYID = pe.FENTRYID
WHERE (pe.FPRICE <= 0.0 ))
BEGIN
Declare CurTable1 Cursor For
SELECT t.FNumber as FNumber
FROM INSERTED i INNER JOIN POINSTOCKENTRY ie ON i.FINTERID = ie.FINTERID
INNER JOIN POORDERENTRY pe ON ie.FSOURCEINTERID = pe.FINTERID AND ie.FSOURCEENTRYID = pe.FENTRYID
INNER JOIN t_Icitem t ON ie.FItemID = t.FItemID
WHERE (pe.FPRICE <= 0.0 )
Open CurTable Fetch Next From CurTable1
Into @FNUMBER
WHILE @@FETCH_STATUS = 0
Begin
set @FNumberStr = @FNumberStr + RTrim(@FNUMBER) +'|'
Fetch Next From CurTable1 Into @FNUMBER
End
Close CurTable1
DEALLOCATE CurTable1 ROLLBACK TRAN
-- RAISERROR ('Job id 1 expects the default level of 10.', 16, 1)
set @ss='以下物料没有单价:' + RTrim(@FNumberStr)
RAISERROR(@ss,18,18)
End
END END
select @i=2 -- or set @i=2
select @i