gpt4 book ai didi

sql - 合并 PL/SQL block 中的两个表

转载 作者:行者123 更新时间:2023-12-01 19:42:29 29 4
gpt4 key购买 nike

我有接下来的 3 张 table :

  • Fibonacci(id, value) 前 1000 个斐波那契数。
  • Prime(id, value) 前 2000 个素数。
  • FiboPrime(value, prime),最初表为空。

我必须使用 Fibonacci 表中的素数填充 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”::= .( @ ; 不是空范围字符。谁能帮我解决这个问题?

最佳答案

DECLARE

BEGING

  1. 您不需要关键字DECLARE,因为您没有任何要声明的内容。

  2. 关键字是 BEGINNOT BEGING

  3. USING 子句修改为 SELECT 查询。例如:

使用(从 t1,t2 中选择 t1.col1,t2.col2)

  • 我认为没有任何理由在PL/SQL中这样做。将MERGE 作为 SQL 执行。无需用 BEGIN-END block 包装它。
  • 关于sql - 合并 PL/SQL block 中的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797607/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com