这些日子做一个项目,需要群发消息功能,由于群发的用户ID值不能确定而又需要使用存储过程实现,而MYSQL5.0不支持数组,研究了半天终于搞定了

Code
1
-- Procedure "p_Message_MultiInsert" DDL
2
3
CREATE PROCEDURE `p_Message_MultiInsert`(param_State smallint,
4
5
param_Type smallint,
6
7
param_SMS smallint,
8
9
param_SenderID int,
10
11
param_SendTime datetime,
12
13
param_ReceiveTime datetime,
14
15
param_ReceiverIDS varchar(1000),
16
17
param_Title varchar(60),
18
19
param_Content varchar(4000),
20
21
param_Count int)
22
begin
23
24
25
26
DECLARE i INT(8) DEFAULT 0;
27
28
REPEAT SET i = i + 1;
29
30
INSERT t_Message
31
32
(
33
34
f_State,
35
36
f_Type,
37
38
f_SMS,
39
40
f_SenderID,
41
42
f_SendTime,
43
44
f_ReceiveTime,
45
46
f_ReceiverID,
47
48
f_Title,
49
50
f_Content
51
52
)
53
54
VALUES
55
56
57
58
(
59
60
param_State,
61
62
param_Type,
63
64
param_SMS,
65
66
param_SenderID,
67
68
param_SendTime,
69
70
param_ReceiveTime,
71
72
SUBSTRING_INDEX(SUBSTRING_INDEX(param_ReceiverIDS, ',', i), ',', -1),
73
74
param_Title,
75
76
param_Content
77
78
);
79
80
UNTIL i >= param_Count
81
82
END REPEAT;
83
84
end;
85
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步