我的 SP 确实包含一个 DELETE 和一个 INSERT INTO 语句。如果 DELETE 语句成功,而 INSERT INTO 不成功,JAVA 将只查看第一条语句并得出整个 SP 执行成功的结论,这可能是错误的。
如果只有一个语句失败,我如何执行多个语句并在 JAVA 中获得异常。我已经在 SQL 中尝试过使用 TRY-CATCH,但一切都得出结论,所有语句都正确执行,因为第一个语句成功。
它是一个 MS SQL 2008 数据库
ALTER PROCEDURE [testing]
@bikes varchar(8000),
@groupw varchar(4),
@name char(6)
AS
BEGIN
DELETE CP_customer_kngr_corr_s WHERE knid in ('blue')
DECLARE @pos INT
DECLARE @len INT
DECLARE @value varchar(8000)
set @pos = 0
set @len = 0
set @bikes= @bikes +','
WHILE CHARINDEX(',', @bikes, @pos)>0 BEGIN
set @len = CHARINDEX(',', @bikes, @pos+1) - @pos
set @value = SUBSTRING(@bikes, @pos, @len)
INSERT INTO [bikes]
([bikes])
VALUES
(@value)
set @pos = CHARINDEX(',', @bikes, @pos+@len) +1
END
END