SELECT COUNT(*) INTO RID FROM CERTIFICATE WHERE CERTIFICATE_NAME=NAME;
IF RID=0 THEN
INSERT CERTIFICATE (CERTIFICATE_NAME, CERTIFICATE_ENNAME,CERTIFICATE_URL) VALUES (NAME,CNNAME,URL);
END IF;EXCEPTION
WHEN OTHERS THEN
RID := -RID;
IF RID=0 THEN
INSERT CERTIFICATE (CERTIFICATE_NAME, CERTIFICATE_ENNAME,CERTIFICATE_URL) VALUES (NAME,CNNAME,URL);
END IF;EXCEPTION
WHEN OTHERS THEN
RID := -RID;
CREATE OR REPLACE PROCEDURE PR_HONG
as
begin
select * from HONG;
end;
系统也是置为无效状态,究竟是何错误。
要写成select ...into....from.....
IF RID=0 THEN
INSERT CERTIFICATE (CERTIFICATE_NAME, CERTIFICATE_ENNAME,CERTIFICATE_URL) VALUES (NAME,CNNAME,URL);
else
RID := -RID; END IF;EXCEPTION
WHEN OTHERS THEN
RID := -RID;
IF RID=0 THEN
INSERT CERTIFICATE (CERTIFICATE_NAME, CERTIFICATE_ENNAME,CERTIFICATE_URL) VALUES (NAME,CNNAME,URL);
else
RID := -RID;
END IF;EXCEPTION
WHEN OTHERS THEN
null;
..
..
刚才没写完就发出去了
你的那个简单的可以写成:CREATE OR REPLACE PROCEDURE PR_HONG
as
begin
null;
end;
编译一下看看还是不是无效状态
INSERT INTO CERTIFICATE (CERTIFICATE_NAME, CERTIFICATE_ENNAME,CERTIFICATE_URL) VALUES (NAME,CNNAME,URL);换作RID:=0;则系统变为有效.
是此语句有错误吗,好象也没有错啊?