扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:it专家网 来源:it专家网 2007年9月15日
关键字: 更新 数据库 SQL Server SQL Server 各版本
use fff |
答:肯定的是,这种方法可行。所犯的错误是没有理解 字段名,表名,数据库名之类作为变量时,必须用动态SQL,使用动态sql语句就能解决该问题.
use fff go create function data_insert1() RETURNS int Begin Declare @qq int(4) declare @table_index int(4),@tj int(4),@yj int(4),@ej int(4),@sj int(4),@sij bigint(8) declare @wj bigint(8),@lj bigint(8),@zs bigint(8),@zjl char(15),@table_name char(15) declare youbiao cursor for select 数据库表名,qq,tj,yj,ej,sj,sij,wj,lj,zs,zjl from jj a,table_index b where a.table_index=b.序号 for read only open youbiao fetch next from youbiao into @table_name,@qq,@tj,@yj,@ej,@sj,@sij,@wj,@lj,@zs,@zjl while @@fetch_status=0 /*loop rows in the cursor*/ begin declare @s Nvarchar(1000) set @s = 'insert ' + @table_name + '(qq,tj,yj,ej,sj,sij,wj,lj,zs,zjl)' values'+'('+@qq+','+@tj+','+@yj+','+@ej+','+@sj+','+@sij+','+@wj+','+@lj+','+@zs+','+@zjl+')' Exec(@s) exec sp_executesql @s open youbiao fetch next from youbiao into @table_name,@qq,@tj,@yj,@ej,@sj,@sij,@wj,@lj,@zs,@zjl end deallocate youbiao RETURN 1 end go |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者