0

更新(太字)

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

以下のクエリを試していますが、それを正しくすることができません。注意してください: 私は 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 に答える