Oracle 新手编写-存储过程 报错:Procedure created with compilation errors.及PLS-00905: object V3XUSER1.PRO_STU_AD

本文介绍了Oracle新手在编写存储过程时遇到的'Procedure created with compilation errors.'警告以及PLS-00905错误。问题出现在存储过程的参数定义上,不能为参数指定数据大小或精度,例如varchar2(30)。修正方法是将参数类型改为不带精度的varchar2。
摘要由CSDN通过智能技术生成

1、存储过程定义

存储过程是被命名的 PL/SQL 块,存储于数据库中,是数据库对象的一种。应用程序可以调用存储过程,执行相应的逻辑。
存储过程与存储函数都可以封装一定的业务逻辑并返回结果,存在区别如下:
1、存储函数中有返回值,且必须返回;而存储过程没有返回值,可以通过传出参数返回多个值。
2、存储函数可以在 select 语句中直接使用,而存储过程不能。过程多数是被应用程序所调用。
3、存储函数一般都是封装一个查询结果,而存储过程一般都封装一段事务代码。

CREATE [ OR REPLACE ] PROCEDURE 存储过程名称
(参数名 类型, 参数名 类型, 参数名 类型)
IS|AS
变量声明部分;
BEGIN
逻辑部分
[EXCEPTION
异常处理部分]
END;

2、第一次创建存储过程(有问题的):

//创建(不带传出参数的)存储过程:pro_stu_add
create or replace procedure pro_stu_add(
t_id number;
t_name varchar2(30);
t_cj number;
t_sub varchar2(30);
);
is

begin
insert into TB_STUDENT values(t_id,t_name,t_cj,t_sub);
commit;
end;

然后就提示:Warning: Procedure created with compilation errors. 

翻译过来应该是:创建的过程带有编译的错误。

调试报错:PLS-00905:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值