超菜的几个问题,请大侠帮帮忙

demo001 2004-08-12 11:42:16
小弟这个星期来到新公司,初学Oracle,很菜很菜,

用的是PL/SQL Developer,

我知道我应该先看书再问,但是我手头只有一本Oracle8 PL/SQL程序设计,上面只有语法什么的

我连PL/SQL Developer最基本的操作都不会:(

所以想请教一下各位大侠

1.如何自己新建一个存储过程?
我建了之后保存了,可是展开左边存储过程的树,却找不到:(

2.建了一个过程之后怎么执行,是点右键菜单里面的Test吗?

3.存储过程是不是要先编译?那么为什么以下这段存储过程编译不行呢?

create or replace procedure Test_procedures() is
begin
Insert into test (PName,age) values('hehe',12);
end Test_procedures;

错误是
Compilation errors for PROCEDURE OSS_SA_0O.TEST_PROCEDURES

Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:

<an identifier> <a double-quoted delimited-identifier>
current
Line: 1
Text: create or replace procedure Test_procedures() is

我只是想建一个存储过程,这个过程不要任何的IN\OUT参数

仅仅是在一个test表中插入一条记录就可以了

谢谢各位了
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinya2003 2004-08-12
  • 打赏
  • 举报
回复
记得坛子里有位兄台说过这么一句话:学习oracle最忌讳浮嘈!

Oracle8 PL/SQL程序设计,实在地看一遍,收获会很大.
wylwyl1130 2004-08-12
  • 打赏
  • 举报
回复
你编译一下就能找到了

过程的调用是
begin
过程名
end;

你的过程多了一个(),没有参数的情况下不需要()
hot.wind 2004-08-12
  • 打赏
  • 举报
回复
1、存储过程有两种形式,procdure和package,你编写的好像时procdure。
2、是。
3、
create or replace procedure Test_procedures is
begin
Insert into test (PName,age) values('hehe',12);
end Test_procedures;
demo001 2004-08-12
  • 打赏
  • 举报
回复
谢谢楼上的

问题解决了

虽然不是commit;的问题

但是也是用你教我的command windows的方法找出原因的:)

妈的,原来不用edit命令修改存储过程经常不被保存:( 不知道为什么.

现在知道了,应该确认一下有没有保存,再执行:)

谢谢楼上的方法

又学会一招:)
dinya2003 2004-08-12
  • 打赏
  • 举报
回复
create or replace procedure Test_procedures
is
begin
Insert into test(PName,age) values('hehe',12);
commit; <------执行后要提交,
exception <------如果出现异常,则回滚
when others then
rollback;
end Test_procedures;


--测试:
打开pl/sql developer, file\new\command windows

SQL> EXECUTE Test_procedures;

SQL> SELECT * FROM test;
demo001 2004-08-12
  • 打赏
  • 举报
回复
up
demo001 2004-08-12
  • 打赏
  • 举报
回复
谢谢楼上的诸位的回答

现在我只差一步了

就是编译通过之后点击右键菜单中的Test执行,表中却没有被执行添加任何记录

请问这是怎么回事情?

hzwm 2004-08-12
  • 打赏
  • 举报
回复
1.如何自己新建一个存储过程?
我建了之后保存了,可是展开左边存储过程的树,却找不到:(
回答:当然找不到,需要经过编译成功后,你才可以在看到这个过程。

2.建了一个过程之后怎么执行,是点右键菜单里面的Test吗?
一般在file\new\program window\blank 里面编译代码。

3.存储过程是不是要先编译?那么为什么以下这段存储过程编译不行呢?

create or replace procedure Test_procedures
is
begin
Insert into test (PName,age) values('hehe',12);
end Test_procedures;

demo001 2004-08-12
  • 打赏
  • 举报
回复
楼上的,您绝对误会了

处在您的层次上,当然是无法理解我这种菜鸟的心情的

实际上,我也深深的明白浮躁的危害

可是问题是,我在书上看的例子,总得在实践中验证吧?

我现在菜到连PL/SQL Developer基本操作都不会呢,怎么去验证Oracle8 PL/SQL程序设计上的例子那?

我只是想学一下基本操作先,绝对没有偷懒的想法....

小弟用过一段时间SQL Server,很多想法和习惯以前就养成了

不知道我是不是理解错了,所以求证一下子的.

17,377

社区成员

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

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