CREATE PROCEDURE PF_Addformula @f_Num nvarchar(10), @f_name nvarchar(80), @f_field nvarchar(80), @f_style nvarchar(20), @f_yxcf nvarchar(200), @f_fuliao nvarchar(200), @f_morename nvarchar(100), @a_idNum int AS insert into PF_formula (f_Num,f_name,f_field,f_style,f_yxcf,f_fuliao,f_morename) values(@f_Num,@f_name,@f_field,@f_style,@f_yxcf,@f_fuliao,@f_morename) DECLARE @f_id int,@ii int ,@a_id int select @f_id=@@identity while(charindex('、',@f_fuliao)<>0) begin set @a_id=(select a_id from pf_fuliao where a_name=dbo.getbbya(@f_fuliao,'、',@f_id)) set @f_fuliao=replace(@f_fuliao,dbo.getbbya(@f_fuliao,'、',@f_id)+'、','') insert into pf_f_f(f_id,a_id) values(@f_id,@a_id) end set @a_id=(select a_id from pf_fuliao where a_name=@f_fuliao) insert into pf_f_f(f_id,a_id) values(@f_id,@a_id) --insert into pf_f_f(f_id,a_id) values(11*@ii,2*@ii) @f_fuliao ---set @ii=@ii+1 --end GO
CREATE FUNCTION dbo.getBbyA ( @c varchar(500),@split varchar(2),@f_id int ) RETURNS varchar(500) AS BEGIN declare @t varchar(30) --set @t=1 --while(charindex(@split,@c)<>0) -- begin if(charindex(@split,@c)<>0) begin set @t=substring(@c,1,charindex(@split,@c)-1) --insert into pf_f_f(f_id,a_id) values(@f_id,@t) --- dbo.getBbyA(replace(@c,substring(@c,1,charindex(@split,@c)-1),''),@split,@f_id) --set @t=@t+1 end --- set @c = stuff(@c,1,charindex(@split,@c),'') -- end ---- insert @t(col) values (@c) return @t END