这个问题在这里已经有答案了:
在mysql存储函数中将列名作为参数传递(3个答案)
在mysql存储过程中作为参数传递fieldname(1个答案)
两年前关门了。
我在mysql中创建了下面的用户定义函数,它需要两个输入:列名和属性值。
CREATE FUNCTION hello123 (MAXRATEN CHAR(20),i int)
-> RETURNS VARCHAR(20)
-> NOT DETERMINISTIC
-> BEGIN
-> DECLARE select_var VARCHAR(20);
-> SET select_var = (SELECT MAXRATEN FROM ADM_METERQUEUE WHERE meterqueueid = i);
-> RETURN select_var;
-> END
Query OK, 0 rows affected (0.19 sec)
MySQL [usertest]> desc ADM_METERQUEUE 'maxrate05';
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| maxrate05 | varchar(10) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
我传递的参数如下,我得到下面的错误,虽然属性在表中。
MySQL [usertest]> select hello123(maxrate05,38);
ERROR 1054 (42S22): Unknown column 'maxrate05' in 'field list'
暂无答案!
目前还没有任何答案,快来回答吧!