declare @tablename varchar(50)
--得到要建立的物理表的名称
select @tablename=code from recordformtemphead where id=@modleid
--判断是文件的还是档案的表
if (select rcdtype from recordcatalog where id=(select cataid from recordformtemphead where id=@modleid))=2
set @strfield='create table '+'rcd'+'archive_'+@tablename+'(id int identity,'
else
set @strfield='create table '+'rcd'+'file_'+@tablename+'(id int identity,'
declare readfield cursor
for
select code ,case ctrtype when 3 then 'varchar' when 4 then 'int' when 5 then 'datetime' when 2 then 'bit' end,strlen from recordformfield where id in (select fieldid from recordformtemp where frmid=@modleid)
open readfield
fetch next from readfield
into @name,@type,@typelen
while @@fetch_status =0
begin
--case @type when 'datetime' then set @strfield=@strfield+@name +' '+@type+' '+'('+convert(varchar,@typelen)+')'+','
set @typelen=convert(varchar,@typelen)
if @typelen='-1'
set @strfield=@strfield+@name + ' '+ @type+' '+','
else
set @strfield=@strfield+@name +' '+@type+' '+'('+convert(varchar,@typelen)+')'+','
fetch next from readfield
into @name ,@type,@typelen
end
close readfield
deallocate readfield
--建立数据库
--set @strfield=left(@strfield,len(@strfield)-1)
set @strfield=@strfield+'destflah bit,destdate datetime,usestatus bit)'
set @strfield=''''+@strfield+''''