在mySQL中,如何定义一行属性的自定义函数?

Posted

技术标签:

【中文标题】在mySQL中,如何定义一行属性的自定义函数?【英文标题】:In mySQL, how to define a user-defined function of a row of attributes? 【发布时间】:2012-11-10 23:06:43 【问题描述】:

假设有一个模式R(a,b),我的目标模式是S(a,b,foo(a,b)),其中foo应该是自定义函数。有没有实现这个目标的好方法?像 S = 从 R 中选择 a, b, foo(a, b)。

【问题讨论】:

【参考方案1】:

您完全可以这样做,使用CREATE FUNCTION,然后(如有必要)使用CREATE VIEW

DELIMITER ;;
CREATE FUNCTION foo ... ;
DELIMITER ;

CREATE VIEW S AS SELECT a, b, foo(a, b) FROM R;

或者,要创建S 的快照,请使用CREATE TABLE ... SELECT

CREATE TABLE S SELECT a, b, foo(a, b) FROM R;

当然,如果您不需要在其他任何地方使用foo(),您也许可以简单地在SELECT 语句中表达它的值(但这似乎太简单了,不能成为问题):

SELECT a, b, a+b FROM R;

【讨论】:

以上是关于在mySQL中,如何定义一行属性的自定义函数?的主要内容,如果未能解决你的问题,请参考以下文章

sql server 中的自定义函数应该如何调用?

LayUi创建一个自定义通用模块

android:如何使用属性集构造函数实例化我的自定义视图

Spark(十八)SparkSQL的自定义函数UDF

Spark学习之路 (十九)SparkSQL的自定义函数UDF

Spark学习之路 (十九)SparkSQL的自定义函数UDF[转]