楼主,不是有一个 syscolumns系统表吗,完全可以通过一个变量如:1.写一个字符串相加的函数.(col1,col2,col3....)2.通过这个函数,再把 syscolumns系统表中对应的用户表列,字符串相加.3.就是写一个insert.....
明白的没有...可能小弟说的有些模糊,听楼下,指教
明白的没有...可能小弟说的有些模糊,听楼下,指教
解决方案 »
- sql2005 中怎样将一个datetime类型的数据转化成int类型(yyyymm)
- 初用sql server2000,安装问题
- 去重复记录
- sql的视图怎么设保留二位小数.
- SQL 并发访问
- 求一句SQL,谢谢!
- what is wrong in this sql ??????
- 请教:SQL递归反向查询问题?
- rs.Open "SELECT distinct * FROM tempdb where year='"&choice&"'", cn, adOpenStatic, adLockOptimistic在VB里面这句就是报错,还望指
- 存储过程中嵌套存储过程的问题.
- I/O 的具体解释
- 怎么样改变表自动增加值的字段的初始值啊?
使用条件判断来生成insert的动态插入语句declare @sql varchar(1000)
set @sql='insert into '+@tablename + 'values'if @itemNO=4
set @sql=@sql+ '('+@id+','+@month+','+@year+','+@value3+')'
if @itemNO=4
set @sql=@sql+ '('+@id+','+@month+','+@year+','+@value3+','+@value4+')'
...exec (@sql)
declare @sql varchar(100),@itemNO int,@tablename char(13),@id varchar(12)
declare @month int, @year int
declare @item1 money,@item2 money,@item3 money,@item4 money
set @tablename='W00001_200412'
set @id='E0001'
set @item1=200
set @item2=300
set @item3=400
set @item4=700
set @itemNO=4
set @month=12
set @year=2004
set @sql ='insert into '+@tablename+' values('''+@id+''','+convert(varchar,@month)+','+
convert(varchar,@year)+','+'null,'+'null,'
set @sql=case @itemNO
when 1 then @sql+convert(varchar,@item1)+')'
when 2 then @sql+convert(varchar,@item1)+','+convert(varchar,@item2)+')'
when 3 then @sql+convert(varchar,@item1)+','+convert(varchar,@item2)
+','+convert(varchar,@item3)+')'
when 4 then @sql+convert(varchar,@item1)+','+convert(varchar,@item2)
+','+convert(varchar,@item3)+','+convert(varchar,@item4)+')'
else '' end
exec(@sql)
print @sql