- 论坛徽章:
- 0
|
- mysql> use test;
- Database changed
- mysql> drop procedure if exists sp1;
- Query OK, 0 rows affected (0.00 sec)
- #create procedure using prepare
- mysql> delimiter //
- mysql> create procedure sp1(str varchar(1000))
- -> begin
- -> set @p=concat('select greatest(',str,')');
- -> PREPARE stmt1 FROM @p;
- -> EXECUTE stmt1 ;
- -> DEALLOCATE PREPARE stmt1;
- -> end;
- -> //
- Query OK, 0 rows affected (0.00 sec)
- mysql> delimiter ;
- #testing procedure,parameter count is arbitrary
- mysql> call sp1('1,2,3,40,5,4000');
- +---------------------------+
- | greatest(1,2,3,40,5,4000) |
- +---------------------------+
- | 4000 |
- +---------------------------+
- 1 row in set (0.00 sec)
- Query OK, 0 rows affected (0.01 sec)
- mysql> call sp1('1,2,3,40,5');
- +----------------------+
- | greatest(1,2,3,40,5) |
- +----------------------+
- | 40 |
- +----------------------+
- 1 row in set (0.00 sec)
- Query OK, 0 rows affected (0.01 sec)
|
|