请教一个oracle存储过程的问题 - Oracle / 基础和管理
代码如下:
create procedure putdraw
(ID char,money number)
as
vbalance number,vname char;
begin
select Bmoney,name into vbalance,vname from bankcheck
where CIN=ID;
if(vname is null) then
raise_application_error(-20000,'please create a zhanghao');
end if;
update bankcheck set Bmoney=Bmoney+money
where CIN=ID;
end;
/
要实现对bankcheck存钱,如果没有账户就需要重新开新账户,上面出错不知怎么处理,望各位高手指点下
没人,自己顶顶先
if 你加括号了。
vname char;
改成VARCHAR2(5)
建议用merge
merge into tablea
using tableb
on (conditions)
when matched then
update
set ...
when not matched then
insert into
values (...)
关键错误在于你定义的两个变量之间不能用逗号分隔。
SQL code:
SQL> create procedure putdraw
2 (ID char,money number)
3 as
4 vbalance number;
5 vname char;
6 begin
7 select Bmoney,name into vbalance,vname from bankcheck
8 where CIN=ID;
9 if(vname is null) then
10 raise_application_error(-20000,'please create a zhanghao');
11 end if;
12 update bankcheck set Bmoney=Bmoney+money
13 where CIN=ID;
14 end;
15 /
Procedure created
SQL> select * from bankcheck;
BMONEY NAME CIN
---------- -----
相关问答:
各位大哥,帮个忙。
下个Oracle for vista 版本的安装试试
10G和11G的
http://www.oracle.com/technology/software/products/database/index.html
------------------------------------------- ......
--建立一个包以定义一个游标
create or replace package PK_test
as
type cur_test is ref cursor;
end PK_test;
--建立一个过程,通过输入JOBID,返回一个表记录(游标)!
create or replace ......
谢谢唐人老大的指点,谢谢各位高手的指点!
安装10g Enterprise。上网下了MLDN的Oracle视频,跟着视频上的配置走,安装成功了,但是没完整地配置。
点击进入:Database Configuration Assistant
1. 创建数据库;
......
oracle函数如下:
create or replace function P_WEB_GETCITYID
(
p_mobileNumber in VARCHAR2,
p_cityid out NUMBER
) Return NUMBER
IS
p_areacode varc ......
java.sql.SQLException: ORA-04031: unable to allocate 26416 bytes of shared memory ("shared pool","SELECT * from ( SELECT rownu...","Typecheck heap","qry_text : qcpis ......