IF SUBSTR(FILENAME,19,1)='0' THEN ...... END IF 你可以试试这样写,可以吧
简单一点的 CREATE OR REPLACE PROCEDURE "PIC_INSERT" (PID VARCHAR2,FILENAME VARCHAR2) IS F_LOB BFILE; B_LOB BLOB; BEGIN IF TO_NUMBER(PID)=0 then INSERT INTO BJXX(SJBH) VALUES (SJBH.nextval); END IF COMMIT; END; 这样也出错 BEGIN pic_insert('0','08041012233001030010020852浙B12495.jpg'); END; * ERROR 位于第 1 行: ORA-06550: 第 1 行, 第 7 列: PLS-00905: 对象 LICHENG.PIC_INSERT 无效 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 去掉IF语句就没错了
CREATE OR REPLACE PROCEDURE "PIC_INSERT" (PID VARCHAR2,FILENAME VARCHAR2) IS F_LOB BFILE; B_LOB BLOB; BEGIN IF TO_NUMBER(PID)=0 then INSERT INTO BJXX(SJBH) VALUES (SJBH.nextval); END IF --这里少了分号; COMMIT; END;
导致取不到报错
早就够了提示以下错误
BEGIN pic_insert('08041012233001030010020852浙B12495.jpg'); END; *
ERROR 位于第 1 行:
ORA-06550: 第 1 行, 第 7 列:
PLS-00905: 对象 LICHENG.PIC_INSERT 无效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
......
END IF 你可以试试这样写,可以吧
CREATE OR REPLACE PROCEDURE "PIC_INSERT"
(PID VARCHAR2,FILENAME VARCHAR2) IS
F_LOB BFILE;
B_LOB BLOB;
BEGIN
IF TO_NUMBER(PID)=0 then
INSERT INTO BJXX(SJBH)
VALUES (SJBH.nextval);
END IF
COMMIT;
END; 这样也出错
BEGIN pic_insert('0','08041012233001030010020852浙B12495.jpg'); END; *
ERROR 位于第 1 行:
ORA-06550: 第 1 行, 第 7 列:
PLS-00905: 对象 LICHENG.PIC_INSERT 无效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
去掉IF语句就没错了
CREATE OR REPLACE PROCEDURE "PIC_INSERT"
(PID VARCHAR2,FILENAME VARCHAR2) IS
F_LOB BFILE;
B_LOB BLOB;
BEGIN
IF TO_NUMBER(PID)=0 then
INSERT INTO BJXX(SJBH)
VALUES (SJBH.nextval);
END IF --这里少了分号;
COMMIT;
END;
那个if报错,是后面少了一个;