PL/SQL存储过程
我写了一个存储过程,createprocedurep_1asselectTPB.POLICY_ID,COUNT(TPB.ITEM_ID),SUM(TM.PREM)FROM...
我写了一个存储过程,
create procedure p_1
as
select TPB.POLICY_ID,COUNT(TPB.ITEM_ID),SUM(TM.PREM)
FROM TPB
JOIN TM
ON TPB.POLICY_ID=TM.POLICY_ID
where CATEGORY_ID=1
GROUP BY TPB.POLICY_ID,TPB.ITEM_ID,TM.PREM
是在PL/SQL里面写的,用的ORACLE数据库,但是运行不了。
如果用EXEC p_1运行的话会提示错误声明的SQL语句无效。
请哪位高手指点下哪里出错了?
如果是存储过程写得不对,那能不能请哪位帮我看下哪里不对了?应该怎么写呢? 展开
create procedure p_1
as
select TPB.POLICY_ID,COUNT(TPB.ITEM_ID),SUM(TM.PREM)
FROM TPB
JOIN TM
ON TPB.POLICY_ID=TM.POLICY_ID
where CATEGORY_ID=1
GROUP BY TPB.POLICY_ID,TPB.ITEM_ID,TM.PREM
是在PL/SQL里面写的,用的ORACLE数据库,但是运行不了。
如果用EXEC p_1运行的话会提示错误声明的SQL语句无效。
请哪位高手指点下哪里出错了?
如果是存储过程写得不对,那能不能请哪位帮我看下哪里不对了?应该怎么写呢? 展开
2个回答
展开全部
你对着存储过程的语法再写吧
这个过程的基本语法就不对
create or replace procedure p_1 is
begin
for i in (select TPB.POLICY_ID a,COUNT(TPB.ITEM_ID) b,SUM(TM.PREM) c FROM TPB
JOIN TM ON TPB.POLICY_ID=TM.POLICY_ID
where CATEGORY_ID=1
GROUP BY TPB.POLICY_ID) loop
dbms_output.put_line(i.a);
dbms_output.put_line(i.b);
dbms_output.put_line(i.c);
end loop;
end p_1;
这个过程的基本语法就不对
create or replace procedure p_1 is
begin
for i in (select TPB.POLICY_ID a,COUNT(TPB.ITEM_ID) b,SUM(TM.PREM) c FROM TPB
JOIN TM ON TPB.POLICY_ID=TM.POLICY_ID
where CATEGORY_ID=1
GROUP BY TPB.POLICY_ID) loop
dbms_output.put_line(i.a);
dbms_output.put_line(i.b);
dbms_output.put_line(i.c);
end loop;
end p_1;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询