思路: 1、搞個表,做一個gb與big的對照表 2、保存的時候自動替換 create FUNCTION F_Gb2Big(@str nvarchar(8000),@toBig bit) returns nvarchar(8000) as begin IF @toBig=1 SELECT @str=REPLACE(@str,gb,big) from codetable WHERE CHARINDEX(gb,@str)>0 ELSE SELECT @str=REPLACE(@str,big,gb) from codetable WHERE CHARINDEX(big,@str)>0 RETURN (@str) end create procedure GB2BIG @tablenam varchar(50)='tab1',@fan varchar(5)='1',@whr_sql varchar(4000)='' as declare @sql varchar(4000) declare @field_cur cursor,@fieldname varchar(50) set @sql='' set @field_cur=cursor for select b.name as fieldname from sysobjects a ,syscolumns b where a.id =b.id and a.xtype= 'u' and a.name=@tablenam open @field_cur fetch next from @field_cur into @fieldname while (@@fetch_status=0) begin set @sql=' update '+@tablenam +' set '+@fieldname+' =dbo.f_GB2BIG('+@fieldname+','+@fan+') '+@whr_sql print @sql exec(@sql) fetch next from @field_cur into @fieldname end close @field_cur deallocate @field_cur select 'OK' AS OK |