新增文章
文章标题
分类
C#
云星空
K3 BOS
K3 功能
用友
Oracle
python
SQL
MySql
PHP
HTML
script
windows
Access
影视后期
财务
服务
生活
内容
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 查看:拆分结果 【K3单据 引用插件】 exec a_Select_ICClassType_Dll ; -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 创建:临时表 drop table a_ICClassTypeDll go create table a_ICClassTypeDll ( FComponentExt nvarchar(100) ,FID int ,FName_CHS nvarchar(100) ,FTableName nvarchar(100) ); go -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 创建:存储过程 create procedure a_Select_ICClassType_Dll as -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 清空:表数据 delete from a_ICClassTypeDll ; -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 拆分:表数据 declare @id int ; declare cursor_1 cursor for (select FID from ICClassType where FID > 210000000) open cursor_1 fetch next from cursor_1 into @id while @@fetch_status = 0 begin declare @Txt nvarchar(1000) ; select @Txt = FComponentExt from ICClassType where FID = @id ; -- print 'FID ' + convert(varchar(100),@id) ; declare @Txt1 nvarchar(100) = '' ; select @Txt1 = 'aGsf_K3.' ; declare @Txt2 nvarchar(100) = '' ; select @Txt2 = '|' ; declare @Start int = 1 ; declare @End int = 1 ; while @Start > 0 begin select @Start = charIndex( @Txt1 ,@Txt ,@Start ) ; -- print '@Start ' + convert(varchar(100),@Start) ; select @End = charIndex( @Txt2 ,@Txt ,@Start ) ; -- print '@End ' + convert(varchar(100),@End ) ; if @Start = 0 continue ; declare @Txt3 nvarchar(100) = '' ; select @Txt3 = subString( @Txt ,@Start + len(@Txt1) ,@End - ( @Start + len(@Txt1) ) ) ; -- print '@Txt3 ' + convert(varchar(100),@Txt3 ) ; insert into a_ICClassTypeDll(FID,FName_CHS,FTableName,FComponentExt) select FID,FName_CHS,FTableName,@Txt3 from ICClassType where FID = @id ; select @Start = @End + len(@Txt2) ; -- print '@Start ' + convert(varchar(100),@Start) ; end fetch next from cursor_1 into @id end close cursor_1 deallocate cursor_1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- 显示:拆分结果 select * from a_ICClassTypeDll order by FComponentExt,FID ; -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- go
返回
保存