繁体   English   中英

存储过程后表的SQL Oracle输出

[英]SQL Oracle output from table after stored procedures

CREATE OR REPLACE PROCEDURE AddInterest 
( bankname VARCHAR, rate DECIMAL) 
AS
BEGIN

UPDATE Deposit SET balance = balance + (balance * rate / 100) 
WHERE branchname = bankname;

**dbms_output.put_line(bankname ||rate );**
END;
/

在我的代码dbms_output中,我想输出从存款帐户中编辑的内容。 请帮忙。

声明TABLE OF Deposit%ROWTYPE的变量UpdatedRecords ,然后在您的UPDATE语句中添加RETURNING BULK COLLECT -clause。

UPDATE ... RETURNING <all fields> BULK COLLECT INTO UpdatedRecords;

执行后, UpdatedRecords变量将是它们在更改前查找时的更新记录的集合。 使用LOOP扫描,然后打印所需的内容。

您也可以降低一个数量executeion后收集场,只是改变RETURNING条款,并给予适当的声明UpdatedRecords变量。

有关RETUNING子句,请参考Oracle文档http://docs.oracle.com/database/121/LNPLS/returninginto_clause.htm#LNPLS01354

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM