使用MySQL預存程序連續插入多條記錄

來源:互聯網
上載者:User

這些日子做一個項目,需要群發訊息功能,由於群發的使用者ID值不能確定而又需要使用預存程序實現,而MYSQL5.0不支援數組,研究了半天終於搞定了

 

Code
 1-- Procedure "p_Message_MultiInsert" DDL
 2
 3CREATE 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)
22begin
23
24
25
26DECLARE i INT(8) DEFAULT 0;
27
28REPEAT SET i = i + 1;
29
30INSERT 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
54VALUES
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
80UNTIL i >= param_Count
81
82 END REPEAT;
83
84end;
85
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.