这样简单的sql语句该怎么写,oracle的我会sql没接触过不是太懂求指教
select*fromTB1whereid='A'的数据会出来N条现在想把查询出来的信息插入另外一个一表TB2,id变成‘B’number字段的值变成原来的80%,这个存...
select * from TB1 where id='A' 的数据会出来N条 现在想把查询出来的信息 插入另外一个一表TB2 , id 变成‘B’
number 字段的值变成 原来的 80%, 这个存储过程该怎么写。(查出来的信息有好多条肯定要用到循环的) 展开
number 字段的值变成 原来的 80%, 这个存储过程该怎么写。(查出来的信息有好多条肯定要用到循环的) 展开
3个回答
展开全部
假设你原表的字段为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'
那么你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'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-16 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数: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' ;
insert into tb2(column list) select 'b' as id ... number*0.8 as num from tb1 where id='A' ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询