Oracle 基础问题,高手求解

我最近写了一条insertinto语句,发现个问题,求解我用的是Oracle11g,见insertinto语句insertintokkk(userid,ename,dep... 我最近写了一条insert into 语句,发现个问题,求解我用的是Oracle 11g ,见insert into 语句 insert into kkk (userid,ename,deptno) values (select empno, ename, deptno from emp where deptno=10); ORA-00936: 缺失表达式我认为这应该是对的, insert into kkk (userid,ename,deptno) select empno, ename, deptno from emp where deptno=10; 我认为这是错的,可是却是对的。为什么这里不需要values?求解? 展开
 我来答
hr_s_pre
2013-08-05 · 超过31用户采纳过TA的回答
知道答主
回答量:87
采纳率:100%
帮助的人:75.2万
展开全部
首先第一个insert语句:
insert into kkk (userid,ename,deptno) values (select empno, ename, deptno from emp where deptno=10);
这个语句有错误是因为values后面的这个Select语句返回时可能返回多行,insert语句是一行一行向数据库中插入,所以会报错。

而第二个insert语句:
insert into kkk (userid,ename,deptno) select empno, ename, deptno from emp where deptno=10;
语法是这么规定的。
micro0369
2013-08-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4049万
展开全部
这是固定的语法格式,用select 从其它表取数,就不需要values。一次可以处理多行值。
values用在,一次一行值的情况(好像不绝对,有的数据库支持同时指定多行)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式