用户是system,有足够的权限
--Create table weekwinnerList
--(
-- users_id INTEGER not null PRIMARY KEY,
-- phone_number varchar(11),
-- add_points int,
-- week_order int,
-- area varchar(5),
-- audit_result varchar(10),
-- res varchar(500),
-- answer_time date
--);alter session set nls_date_format = 'yyyy-mm-dd';Create or Replace Procedure timeTest
(t1 in char(10),t2 in char(10))
as
begin
OPEN CUR FOR
select users_id
from weekwinnerlist ,phone_number ,add_points
where (answer_time between To_Date(t1,'YYYY-MM-DD') and To_Date(t2,'YYYY-MM-DD'));
end timeTest
报错如下:BEGIN timeTest('2009-04-01','2009-04-30'); END; *第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00905: 对象 SYSTEM.TIMETEST 无效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
--Create table weekwinnerList
--(
-- users_id INTEGER not null PRIMARY KEY,
-- phone_number varchar(11),
-- add_points int,
-- week_order int,
-- area varchar(5),
-- audit_result varchar(10),
-- res varchar(500),
-- answer_time date
--);alter session set nls_date_format = 'yyyy-mm-dd';Create or Replace Procedure timeTest
(t1 in char(10),t2 in char(10))
as
begin
OPEN CUR FOR
select users_id
from weekwinnerlist ,phone_number ,add_points
where (answer_time between To_Date(t1,'YYYY-MM-DD') and To_Date(t2,'YYYY-MM-DD'));
end timeTest
报错如下:BEGIN timeTest('2009-04-01','2009-04-30'); END; *第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00905: 对象 SYSTEM.TIMETEST 无效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
解决方案 »
- 为什么erwin报错ora00942表或视图不存在。。
- 使用全局临时表导致sql insert执行很慢,求高人指点~~~
- 请问哪里有卖正版TOAD的
- 这个SQL不用别名怎么写,有没有类似MSSql中的[]呀,高分(急)
- 不安装Oracle9i客户端软件,编译程序如何连接服务器上的Oracle数据库???
- imp 从A用户含有主键导入b 用户出错?如何处理???救命。。。
- 有无一种工具可将SQL SERVER 的存储过程转换为 Oracle的?
- 古老的问题:应用程序访问数据库,连接数据库用的登陆名和密码放在哪里?
- 一个表中建立多个字段的索引,是否能提高查询速度?
- win8 64位,在安装oracle12c上的时候报错:database configuration Assistant:错误
- 如何将sqlerver数据库导入oracle中
- 解释代码
from weekwinnerlist,phone_number ,add_points
此处为 发帖出错 phone_number ,add_points这是字段
-- 编译你的存储过程show err
有时,这个procedure依赖的对象已经改变了,比如表删除了,表结构改了,以前可以编译的,现在也就编译不了了,这个procedure也就无效了,调用的时候也就出错了。像你这里描述的,procedure创建都有编译错误,怎么能正确执行了。你可以在编译一下,如果提示错误的话。运行SQL>show errors;就可以看到错误的提示信息了。
2/12 PLS-00103: 出现符号 "("在需要下列之一时: := ) , default varying character large 符号 ":=" 被替换为 "(" 后继续。
2/27 PLS-00103: 出现符号 "("在需要下列之一时: := ) , default varying character large 符号 ":=" 被替换为 "(" 后继续。
是不是在oracle中从存储过程中select到的记录必须保存到变量或者表里面啊,那这样是不是很麻烦呢,因为在存储过程中直接select的话 show error提示 缺少into做如下更改,没有报错
先建一张与之一样的的表weekwinnerList2Create or Replace Procedure timeTest
(t1 in char,t2 in char)
as
begin
insert into weekwinnerList2 select *
from weekwinnerlist1
where answer_time between To_Date(t1,'YYYY-MM-DD')
and To_Date(t2,'YYYY-MM-DD');
end timeTest;