我的存储过程到底那里错了?急!!!
我在SQL PLUS中建立存储过程,SQL PLUS报告编译错误,我的books表结构如下:
名称 是否为空? 类型
---------------------------- -------- -------------
ISBN NOT NULL VARCHAR2(10)
TITLE VARCHAR2(30)
PUBDATE DATE
PUBID NUMBER(2)
COST NUMBER(5,2)
RETAIL NUMBER(5,2)
CATEGORY VARCHAR2(12)
我建立存储过程的语句如下:
create or replace procedure find_Books(id in varchar2(10)) is
begin
update books
set title='qiu wei ying'
where isbn=id
end find_Books;
发生编译错误如下:
警告:创建的过程带有编译错误。
问题点数:50、回复次数:6Top
1 楼UandM(NULL)回复于 2005-08-02 12:29:20 得分 10
变量不能带大小
create or replace procedure find_Books(id in varchar2)
is
Top
2 楼acmly(Paolo)回复于 2005-08-02 12:30:14 得分 10
用show error看一下
我怀疑是找不到表吧,你试试把相应的用户名加上,比方说books表在test用户下,就写test.books
试试看吧Top
3 楼acmly(Paolo)回复于 2005-08-02 12:30:48 得分 0
啊?原来是这样,还好我的存储过程都是不写的
学习了,多谢!Top
4 楼bzszp(SongZip)回复于 2005-08-02 12:31:19 得分 20
create or replace procedure find_Books(id in varchar2)
is
begin
update books
set title='qiu wei ying'
where isbn=id;
end find_Books;
/Top
5 楼whao()回复于 2005-08-02 12:43:11 得分 10
由以下原因引起:
1.数据类型不指定指定长度;
2.每条完整的Sql语句要在末尾加“;”。Top
6 楼qiujin(邱军)回复于 2005-08-02 12:59:46 得分 0
问题解决,谢谢!Top




