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

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
begin23

24

25

26
DECLARE i INT(8) DEFAULT 0;27

28
REPEAT SET i = i + 1;29

30
INSERT t_Message31

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_Content51

52
)53

54
VALUES55

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_Content77

78
);79

80
UNTIL i >= param_Count81

82
END REPEAT;83

84
end;85
