这样简单的sql语句该怎么写,oracle的我会sql没接触过不是太懂求指教

select*fromTB1whereid='A'的数据会出来N条现在想把查询出来的信息插入另外一个一表TB2,id变成‘B’number字段的值变成原来的80%,这个存... select * from TB1 where id='A' 的数据会出来N条 现在想把查询出来的信息 插入另外一个一表TB2 , id 变成‘B’
number 字段的值变成 原来的 80%, 这个存储过程该怎么写。(查出来的信息有好多条肯定要用到循环的)
展开
 我来答
longrenyingdc8ecb1
2014-12-16 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2368万
展开全部
假设你原表的字段为id number XX
那么你sql可以写为:
insert into TB2 select ‘B’,0.8*number,xx from TB1 where id='A'
有一点需要注意,TB2的字段顺序要与你查的结果的字段顺序一致。
比如TB2的字段顺序是number,id XX
那么你的语句最好写为
insert into TB2 select 0.8*number,'B',xx from TB1 where id='A';
如果TB2字段比TB1多,假设为id,number,XX,YY
那么写法为
insert into TB2(id,number,xx) select ‘B’,0.8*number,xx from TB1 where id='A'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
renfengjun1986
2014-12-16 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
采纳数:925 获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:

向TA提问 私信TA
展开全部
你需要自己把tb1以及tb2表中的column一一对应的列出来。
insert into tb2(column list) select 'b' as id ... number*0.8 as num from tb1 where id='A' ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7b27965
2014-12-16 · TA获得超过170个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:248万
展开全部
SQL SERVER
create procedure t_test
as
begin
begin try
begin tran

insert into TB2(id,number)
SELECT 'B' as id,number*0.8 from TB1 where id='A'

commit tran

end try
begin catch
rollback tran

end catch
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式