【发布时间】:2015-03-01 18:51:31
【问题描述】:
我有接下来的 3 张桌子:
- Fibonacci(id, value) 前 1000 个斐波那契数。
- Prime(id, value) 前 2000 个素数。
- FiboPrime(value, prime),最初表格是空的。
我必须用斐波那契表中的素数填充 FiboPrime 表(prime=1 => 数字是素数,否则数字不是素数。)
我必须使用 MERGE 语句,这是尝试:
DECLARE
BEGING
MERGE INTO FiboPrime fp
USING fibonacci f, prime p
ON (f.value=p.value)
WHEN MATCHED THEN
UPDATE SET
fp.value=f.value,
fp.prime=1;
WHEN NOT MATCHED THEN
INSERT VALUES(f.value,0);
END;
我收到下一个错误:在预期以下情况之一时出现符号“INTO”: := .( @ ; 不是空范围字符。谁能帮我解决?
【问题讨论】:
-
这里多了一个分号:
fp.prime=1;。整个MERGE应该只有一个分号。
标签: sql oracle plsql sql-merge