写语句之前要想好自己在做什么?函数没有什么实质性的作用left(@s,charindex('/',@s+'/')-1)--这样用行了存储过程是没有贴完整吧?
select @f_id=@@identity--获取没有返回和调用(没意义)
循环没意义,用if判断就行了
if(charindex(@f_fuliao,'/')>'0')--*
begin
set @t=dbo.getbbya(@f_fuliao,'/')
select @a_id2=a_id from PF_fuliao where a_name=@t
end---*
select @f_id=@@identity--获取没有返回和调用(没意义)
循环没意义,用if判断就行了
if(charindex(@f_fuliao,'/')>'0')--*
begin
set @t=dbo.getbbya(@f_fuliao,'/')
select @a_id2=a_id from PF_fuliao where a_name=@t
end---*
@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)
AS
insert into PF_formula (f_Num,f_name,f_field,f_style,f_yxcf,f_fuliao,f_morename,f_addtime)
values(@f_Num,@f_name,@f_field,@f_style,@f_yxcf,@f_fuliao,@f_morename,convert(varchar(16),getdate(),109))
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
while(charindex(@f_fuliao,'/')>'0')
begin
set @t=dbo.getbbya(@f_fuliao,'/')
select @a_id2=a_id from PF_fuliao where a_name=@t
set @f_fuliao = stuff(@f_fuliao,1,len(@t)+1,'')end
GO
改成:
set @f_fuliao = stuff(@f_fuliao,1,len(@t)+1,'')
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)
AS
insert into PF_formula (f_Num,f_name,f_field,f_style,f_yxcf,f_fuliao,f_morename,f_addtime)
values(@f_Num,@f_name,@f_field,@f_style,@f_yxcf,@f_fuliao,@f_morename,convert(varchar(16),getdate(),109))
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
while(charindex(@f_fuliao,'/')>'0')
begin
set @t=left(@f_fuliao,charindex('/',@f_fuliao)-1)
set @f_fuliao=right(@f_fuliao,len(@f_fuliao)-len(@t)-1
select @a_id2=a_id from PF_fuliao where a_name=@t
end
select @a_id2=a_id from PF_fuliao where a_name=@f_fuliao
GO
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)
AS
insert into PF_formula (f_Num,f_name,f_field,f_style,f_yxcf,f_fuliao,f_morename,f_addtime)
values(@f_Num,@f_name,@f_field,@f_style,@f_yxcf,@f_fuliao,@f_morename,convert(varchar(16),getdate(),109))
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
while(charindex(@f_fuliao,'/')>'0')
begin
set @t=left(@f_fuliao,charindex('/',@f_fuliao)-1)
set @f_fuliao=right(@f_fuliao,len(@f_fuliao)-len(@t)-1)
select @a_id2=a_id from PF_fuliao where a_name=@t
end
select @a_id2=a_id from PF_fuliao where a_name=@t
GO
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)
AS
insert into PF_formula (f_Num,f_name,f_field,f_style,f_yxcf,f_fuliao,f_morename,f_addtime)
values(@f_Num,@f_name,@f_field,@f_style,@f_yxcf,@f_fuliao,@f_morename,convert(varchar(16),getdate(),109))
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
while(charindex(@f_fuliao,'/')>'0')
begin
set @t=left(@f_fuliao,charindex('/',@f_fuliao)-1)
set @f_fuliao=right(@f_fuliao,len(@f_fuliao)-len(@t)-1)
select @a_id2=a_id from PF_fuliao where a_name=@t
end
select @a_id2=a_id from PF_fuliao where a_name=@f_fuliao
GO
这句话下面的东西都不执行!!!急救!