注册 登录
编程论坛 SQL Server论坛

在自定义函数中创建表??

zzqqrr 发布于 2011-11-07 17:34, 777 次点击
create function aa
()
returns table
as
begin
create table stu_tb
(
 学号 int primary key,
姓名 varchar(50)
)
end
//这样怎么不行啊
1 回复
#2
tomlei082011-11-08 13:39
为什么要建表呢?你用的表值函数,返回的就是一张表了。给你个例子:

create function [dbo].[string_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(AfterSplit varchar(100))
as
begin
 declare @i int
 set @SourceSql=rtrim(ltrim(@SourceSql))
 set @i=charindex(@StrSeprate,@SourceSql)
 while @i>=1
 begin
  insert @temp values(left(@SourceSql,@i-1))
  set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
  set @i=charindex(@StrSeprate,@SourceSql)
 end
 if @SourceSql<>''
    insert @temp values(@SourceSql)
 return
end
1