declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
--while(charindex(@f_fuliao,"|")<>0)
while(charindex('、',@f_fuliao)<>0)
begin
set @t=left(@f_fuliao,charindex('、',@f_fuliao)-1)
select @a_id2=a_id from PF_fuliao where a_name=@t
set @f_fuliao = right(@f_fuliao,len(@f_fuliao)-1-len(@t))
insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error<>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end end
select @a_id2=a_id from PF_fuliao where a_name=@f_fuliao insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error<>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end commit transaction
end
这样修改了还会吗?请再帮我看看,我暂时测试不了
begin tran 和rollback tran 没有一一对应
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
--while(charindex(@f_fuliao,"|")<>0)
while(charindex('、',@f_fuliao)<>0)
begin
set @t=left(@f_fuliao,charindex('、',@f_fuliao)-1)
select @a_id2=a_id from PF_fuliao where a_name=@t
set @f_fuliao = right(@f_fuliao,len(@f_fuliao)-1-len(@t))
insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error<>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end end
select @a_id2=a_id from PF_fuliao where a_name=@f_fuliao insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error<>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end
endcommit transactionreturn
begin tran
declare @t varchar(50),@f_id int,@a_name nvarchar(100),@a_id2 int
select @f_id=@@identity
--while(charindex(@f_fuliao," ¦") <>0)
while(charindex('、',@f_fuliao) <>0)
begin
set @t=left(@f_fuliao,charindex('、',@f_fuliao)-1)
select @a_id2=a_id from PF_fuliao where a_name=@t
set @f_fuliao = right(@f_fuliao,len(@f_fuliao)-1-len(@t))
insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error <>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end end
select @a_id2=a_id from PF_fuliao where a_name=@f_fuliao insert into pf_f_f(f_id,a_id) values(@f_id,@a_id2)
if @@error <>0
begin
raiserror 50005 N'Error:出错了'
rollback tran
return --返回,不执行下面语句
end
end commit transaction return
大家也可以用别的代码(asp或其他的都行)写个例子,大谢特谢
Error:出错了语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 不能将值 NULL 插入列 'a_id',表 'medinc.dbo.PF_f_f';列不允许有空值。INSERT 失败。
Error:出错了
语句已终止。