CREATE OR REPLACE Procedure conn_pro (v_Id In Varchar2,v_title In Varchar2) As Declare Type r_type Is Record( v_myId jobs.job_id%Type, v_title jobs.job_title%Type );
v_r1 r_type; Cursor mycursor Is Select job_id,job_title From jobs; Begin Open mycursor; Loop When mycursor%Found Fetch mycursor Into v_r1; dbms_output.put_line(v_r1.myId,v_r1.title); Close mycursor; End Loop; End;
报错说
Compilation errors for PROCEDURE HR.CONN_PRO
Error: PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。 Line: 2 Text: (v_Id In Varchar2,v_title In Varchar2)
Error: PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。 Line: 2 Text: (v_Id In Varchar2,v_title In Varchar2)
Error: PLS-00103: 出现符号 "DECLARE"在需要下列之一时: begin function package pragma procedure subtype type use <an identifier> <a double-quoted delimited-identifier> form current cursor external language 符号 "begin" 被替换为 "DECLARE" 后继续。 Line: 4 Text: Declare
Error: PLS-00103: 出现符号 "end-of-file"在需要下列之一时: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe Line: 17 Text: End;
------解决方案--------------------
SQL code
CREATE OR REPLACE Procedure conn_pro(v_Id In Varchar2, v_title In Varchar2) As
Type r_type Is Record(
v_myId jobs.job_id%Type,
v_title jobs.job_title%Type);
v_r1 r_type;
Cursor mycursor Is
Select job_id, job_title From jobs;
Begin
Open mycursor;
Loop
exit when mycursor%notFound;
Fetch mycursor
Into v_r1;
dbms_output.put_line(v_r1.v_myId || v_r1.v_title);
End Loop;
Close mycursor;
End;
------解决方案--------------------