问题描述
这个任务的最初意图是做这样的事情:
ALTER TABLE BUGS
ADD(SAMPLE_COL AS
--use values from BUGS and other tables to decide the value of SAMPLE_COL
)
似乎不允许使用不同的表来创建计算列,所以我尝试创建一个函数(在当前项目设置中,创建计算列比创建 VIEW 要简单得多并更改应用程序中的所有相关部分,因此我想避免回答我不使用 VIEW 的原因。)
我已成功执行以下语句,但未看到添加到 SAMPLE_COL
列的任何值。我错过了什么明显的东西吗?
CREATE FUNCTION RETURN_SAMPLE_FUNC(BUG_ID INTEGER,BUG_STATUS NVARCHAR(64))
RETURNS SAMPLE_COL INTEGER --I tried to add length to INTEGER too,but then it ran into an error
AS
BEGIN
DECLARE SAMPLE_COL INTEGER;
--this is sample logic.
IF BUG_STATUS IN ('REPORTER ACTION','RESOLVED','MERGE PENDING') THEN
SAMPLE_COL := 0;
ELSE
SAMPLE_COL := 1;
END IF;
END
ALTER TABLE BUGS
ADD(
SAMPLE_COL AS RETURN_SAMPLE_FUNC(BUG_ID,BUG_STATUS)
)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)