从select中选择oracle

时间:2012-08-20 09:02:46

标签: sql oracle

更新(粗体字母)

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列)

1 个答案:

答案 0 :(得分: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列。