-2

编码:

UPDATE
        bid
SET
        bid.salesman_id = s.salesman_id
FROM
        bid
INNER JOIN
        salesman
ON
        bid.salesman = s.display_name
WHERE 
        bid.salesman is not null

当我运行它时,它会产生一个 ora 993 错误 - 说明 sql 语句没有正确结束。

bid 和 salesman 是表名

4

2 回答 2

3

不幸的是,这在 Oracle 中无效。

我认为你必须尝试这样的事情:

UPDATE bid SET bid.salesman_id = (SELECT salesman.salesman_id
                                  FROM salesman
                                  WHERE bid.salesman = salesman.display_name)
WHERE bid.salesman is not null
于 2013-02-25T22:47:52.503 回答
1

一方面,我看不到您在哪里为 salesman 创建别名。你也可以这样做:

Update bid
set bid.salesman_id = 
   (select s.salesman_id 
      from salesman s 
      where bid.salesman = s.display_name)
于 2013-02-25T22:45:20.437 回答