在线等,哪位大侠知道下面的CAST语句哪里有错误,编译的时候总是提示错误
提示错误Error(29,129): PLS-00103: Encountered the symbol "(" when expecting one of the following: ) varying large
create or replace PROCEDURE sp_hw_BCCreate8ByteString
(
v_psInputStr CHAR ,
v_psFieldStr CHAR ,
v_psOutputStr OUT CHAR,
piReturnCode OUT INTEGER
)
AS
l_error CHAR( 5) := '00000';
v_iLoop INTEGER ;
v_sChar CHAR( 1);
v_sCharInField CHAR( 1);
BEGIN
v_psOutputStr := '00000000';
v_iLoop := 1;
WHILE v_iLoop <= 8 LOOP
v_sChar := SUBSTR(v_psInputStr,v_iLoop,1);
v_sCharInField := SUBSTR(v_psFieldStr,v_iLoop,1);
IF ( v_sChar = '?' ) THEN
v_sChar := v_sCharInField;
ELSE
IF ( v_sChar <> '0' AND v_sChar <> '1' ) THEN
piReturnCode := -1;
RETURN ;--warning:oracle procedure can't return a value -1;
END IF ;
END IF ;
v_psOutputStr := CAST(CONCAT(CONCAT(SUBSTR(v_psOutputStr,1,v_iLoop),v_sChar),SUBSTR(v_psOutputStr,v_iLoop+1+1)) AS CHAR( 9));
v_iLoop := v_iLoop + 1;
END LOOP ;
piReturnCode := 0;
RETURN ;--warning:oracle procedure can't return a value (0);
END sp_hw_BCCreate8ByteString ;