用存储过程写一个银行贷款逾期率
时间: 2024-06-08 22:08:50 浏览: 6
假设我们有以下表:
1. 表名:loan
|列名|数据类型|说明|
|---|---|---|
|id|int|贷款编号|
|customer_id|int|客户编号|
|loan_amount|decimal|贷款金额|
|loan_date|datetime|贷款日期|
|loan_duration|int|贷款期限(月)|
|repayment_method|int|还款方式(1-等额本金,2-等额本息)|
|repayment_day|int|每月还款日|
|repayment_amount|decimal|每月还款金额|
|status|int|还款状态(0-未还款,1-已还款)|
|repayment_date|datetime|还款日期|
2. 表名:customer
|列名|数据类型|说明|
|---|---|---|
|id|int|客户编号|
|name|varchar|客户姓名|
|age|int|客户年龄|
我们可以创建以下存储过程来计算银行贷款逾期率:
```
CREATE PROCEDURE calculate_loan_overdue_rate
AS
BEGIN
DECLARE @total_loan_count int
DECLARE @overdue_loan_count int
DECLARE @overdue_rate decimal(18,2)
-- 获取总贷款数
SELECT @total_loan_count = COUNT(*) FROM loan
-- 获取逾期贷款数
SELECT @overdue_loan_count = COUNT(*)
FROM loan
WHERE status = 0 -- 未还款
AND DATEDIFF(day, repayment_date, GETDATE()) > 0 -- 还款日期已过
-- 计算逾期率
IF @total_loan_count = 0
BEGIN
SET @overdue_rate = 0
END
ELSE
BEGIN
SET @overdue_rate = CONVERT(decimal(18,2), @overdue_loan_count) / CONVERT(decimal(18,2), @total_loan_count) * 100
END
-- 输出结果
PRINT '总贷款数:' + CONVERT(varchar(10), @total_loan_count)
PRINT '逾期贷款数:' + CONVERT(varchar(10), @overdue_loan_count)
PRINT '逾期率:' + CONVERT(varchar(10), @overdue_rate) + '%'
END
```
这个存储过程会计算所有未还款且还款日期已过的贷款,然后计算逾期率并输出结果。我们可以在需要的时候调用这个存储过程来获取银行贷款逾期率。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)