SQL> ed
已写入 file afiedt.buf  1  create or replace procedure AddUser(
  2  id number,
  3  userName varchar2,
  4  userPwd varchar2)
  5  as
  6  begin
  7  insert into users values(id,userName,userPwd)
  8* end AddUser;
SQL> /警告: 创建的过程带有编译错误。SQL> show errors;
PROCEDURE ADDUSER 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
7/1      PL/SQL: SQL Statement ignored
7/47     PL/SQL: ORA-00933: SQL 命令未正确结束
8/12     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 pipeSQL>帮忙看看这个是什么错误!找了半天了也找不到答案,急死我了!

解决方案 »

  1.   

    改为:
    create or replace procedure AddUser(id       number,
                                        userName varchar2,
                                        userPwd  varchar2) as
    begin
      insert into users values (id, userName, userPwd);
      commit;
    end AddUser;
      

  2.   

    如果user表多于三个字段,最好表名后面要指明字段
    create or replace procedure AddUser(id       number,
                                        userName varchar2,
                                        userPwd  varchar2) as
    begin
      insert into users(id, userName, userPwd)  values (id, userName, userPwd);
      commit;
    end AddUser;
      

  3.   

    SQL insert 语句后面没分号。
      

  4.   

    insert语句后面少了一个;号,另外没有commit;不过没有commit编译时不会报错,只是insert后没执行提交,所以要加上commit;
      

  5.   

    insert 语句后面没有加;号,另外没有commit;不过没有commit的话编译是不会报错的,只是insert操作没提交也就没什么意义了
      

  6.   

    我的还是有错误啊? ? ? 真心不知道是为什么啊? 诚心求教???SQL> create or replace procedure scott.pro_stu_test
      2  (stuname1 varchar2,stunum1 char,stusex1 char)
      3  as
      4  begin
      5  insert into scott.student
      6  values
      7  ( stuname=stuname1,
      8    stunum=stunumn1,
      9    stusex=stusex1
     10  );
     11  commit;
     12  end pro_stu_test;
     13  /警告: 创建的过程带有编译错误。