当需要把数据导入到 带有自增列的主子表的时候,稍显复杂。用以下SQL 实现( ResKey 是主表, ResValue 是子表)
--- 有效的 CSM 资源。 select * into #t from dbo.VTxtRes where [Key] not in ( select [Key] from PM_VTxtRes ) and [Key] not like '%.0' and [Key] not like 'MyOql.ProductTypeEnum.%' and [Key] != 'MyOql.EmptyEnum.选择类型' and [Value] is not null order by Value select 'insert into ResKey ( [Key] ) values ( ''' + [Key] + '''); insert into ResValue (Lang,ResID,[Value]) values ( ' + cast( Lang as varchar(20)) + ' ,SCOPE_IDENTITY(), ''' + [Value] + ''' ) ;' from #t
将会生成:
insert into Res_Key ( [Key] ) values ( 'MyOql.TaskVistLevelEnum.Level1'); insert into Res_Value (Lang,ResID,[Value]) values ( 2 ,SCOPE_IDENTITY(), '1' ) ;
此方法具有一定通用性,作为记录。
作者:NewSea 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |