CREATE OR REPLACE PROCEDURE "InsertAccident"
(
p_A_No varchar2(50),
p_A_Name varchar2(200),
p_A_Time varchar2(50),
p_A_Address varchar2(200),
p_placeid number,
p_A_Cause varchar2(200),
p_AccidentTypeNo varchar2(50),
p_A_Character varchar2(200),
p_A_DirectLoss varchar2(53),
p_A_InLoss varchar2(53),
p_A_Death number,
p_A_Injury number,
p_A_Description varchar(2000),
p_A_Conclusion varchar(2000),
p_A_Rescue varchar(2000),
p_A_Analysis varchar(2000),
p_A_CaseFile varchar(700),
p_A_Note long
)IS
BEGIN INSERT INTO tblAccident(A_No,A_Name,A_Time,A_Address,placeid,A_Cause,AccidentTypeNo,A_Character,A_DirectLoss,A_InLoss,A_Death,A_Injury,A_Description,A_Conclusion,A_Rescue,A_Analysis,A_CaseFile,A_Note)
VALUES(p_A_No,p_A_Name,p_A_Time,p_A_Address,p_placeid,p_A_Cause,p_AccidentTypeNo,p_A_Character,p_A_DirectLoss,p_A_InLoss,p_A_Death,p_A_Injury,p_A_Description,
p_A_Conclusion,p_A_Rescue,p_A_Analysis,p_A_CaseFile,p_A_Note) END InsertAccident;SHOW ERRORS;
没有错误!
请问错误是在哪里?
(
p_A_No varchar2(50),
p_A_Name varchar2(200),
p_A_Time varchar2(50),
p_A_Address varchar2(200),
p_placeid number,
p_A_Cause varchar2(200),
p_AccidentTypeNo varchar2(50),
p_A_Character varchar2(200),
p_A_DirectLoss varchar2(53),
p_A_InLoss varchar2(53),
p_A_Death number,
p_A_Injury number,
p_A_Description varchar(2000),
p_A_Conclusion varchar(2000),
p_A_Rescue varchar(2000),
p_A_Analysis varchar(2000),
p_A_CaseFile varchar(700),
p_A_Note long
)IS
BEGIN INSERT INTO tblAccident(A_No,A_Name,A_Time,A_Address,placeid,A_Cause,AccidentTypeNo,A_Character,A_DirectLoss,A_InLoss,A_Death,A_Injury,A_Description,A_Conclusion,A_Rescue,A_Analysis,A_CaseFile,A_Note)
VALUES(p_A_No,p_A_Name,p_A_Time,p_A_Address,p_placeid,p_A_Cause,p_AccidentTypeNo,p_A_Character,p_A_DirectLoss,p_A_InLoss,p_A_Death,p_A_Injury,p_A_Description,
p_A_Conclusion,p_A_Rescue,p_A_Analysis,p_A_CaseFile,p_A_Note) END InsertAccident;SHOW ERRORS;
没有错误!
请问错误是在哪里?
少了个逗号,还有记得COMMIT.
(
p_A_No varchar2,
p_A_Name varchar2,
p_A_Time varchar2,
p_A_Address varchar2,
p_placeid number,
p_A_Cause varchar2,
p_AccidentTypeNo varchar2,
p_A_Character varchar2,
p_A_DirectLoss varchar2,
p_A_InLoss varchar2,
p_A_Death number,
p_A_Injury number,
p_A_Description varchar,
p_A_Conclusion varchar,
p_A_Rescue varchar,
p_A_Analysis varchar),
p_A_CaseFile varchar,
p_A_Note long
) IS
BEGIN
INSERT INTO tblAccident(
A_No,
A_Name,
A_Time,
A_Address,
placeid,
A_Cause,
AccidentTypeNo,
A_Character,
A_DirectLoss,
A_InLo,
ss,
A_Death,
A_Injury,
A_Description,
A_Conclusion,
A_Rescue,
A_Analysis,
A_CaseFile,A_Note
)
VALUES (
p_A_No,
p_A_Name,
p_A_Time,
p_A_Address,
p_placeid,
p_A_Cause,
p_AccidentTypeNo,
p_A_Character,
p_A_DirectLoss,
p_A_InLoss,
p_A_Death,
p_A_Injury,
p_A_Description,
p_A_Conclusion,
p_A_Rescue,
p_A_Analysis,
p_A_CaseFile,
p_A_Note
);
commit;
END InsertAccident;
(
p_A_No varchar2,
p_A_Name varchar2,
p_A_Time varchar2,
p_A_Address varchar2,
p_placeid number,
p_A_Cause varchar2,
p_AccidentTypeNo varchar2,
p_A_Character varchar2,
p_A_DirectLoss varchar2,
p_A_InLoss varchar2,
p_A_Death number,
p_A_Injury number,
p_A_Description varchar,
p_A_Conclusion varchar,
p_A_Rescue varchar2,
p_A_Analysis varchar,
p_A_CaseFile varchar,
p_A_Note long
)IS
BEGIN
INSERT INTO tblAccident
(A_No,
A_Name,
A_Time,
A_Address,
placeid,
A_Cause,
AccidentTypeNo,
A_Character,
A_DirectLoss,
A_InLoss,
A_Death,
A_Injury,
A_Description,
A_Conclusion,
A_Rescue,
A_Analysis,
A_CaseFile,
A_Note)
VALUES
(p_A_No,
p_A_Name,
p_A_Time,
p_A_Address,
p_placeid,
p_A_Cause,
p_AccidentTypeNo,
p_A_Character,
p_A_DirectLoss,
p_A_InLoss,
p_A_Death,
p_A_Injury,
p_A_Description,
p_A_Conclusion,
p_A_Rescue,
p_A_Analysis,
p_A_CaseFile,
p_A_Note);
commit; END InsertAccident;
修改后还有错误,请问哪个地方少个逗号?
SQL> SHOW ERRORS;
没有错误。
SQL> desc tblAccident
名称 是否为空? 类型
----------------------------------------- -------- ----------------------
A_NO NOT NULL VARCHAR2(50)
A_NAME NOT NULL VARCHAR2(200)
A_TIME VARCHAR2(50)
A_ADDRESS VARCHAR2(200)
PLACEID NUMBER(10)
A_CAUSE VARCHAR2(200)
ACCIDENTTYPENO VARCHAR2(50)
A_CHARACTER VARCHAR2(200)
A_DIRECTLOSS VARCHAR2(53)
A_INLOSS VARCHAR2(53)
A_DEATH NUMBER(10)
A_INJURY NUMBER(10)
A_DESCRIPTION VARCHAR2(2000)
A_CONCLUSION VARCHAR2(2000)
A_RESCUE VARCHAR2(2000)
A_ANALYSIS VARCHAR2(2000)
A_CASEFILE VARCHAR2(700)
A_NOTE LONG
SQL> create table tblAccident(
2 A_NO VARCHAR2(50) not null,
3 A_NAME VARCHAR2(200) not null,
4 A_TIME VARCHAR2(50),
5 A_ADDRESS VARCHAR2(200),
6 PLACEID NUMBER(10),
7 A_CAUSE VARCHAR2(200) ,
8 ACCIDENTTYPENO VARCHAR2(50),
9 A_CHARACTER VARCHAR2(200),
10 A_DIRECTLOSS VARCHAR2(53),
11 A_INLOSS VARCHAR2(53),
12 A_DEATH NUMBER(10),
13 A_INJURY NUMBER(10),
14 A_DESCRIPTION VARCHAR2(2000),
15 A_CONCLUSION VARCHAR2(2000),
16 A_RESCUE VARCHAR2(2000),
17 A_ANALYSIS VARCHAR2(2000),
18 A_CASEFILE VARCHAR2(700),
19 A_NOTE LONG
20 );Table createdSQL>
SQL> CREATE OR REPLACE PROCEDURE InsertAccident
2 (
3 p_A_No varchar2,
4 p_A_Name varchar2,
5 p_A_Time varchar2,
6 p_A_Address varchar2,
7 p_placeid number,
8 p_A_Cause varchar2,
9 p_AccidentTypeNo varchar2,
10 p_A_Character varchar2,
11 p_A_DirectLoss varchar2,
12 p_A_InLoss varchar2,
13 p_A_Death number,
14 p_A_Injury number,
15 p_A_Description varchar,
16 p_A_Conclusion varchar,
17 p_A_Rescue varchar2,
18 p_A_Analysis varchar,
19 p_A_CaseFile varchar,
20 p_A_Note long
21 )
22 IS
23 BEGIN
24 INSERT INTO tblAccident (
25 A_No,
26 A_Name,
27 A_Time,
28 A_Address,
29 placeid,
30 A_Cause,
31 AccidentTypeNo,
32 A_Character,
33 A_DirectLoss,
34 A_InLoss,
35 A_Death,
36 A_Injury,
37 A_Description,
38 A_Conclusion,
39 A_Rescue,
40 A_Analysis,
41 A_CaseFile,
42 A_Note
43 )
44 VALUES
45 (p_A_No,
46 p_A_Name,
47 p_A_Time,
48 p_A_Address,
49 p_placeid,
50 p_A_Cause,
51 p_AccidentTypeNo,
52 p_A_Character,
53 p_A_DirectLoss,
54 p_A_InLoss,
55 p_A_Death,
56 p_A_Injury,
57 p_A_Description,
58 p_A_Conclusion,
59 p_A_Rescue,
60 p_A_Analysis,
61 p_A_CaseFile,
62 P_A_Note
63 );
64 commit;
65 END InsertAccident;
66 /Procedure createdSQL>
再问一下,oracle中存储过程怎么调用,跟sql里调用存储过程有什么差别