SELECT oder_money into money FROM view_oder_vip WHERE oder_id=p_oder_id;4
时间: 2024-02-01 15:04:44 浏览: 35
是的,你可以使用 `SELECT INTO` 语句来将查询结果赋值给变量。这个语句的作用是从 `view_oder_vip` 视图中查询到 `oder_id` 等于 `p_oder_id` 的记录,并将 `oder_money` 的值赋给变量 `money`。这个语句可以替代原来的 `money:=(SELECT oder_money FROM view_oder_vip WHERE oder_id=p_oder_id);` 语句。完整的代码如下:
```
CREATE OR REPLACE FUNCTION discount(p_oder_id IN NUMBER) RETURN NUMBER IS
dis_money NUMBER := 0;
money NUMBER :=0;
BEGIN
SELECT oder_money INTO money FROM view_oder_vip WHERE oder_id=p_oder_id;
if money>=100 and money<200 then
discount:=10;
elsif money>=200 and money<300 then
discount:=30;
elsif money>=300 and money<400 then
discount:=50;
elsif money>=400 and money<500 then
discount:=70;
elsif money>=500 then
discount:=0.2*money;
else
discount:=0.05*money;
end if;
DBMS_OUTPUT.PUT_LINE('订单金额为:' || money);
DBMS_OUTPUT.PUT_LINE('折扣金额为:' || discount);
RETURN discount;
END; /
```
执行该函数后,会在输出窗口中先输出订单金额,然后输出折扣金额。