创建oracle存储过程出错:创建的过程带有编译错误!帮忙!

wdwgr 2008-12-13 12:29:38
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 pipe

SQL>

帮忙看看这个是什么错误!找了半天了也找不到答案,急死我了!
...全文
414 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
chwei_cson 2012-07-24
  • 打赏
  • 举报
回复
我的还是有错误啊? ? ? 真心不知道是为什么啊? 诚心求教???

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 /

警告: 创建的过程带有编译错误。
xiaojun0124 2009-02-16
  • 打赏
  • 举报
回复
UP
issacp 2009-02-11
  • 打赏
  • 举报
回复
up
yingzi85 2008-12-15
  • 打赏
  • 举报
回复
学习
qqlpp 2008-12-14
  • 打赏
  • 举报
回复
友情up
wdwgr 2008-12-14
  • 打赏
  • 举报
回复
谢谢几位的帮助,问题已经解决
又是违规昵称 2008-12-13
  • 打赏
  • 举报
回复
确实少了分号

周末也这么多人, 不错啊
lwmonster 2008-12-13
  • 打赏
  • 举报
回复
少个分号喽
icss_zhen 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 wdwgr 的帖子:]
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
-------- -----------------------------------------------------------…
[/Quote]insert 语句后面没有加;号,另外没有commit;不过没有commit的话编译是不会报错的,只是insert操作没提交也就没什么意义了
icss_zhen 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 wdwgr 的帖子:]
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
-------- -----------------------------------------------------------…
[/Quote]insert语句后面少了一个;号,另外没有commit;不过没有commit编译时不会报错,只是insert后没执行提交,所以要加上commit;
pobaby 2008-12-13
  • 打赏
  • 举报
回复
SQL insert 语句后面没分号。

[Quote=引用楼主 wdwgr 的帖子:]
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
-------- ----------------------------…
[/Quote]
Andy__Huang 2008-12-13
  • 打赏
  • 举报
回复
如果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;
sleepzzzzz 2008-12-13
  • 打赏
  • 举报
回复
改为:
create or replace procedure AddUser(id number,
userName varchar2,
userPwd varchar2) as
begin
insert into users values (id, userName, userPwd);
commit;
end AddUser;



[Quote=引用楼主 wdwgr 的帖子:]
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
-------- ----------------------------…
[/Quote]

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧