declare @strQuery varchar(5000)
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=''''''+convert(varchar,level)+'''''',Experience=''''''+convert(varchar,Experience)+'''''' '' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery
execute(@strQuery)
求这句sql的正确拼法~这句报'level','Experience'列名不存在
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=''''''+convert(varchar,level)+'''''',Experience=''''''+convert(varchar,Experience)+'''''' '' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery
execute(@strQuery)
求这句sql的正确拼法~这句报'level','Experience'列名不存在
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=convert(varchar,level),Experience=convert(varchar,Experience)'' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery
execute(@strQuery)
改为
level=''''+convert(varchar,level)+'''',Experience=''''+convert(varchar,Experience)+'''' 试试
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=''''''+convert(varchar,level)+'''''',Experience=''''''+convert(varchar,Experience)+'''''' where User_ID='''+@kk_UserID+''''' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery
execute(@strQuery)
应该是这个是我搞错了declare @strQuery varchar(5000)
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=convert(varchar,level),Experience=convert(varchar,Experience)'' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery
execute(@strQuery)
这个通过了,是我写错表名了,所以报列名不存在,但上面那个加了where的不通过
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=convert(varchar,level),Experience=convert(varchar,Experience)'' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+convert(varchar,@UserID)+''''
print @strQuery
execute(@strQuery)
set @UserID=100001
set @ServerIP=106
set @kk_UserID='asdgf'
declare @strQuery varchar(5000)
set @strQuery = 'insert into table1 (UserID,SP_Name,ServerIP,Real_Act) select '+convert(varchar,@UserID)+' ,''ment_Open'' ,'''+rtrim(@ServerIP)+''',''update ['+rtrim(@ServerIP)+'].owner.dbo.table2 set level=''''''+convert(varchar,level)+'''''',Experience=''''''+convert(varchar,Experience)+'''''' where User_ID='''''+@kk_UserID+''''''' from ['+rtrim(@ServerIP)+'].owner.dbo.table2 where USER_ID='''+@kk_UserID+''''
print @strQuery