我也在用这个,试试吧,没问题的:
CREATE PROCEDURE GetFontsWBM
@FONTNAME CHAR(500),
@ERESULT CHAR(500) OUTPUT
AS
DECLARE @BMNAME CHAR(10)
DECLARE @I int
DECLARE @MCNAME CHAR(20)
DECLARE @aFontName CHAR(10)
DECLARE @aFontBm CHAR(500)
SET @ERESULT =SPACE(500)
/*还没出库的处方药品,定义游标*/
SELECT @I = 1
SELECT @aFontBm= SPACE(500)
WHILE ( @I <= LEN(rtrim(ltrim(@FONTNAME) )))
BEGIN
SELECT @aFontName = SUBSTRING(@FONTNAME,@I,1)
DECLARE TECMCUR CURSOR SCROLL FOR SELECT * FROM WBM WHERE MC= @aFontName
DECLARE @FETCH_STATUS INT
OPEN TECMCUR
FETCH FIRST FROM TECMCUR INTO @MCNAME,@BMNAME
CLOSE TECMCUR
DEALLOCATE TECMCUR
/*raiserror ('无法取得流水记录,请稍后重试!', 16, 1)*/
IF @BMNAME <> ""
SELECT @aFontBm= rtrim(ltrim(@aFontBm))+SUBSTRING(@BMNAME,1,1)
ELSE
SELECT @aFontBm= @aFontBm+'V'
SELECT @I = @I+1
END --END WHILE
IF @aFontBm <> ""
SELECT @ERESULT=upper(@aFontBm)
ELSE
SELECT @ERESULT= "V"
GO