create
table deom
(
id int primary key identity( 1, 1),
code varchar( 32) ,
txt varchar( 64)
)
insert into deom(code,txt)
select ' 102 ', ' 科学 ' union
select ' 102 ', ' 数学 ' union
select ' 102 ', ' 数学1 ' union
select ' 101 ', ' 美术 ' union
select ' 101 ', ' 体育 ' union
select ' 101 ', ' 体育1 '
create function s_str( @code varchar( 20))
returns varchar( 100)
begin
declare @a varchar( 1000)
set @a = ''
select @a = @a + ' , ' +txt from deom where code = @code
set @a = stuff( @a, 1, 1, '')
return @a
end
go
select code,name =dbo.s_str(code) from deom group by code
(
id int primary key identity( 1, 1),
code varchar( 32) ,
txt varchar( 64)
)
insert into deom(code,txt)
select ' 102 ', ' 科学 ' union
select ' 102 ', ' 数学 ' union
select ' 102 ', ' 数学1 ' union
select ' 101 ', ' 美术 ' union
select ' 101 ', ' 体育 ' union
select ' 101 ', ' 体育1 '
create function s_str( @code varchar( 20))
returns varchar( 100)
begin
declare @a varchar( 1000)
set @a = ''
select @a = @a + ' , ' +txt from deom where code = @code
set @a = stuff( @a, 1, 1, '')
return @a
end
go
select code,name =dbo.s_str(code) from deom group by code
sql 临时表:
表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后sql会自动删除临时表
临时表除了名称前多了#号外,其他操作与普通表完全一样。
tb_Student是已建立好的表,我们通过临时表temp把tb_Student表中的内容复制到tb_lizi表中,可以使用如下的代码实现:
执行后断开sql连接并重新连接(也可以退出sq再l重新启动sql),发现tb_lizi表中的内容tb_Student表中的内容完全一致,实现了复制,同时我们没有用代码删除temp表,但mcf数据库中却没有temp表了,这是因为断开连接时sql自动删除了temp表
create
table #a
(
id int,
name varchar( 50)
)
insert into #a(id,name) values( 1, ' 123 ')
select * from #a
drop table #a
(
id int,
name varchar( 50)
)
insert into #a(id,name) values( 1, ' 123 ')
select * from #a
drop table #a
临时表除了名称前多了#号外,其他操作与普通表完全一样。
tb_Student是已建立好的表,我们通过临时表temp把tb_Student表中的内容复制到tb_lizi表中,可以使用如下的代码实现:
use mcf
SELECT * INTO # temp FROM tb_Student
SELECT * INTO tb_lizi FROM # temp
SELECT * INTO # temp FROM tb_Student
SELECT * INTO tb_lizi FROM # temp
执行后断开sql连接并重新连接(也可以退出sq再l重新启动sql),发现tb_lizi表中的内容tb_Student表中的内容完全一致,实现了复制,同时我们没有用代码删除temp表,但mcf数据库中却没有temp表了,这是因为断开连接时sql自动删除了temp表