标签:
PL/SQL是编写数据库存储过程的一种过程语言,结合了SQL的数据操作能力和过程化语言的流程控制能力,是SQL的过程化扩展。
|DECLARE 定义的变量,常量等只能在该基本块中使用
定义部分|
|---------变量,常量,游标,异常等
|BEGIN
|SQL语句、PL/SQL的流程控制语句
执行部分|EXCEPTION
|异常处理部分
|END;
(创建存储过程)从一个账户转指定数额的款项到另一个账户中
create procedure transfer(inAccount INT,outAccount INT,amount FLOAT)
as DECLARE
totalDeposit FLOAT;
BEGIN
select total INTO totalDeposit FROM ACCOUNT WHERE ACCOUNTNUM=outAccount;
IF totalDeposit IS NULL THEN
ROLLBACK;
RETURN;
END IF;
IF totalDeposit<amount THEN
ROLLBACK;
RETURN;
END IF;
UPDATE account SET total=total-amount WHERE ACCOUNTNUM=outAccount;
UODATE account SET total=total+amount WHERE ACCOUNTNUM=inAccount;
COMMIT;
END;
(执行存储过程)从账户0101转一万元到0102账户中
CALL Procedure transfer(0101,0102,10000);
标签:
原文地址:http://www.cnblogs.com/daochong/p/5011887.html