1: DROP TABLE IF EXISTS alarm;
2: CREATE TABLE alarm ( id int(11) NOT NULL auto_increment, name varchar(255) default NULL,PRIMARY KEY (id));
3:
4: INSERT INTO alarm (name) aa');
5: INSERT INTO alarm (name) bb');
6:
7: DROP procedure if exists statalarm;
8: delimiter //
9: create procedure statalarm()
10: begin
11: SET @id = '1,2';
12:
13: SET @sql = 'select * from alarm where id IN (?)';
14: PREPARE stmt FROM @sql;
15: /*
16: 娉ㄦ剰 EXECUTE 鐨勬渶緇堣鍙ユ槸錛歴elect * from alarm where id IN ('1,2');
17: 鑰屼笉鏄?select * from alarm where id IN (1,2);
18: 榪欐槸鍥犱負濡傛灉鐢ㄦ埛鍙橀噺鐨勫兼槸瀛楃涓詫紝鍦‥XECUTE鏃?浼氳嚜鍔ㄧ殑鍦ㄥ彉閲忕殑鍊煎墠鍚庡姞涓婂紩鍙?
19: */
20: EXECUTE stmt USING @id;
21: DEALLOCATE PREPARE stmt;
22: /*
23: 濡傛灉鎯寵 緇勬垚select * from alarm where id IN (1,2);鍙互浣跨敤涓嬮潰鐨勮鍙?
24: */
25: SET @sql = concat('select * from alarm where id IN (',@id,')');
26: PREPARE stmt FROM @sql;
27: EXECUTE stmt ;
28: DEALLOCATE PREPARE stmt;
29:
30: end;//
31: delimiter ;

]]>