这个是我写的,但是执行后有错误: create or replace procedure select_TA_车票数表2(车次 IN VARCHAR2,发车日期 IN DATE,剩余车票 IN NUMBER,已售车票 OUT NUMBER) as begin select 剩余票数 into 已售车票 from TA_车票数表 where 车次=车次 and 发车日期=发车日期; commit; end select_TA_车票数表2;错误是:
十分感谢你的回答,能帮我看看这个吗?,刚刚接触这些新知识,不是很熟悉。问题如下:想通过存储过程和游标实现查询 TA_车票信息表,计算出所有卖出票数的销售额,多谢赐教。--游标 CREATE OR REPLACE PROCEDURE select_sold_TA_车票信息表(售票时间1 in date,业务员号1 in varchar2, 销售额 out number) AS --declare pnumber number; declare cursor cu_price is select count(票价),票价 from TA_车票信息表 where 售票时间=售票时间1 and 业务员号=业务员号1 and 车票状态='已出票'; pnumber cu_price%rowtype; BEGIN open cu_price; fetch cu_price into pnumber; while cu_price%found loop 销售额:=pnumber*票价; fetch cu_price into 销售额; end loop; close cu_price; END select_sold_TA_车票信息表;
create or replace procedure select_TA_车票数表2(车次 IN VARCHAR2,发车日期 IN DATE,剩余车票 IN NUMBER,已售车票 OUT NUMBER)
as
begin
select 剩余票数 into 已售车票
from TA_车票数表
where 车次=车次 and 发车日期=发车日期;
commit;
end select_TA_车票数表2;错误是:
1、TA_车票数表中存在同一个车次同一日期相同的记录
2、TA_车票数表中没有你所查询的这一天的这个车次
select nvl(max(剩余票数),0) into 已售车票
from TA_车票数表
where 车次=车次 and 发车日期=发车日期;
比如 车次=车次
程序分不清哪个是字段,哪个是参数,这种情况下oracle会都当成是字段来处理,因此这是一个恒等式
十分感谢你的回答,能帮我看看这个吗?,刚刚接触这些新知识,不是很熟悉。问题如下:想通过存储过程和游标实现查询 TA_车票信息表,计算出所有卖出票数的销售额,多谢赐教。--游标
CREATE OR REPLACE PROCEDURE select_sold_TA_车票信息表(售票时间1 in date,业务员号1 in varchar2, 销售额 out number)
AS
--declare pnumber number;
declare cursor cu_price is
select count(票价),票价
from TA_车票信息表
where 售票时间=售票时间1 and 业务员号=业务员号1 and 车票状态='已出票';
pnumber cu_price%rowtype;
BEGIN
open cu_price;
fetch cu_price into pnumber;
while cu_price%found loop
销售额:=pnumber*票价;
fetch cu_price into 销售额;
end loop;
close cu_price;
END select_sold_TA_车票信息表;