繁体   English   中英

MySql-创建存储函数并调用

[英]MySql - Creating Stored Function and Calling It

我需要帮助来创建此特定的存储函数,并使用单个select语句调用它。 以下是我的答案的问题。 我认为我的第一部分讲对了,但我不确定。 有什么建议/建议吗? 对于第二个问题(b部分),我错误地调用了该函数,并且无法使它出现在问题/ b部分中指定的位置。 有什么建议吗? 我非常感谢您的协助。

A部分)创建一个名为get_customer_balance的存储函数,该函数将通过传递会员编号从会员表中返回客户的余额。

我的答案:

DELIMITER $$
CREATE FUNCTION get_customer_balance (membershipNo INT) 
RETURNS dec 
DETERMINISTIC
BEGIN
DECLARE CustBal dec;
SET CustBal = 0;
SELECT balance INTO CustBal  
FROM membership
WHERE membership_id = membershipNo;
RETURN CustBal;
END$$
DELIMITER ; 

B部分问题

会员表。 这是问题的原始表格(供参考指南)

create table membership
(   membership_id int primary key,
    balance decimal(10,2) not null
);

insert membership(membership_id,balance) values (1,1),(102,11),(103,109.25);

select membership_id,format(get_customer_balance(membership_id),2) as theBalance 
from membership 
where membership_id=102;

+---------------+------------+
| membership_id | theBalance |
+---------------+------------+
|           102 | 11.00      |
+---------------+------------+

Mysql手册页上的创建过程和函数

调用用户定义函数(UDF)就像调用任何内置函数一样。 即使涉及对具有别名的表的联接(上面没有显示)。

一个更好的例子是其中有两个表的例子。 membership表和需要汇总的transaction表。 但这不是您的架构。

你想看到这样的事情吗?

暂无
暂无

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

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