存储过程插入简单记录,插入不成功

hainschen 2011-01-10 11:05:21
CREATE OR REPLACE PROCEDURE testProcedure AS
BEGIN
insert into test values(1);
COMMIT;
END;

test表就是一个TOTAL_NUMBER字段的number类型
...全文
137 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
iqlife 2011-01-10
  • 打赏
  • 举报
回复
提示错误信息是什么?没有提示?
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hainschen 的回复:]
我就是在plsql的sql window窗口里输入的
DROP TABLE test;

CREATE TABLE test(id number);
CREATE OR REPLACE PROCEDURE testProcedure AS
BEGIN
insert into test values(1);
COMMIT;
END;
表创建了,插入没成
[/Quote]在执行下这个语句exec testProcedure;
hainschen 2011-01-10
  • 打赏
  • 举报
回复
我就是在plsql的sql window窗口里输入的
DROP TABLE test;

CREATE TABLE test(id number);
CREATE OR REPLACE PROCEDURE testProcedure AS
BEGIN
insert into test values(1);
COMMIT;
END;
表创建了,插入没成
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hainschen 的回复:]
我把你的sql拷过去用,表创建了,可是数据没插入
[/Quote]你调用存储过程了吗?
hainschen 2011-01-10
  • 打赏
  • 举报
回复
还有个问题怎么用plsql跟踪一下sql的执行
  • 打赏
  • 举报
回复
--注意命名块(存储过程)和未命名块的区别
已写入 file afiedt.buf

1 BEGIN
2 insert into test values(2);
3 COMMIT;
4* END;
scott@YPCOST> /

PL/SQL 过程已成功完成。

scott@YPCOST> select * from test;

TOTAL_NUMBER
------------
1
2
hainschen 2011-01-10
  • 打赏
  • 举报
回复
我把你的sql拷过去用,表创建了,可是数据没插入
hainschen 2011-01-10
  • 打赏
  • 举报
回复
我用的是plsql
hainschen 2011-01-10
  • 打赏
  • 举报
回复
谢谢,两位,我试试
  • 打赏
  • 举报
回复

scott@YPCOST> create table test(TOTAL_NUMBER number);

表已创建。

scott@YPCOST> CREATE OR REPLACE PROCEDURE testProcedure AS
2 BEGIN
3 insert into test values(1);
4 COMMIT;
5 END;
6 /

过程已创建。

scott@YPCOST> exec testProcedure; --你是不是没有调用这个过程啊

PL/SQL 过程已成功完成。

scott@YPCOST> select * from test;

TOTAL_NUMBER
------------
1
gelyon 2011-01-10
  • 打赏
  • 举报
回复

--没问题啊

Connected to:
Oracle Database 10g Release 10.1.0.2.0 - Production

SQL> DROP TABLE test;

Table dropped.

SQL> CREATE TABLE test(id number);

Table created.

SQL>
SQL> CREATE OR REPLACE PROCEDURE testProcedure AS
2 BEGIN
3 insert into test values(1);
4 COMMIT;
5 END;
6 /

Procedure created.

SQL> EXEC testProcedure;

PL/SQL procedure successfully completed.

SQL> SELECT * FROM test;

ID
----------
1

SQL>
hainschen 2011-01-10
  • 打赏
  • 举报
回复
ok,ok,妥了
oO寒枫Oo 2011-01-10
  • 打赏
  • 举报
回复
DROP TABLE test;
CREATE TABLE test(id number);
CREATE OR REPLACE PROCEDURE testProcedure AS
BEGIN
insert into test values(1);
COMMIT;
END;
/
exec testProcedure;
select * from test;
hainschen 2011-01-10
  • 打赏
  • 举报
回复
DROP TABLE test;

CREATE TABLE test(id number);
CREATE OR REPLACE PROCEDURE testProcedure AS
BEGIN
insert into test values(1);
COMMIT;
END;
exec testProcedure;
还是没有记录

17,377

社区成员

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

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