sql语句怎么从一个表复制到另一个表中

 我来答
凭希荣梁罗
2019-03-14 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:701万
展开全部
由于表111和222
两张表的结构不同,要将表222复制到表111里面,编写一个能成功运行的sql语句须要考虑很多因素:
1)字段数要匹配。插入和被插入的字段数要相同,例如表111
只5个字段而表222却有6个
字段,全部复制就会失败;
2)对应字段的类型要相同或者兼容。假如表111
字段a的类型为数值,表222
字段f的类型为文本,当字段f下有不兼容的值如"a3“插入字段a时系统就会报错;
3)被插入的字段是否允许空值。例如表111
字段b不允许空值且未设定默认值,当碰到表222
字段f下有空值插入表111
字段a时,系统就会报错;
4)插入的值必须符合被插入字段的有效性规则。例如表111
字段b只允许插入1到1000之间的整数,而当表222
的对应字段含有不在该范围的记录时,插入就会失败;
5)当然还有其他很多因素,比如字段的大小是否足够容纳被插入的值否则可能遭受截断、触发器限制、运行权限等等这里不再一一列举。
如果你能提供那两张表的详细结构、有效性规则,我可以为你编写出正确的sql代码
阿秀梅仁壬
2020-03-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:806万
展开全部
不同的数据库语法不同(SQL
Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况,分别回答:
SQL
Server中,如果目标表存在:
1
insert
into
目标表
select
*
from
原表;
SQL
Server中,,如果目标表不存在:
1
select
*
into
目标表
from
原表;
Oracle中,如果目标表存在:
1
2
insert
into
目标表
select
*
from
原表;
commit;
Oracle中,如果目标表不存在:
1
create
table
目标表
as
select
*
from
原表;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式