假如表A中有10个字段 我现在想去取出5个字段的内容放入表B中(假设 表B中有7个字段)
一下是我写的存储过程,会报错 错误是列数不一致,
我想问的是 必须A表中的字段个数和B表中的一样度才可以插入吗?要是不一样多,这个业务该怎么实现?求大神指点!!谢谢 在线等!!!谢谢各位了!!
create procedure mysp7 @trantype varchar(20)
AS
DECLARE @error varchar(20)
DECLARE @TranName VARCHAR(20)
SELECT @TranName = 'MyTransaction'
BEGIN TRANSACTION @TranName
if @trantype = ''
set @error = '1'
if @trantype = 'begin' begin
select a.ename,a.age,a.password,a.username into #temp2 from 表A as a
insert 表B
select * from #temp2
set @error = '0'
endif @error = '0'
COMMIT TRANSACTION MyTransaction
if @error = '1'
rollback transaction
一下是我写的存储过程,会报错 错误是列数不一致,
我想问的是 必须A表中的字段个数和B表中的一样度才可以插入吗?要是不一样多,这个业务该怎么实现?求大神指点!!谢谢 在线等!!!谢谢各位了!!
create procedure mysp7 @trantype varchar(20)
AS
DECLARE @error varchar(20)
DECLARE @TranName VARCHAR(20)
SELECT @TranName = 'MyTransaction'
BEGIN TRANSACTION @TranName
if @trantype = ''
set @error = '1'
if @trantype = 'begin' begin
select a.ename,a.age,a.password,a.username into #temp2 from 表A as a
insert 表B
select * from #temp2
set @error = '0'
endif @error = '0'
COMMIT TRANSACTION MyTransaction
if @error = '1'
rollback transaction
insert into b(id,name,value)
select id,name,value from a
select * from #temp2 insert into 表B (字段1,字段2,..字段N)
select (字段1、字段2...字段N) from #temp2
这样最稳妥
select ename,age,password,username from 表A
1,2,3,4,5代表字段
這樣應該ok