关联表的两个代码

 

 


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 

















 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值