22,209
社区成员
发帖
与我相关
我的任务
分享
create table "Test"."dbo"."testTable"(
"id" int identity not null,
"languages" int not null,
"name" varchar(50) not null,
"description" varchar(50) not null,
constraint "PK_testTable" primary key ("id")
)
go
create unique index "PK_testTable" on "Test"."dbo"."testTable"("id")
go
id lang name description
1 1 name01 desc01
2 1 name02 desc02
3 1 name03 desc03
4 1 name04 desc04
5 1 name05 desc05
id lang name description
1 1 name01 desc01
2 1 name02 desc02
3 1 name03 desc03
4 1 name04 desc04
5 1 name05 desc05
6 2 name01 desc01
7 2 name02 desc02
8 2 name03 desc03
9 2 name04 desc04
10 2 name05 desc05
insert into table_name
select 2, [name], [description]
from table_name
where lang = 1
order by id
insert into testtable
select 2,name,description
from testtable t
where lang = 1
declare @test table (id int,lang int,name varchar(6),description varchar(6))
insert into @test
select 1,1,'name01','desc01' union all
select 2,1,'name02','desc02' union all
select 3,1,'name03','desc03' union all
select 4,1,'name04','desc04' union all
select 5,1,'name05','desc05'
INSERT INTO @test
SELECT id,2,name,description
FROM @test WHERE lang=1
SELECT * FROM @test
/*
id lang name description
----------- ----------- ------ -----------
1 1 name01 desc01
2 1 name02 desc02
3 1 name03 desc03
4 1 name04 desc04
5 1 name05 desc05
1 2 name01 desc01
2 2 name02 desc02
3 2 name03 desc03
4 2 name04 desc04
5 2 name05 desc05
*/
insert into tb
select 2,name,description from tb
insert into testtable
select (case when lang = 1 then 2 else lang end)lang,name,description
from testtable t