0

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

4

1 回答 1

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;
于 2012-11-10T23:10:35.863 回答