假设有一个模式 R(a,b),我的目标模式是 S(a,b,foo(a,b)),其中 foo 应该是自定义函数。有没有实现这个目标的好方法?比如 S = SELECT a, b, foo(a, b) FROM R。
问问题
120 次
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 回答