把当中那句 换成这样
set @StrSql = 'update '+ @table +' set Object_Name = '''+ @Object_Name + ''' where Object_Code = '''+ @Object_Code+''''
记得如果是赋值 两边要加引号,不加引号 ,会认为是列名
set @StrSql = 'update '+ @table +' set Object_Name = '''+ @Object_Name + ''' where Object_Code = '''+ @Object_Code+''''
记得如果是赋值 两边要加引号,不加引号 ,会认为是列名
FOR SELECT name FROM sysobjects WHERE name like 'b%' -------------游标的数据来源
OPEN upname --打开游标
DECLARE @table varchar(50),
@Object_Name varchar(50),
@StrSql varchar(500),
@Object_Code varchar(50)
set @Object_Name = 'aa'
set @Object_Code = 'rchd001'
FETCH NEXT FROM upname INTO @table
WHILE(@@FETCH_STATUS=0) --判断是否读到数据,0表示读到数据
BEGIN
set @StrSql = 'update '+ @table +' set Object_Name = '''+ @Object_Name + ''' where Object_Code = '''+ @Object_Code+'''' exec (@StrSql)
FETCH NEXT FROM upname INTO @table
END
CLOSE upname ----------------关闭游标与数据的关联
DEALLOCATE upname ---------------将游标对象删除