0

更新(粗体字母)

employee (empid,ename,edept,edetails,sal,deskno) 

我正在尝试下面提到的查询,但无法使其正确,请帮助我注意:我在 oracle pl/sql 中很幼稚,如果您在 oracle pl/sql 中将其视为简单的事情,请不要介意

INSERT INTO employee
SELECT Replace(e.empid, 'id_', 'new_id_')     AS empid,
       Replace(e.ename, 'name_', 'new_name_') AS ename
FROM   employee e
WHERE  e.empid = 1;

请告诉我,是否可以实现这一点(员工表总共有 6 列)

4

1 回答 1

0

你可能想要:

INSERT INTO employee (empid, ename)
SELECT Replace(e.empid, 'id_', 'new_id_')     AS empid,
       Replace(e.ename, 'name_', 'new_name_') AS ename
FROM   employee e
WHERE  e.empid = 1;

请注意第一行的显式列名以及 和 的new_id_引号new_name_。如果没有明确的列名,Oracle 期望查询返回 15 列。

于 2012-08-20T09:24:03.820 回答