Create function example of MySQL user-defined FUNCTION, createfunction
mysql>mysql> delimiter $$mysql>mysql> CREATE FUNCTION myFunction-> (in_string VARCHAR(255),-> in_find_str VARCHAR(20),-> in_repl_str VARCHAR(20))->-> RETURNS VARCHAR(255)-> BEGIN-> DECLARE l_new_string VARCHAR(255);-> DECLARE l_find_pos INT;->-> SET l_find_pos=INSTR(in_string,in_find_str);->-> IF (l_find_pos>0) THEN-> SET l_new_string=INSERT(in_string,l_find_pos,LENGTH(in_find_str),in_repl_str);-> ELSE-> SET l_new_string=in_string;-> END IF;-> RETURN(l_new_string);->-> END$$Query OK, 0 rows affected (0.00 sec)mysql>mysql> delimiter ;mysql> select myFunction('ABC','A','Z');+---------------------------+| myFunction('ABC','A','Z') |+---------------------------+| ZBC |+---------------------------+1 row in set (0.00 sec)mysql> drop function myFunction;Query OK, 0 rows affected (0.00 sec)
How do I write mysql user-defined functions?
Mysql> create function HelloWorld4 ()
-> Returns varchar (20)
-> BEGIN
-> RETURN 'Hello World! ';
-> END;
-> //
Query OK, 0 rows affected (0.00 sec)
Mysql> select HelloWorld4 ()//
+ --------------- +
| HelloWorld4 () |
+ --------------- +
| Hello World! |
+ --------------- +
1 row in set (0.00 sec)
If you have other databases, it will be helpful to look at the reference manual for writing the SQL stored procedure.
Pan.baidu.com/...715080
How does a mysql custom function return multiple values?
If you use a stored procedure, the function cannot return a value. If you want to return multiple values, a table is returned, and the stored procedure can achieve the same effect.
Create procedure 'goodcheck '(
In xxx int
In xxx
...
Out xxx ..
Out xxx char
)
Begin
Select sum (productstockinfo. num) into production from productstockinfo where pro_id = productId;
End;