建表
CREATE TABLE TYIntegralRule(
ID NUMBER NOT NULL PRIMARY KEY, --编号
Rule VARCHAR2(50) NOT NULL, --规则描述
RuleNum INT NOT NULL, --增加的积分数量
MaxPrice INT, --价格范围(高)
MinPrice INT, --价格范围(低)
MaxLog INT --每天计算积分的最大登陆次数
);create sequence seq_TYIntegralRule increment by 1 start with 1 nomaxvalue nocache;--建立序列insert into TYIntegralRule(Id,Rule,Rulenum,maxlog) values(seq_TYIntegralRule.Nextval,'登陆',1,3);当只是查询的时候,select * from TYIntegralRule where Rule = '登陆'; 可以查询出该条数据。但是当建立存储过程的时候
create or replace procedure Login1(loginIntegral out int)
as
begin
select rulenum into loginIntegral from TYIntegralRule where Rule = '登陆';
EXCEPTION
WHEN OTHERS THEN
DBMS_output.PUT_LINE(SQLERRM);
end;
会报 未找到数据 异常。哪位大哥帮忙看下吧,我刚开始玩oracle实际的存储过程太长,就贴个短的。。问题就出在这里。
CREATE TABLE TYIntegralRule(
ID NUMBER NOT NULL PRIMARY KEY, --编号
Rule VARCHAR2(50) NOT NULL, --规则描述
RuleNum INT NOT NULL, --增加的积分数量
MaxPrice INT, --价格范围(高)
MinPrice INT, --价格范围(低)
MaxLog INT --每天计算积分的最大登陆次数
);create sequence seq_TYIntegralRule increment by 1 start with 1 nomaxvalue nocache;--建立序列insert into TYIntegralRule(Id,Rule,Rulenum,maxlog) values(seq_TYIntegralRule.Nextval,'登陆',1,3);当只是查询的时候,select * from TYIntegralRule where Rule = '登陆'; 可以查询出该条数据。但是当建立存储过程的时候
create or replace procedure Login1(loginIntegral out int)
as
begin
select rulenum into loginIntegral from TYIntegralRule where Rule = '登陆';
EXCEPTION
WHEN OTHERS THEN
DBMS_output.PUT_LINE(SQLERRM);
end;
会报 未找到数据 异常。哪位大哥帮忙看下吧,我刚开始玩oracle实际的存储过程太长,就贴个短的。。问题就出在这里。
另外
select rulenum into loginIntegral from TYIntegralRule where Rule = '登陆';
要考虑是不会有一条以上的数据,如果有的话,也会报错