有没有办法将一行作为参数传递给MySQL函数?

问题描述:

大约什么,我想实现:有没有办法将一行作为参数传递给MySQL函数?

CREATE FUNCTION(row Table) RETURNS tinyint(1) 
BEGIN 
    RETURN (row.col1 > 2 OR row.col2 IS NULL) 
END; 
+0

嗯,你的逻辑只使用两列。将这些作为论据。 –

+1

这是一个简单的例子,我最初的目标会更复杂。在我的查询中使用它并在没有代码部署的情况下改变它会很好。但是我真正担心的是编写查询时不会一次又一次地写同样的条件。 –

在MySQL 5.7,会有一个动态列,可能被添加到表本身。它与在MySQL 5.7中添加的json解析函数一起使用。

来源:https://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-table-generated-columns