CREATE PROCEDURE pro_test (@lc int,@bm char(20),@fid int)
AS
declare @getlc int
declare @num intIF @bm = 'sb_aa'
BEGIN
SELECT @getlc = lc FROM sb_aa WHERE fid=@fid IF @getlc <= 0
begin
SELECT @num = count(fid) FROM sb_aa WHERE fid=-@fid IF @num = 1
DELETE FROM sb_aa WHERE fid=-@fid
ELSE IF @num = 0
begin
declare @sqll varchar(600)
select @sqll='insert sb_aa (fid,...lch,...) select -fid,...lch,... from sb_aa where fid='+CONVERT(varchar(20),@fid)
exec(@sqll)
end
endEND
ELSE IF @bm = 'sb_bb'
BEGIN
SELECT @getlc = lc FROM sb_bb WHERE fid=@fid IF @getlc <= 0
begin SELECT @num = count(fid) FROM sb_bb WHERE fid=-@fid IF @num = 1
DELETE FROM sb_bb WHERE fid=-@fid
ELSE IF @num = 0
begin
declare @sql varchar(600)
select @sql='insert sb_bb (fid,...lch,...) select -fid...lch,... from sb_bb where fid='+CONVERT(varchar(20),@fid)
exec(@sql)
end
end
END
AS
declare @getlc int
declare @num intIF @bm = 'sb_aa'
BEGIN
SELECT @getlc = lc FROM sb_aa WHERE fid=@fid IF @getlc <= 0
begin
SELECT @num = count(fid) FROM sb_aa WHERE fid=-@fid IF @num = 1
DELETE FROM sb_aa WHERE fid=-@fid
ELSE IF @num = 0
begin
declare @sqll varchar(600)
select @sqll='insert sb_aa (fid,...lch,...) select -fid,...lch,... from sb_aa where fid='+CONVERT(varchar(20),@fid)
exec(@sqll)
end
endEND
ELSE IF @bm = 'sb_bb'
BEGIN
SELECT @getlc = lc FROM sb_bb WHERE fid=@fid IF @getlc <= 0
begin SELECT @num = count(fid) FROM sb_bb WHERE fid=-@fid IF @num = 1
DELETE FROM sb_bb WHERE fid=-@fid
ELSE IF @num = 0
begin
declare @sql varchar(600)
select @sql='insert sb_bb (fid,...lch,...) select -fid...lch,... from sb_bb where fid='+CONVERT(varchar(20),@fid)
exec(@sql)
end
end
END
AS
declare @getlc int
declare @num intIF @bm = 'sb_aa'
BEGIN
SELECT @getlc = lc FROM sb_aa WHERE fid=@fid
BEGIN
IF @getlc > 0
RETURN
END
SELECT @num = count(fid) FROM sb_aa WHERE fid=-@fid
BEGIN
IF @num = 1
DELETE FROM sb_aa WHERE fid=-@fid
ELSE
begin -------here
IF @num = 0
begin
declare @sqll varchar(600)
select @sqll='insert sb_aa (fid,...lch,...) select -fid,...lch,... from sb_aa where fid='+CONVERT(varchar(20),@fid)
exec(@sqll)
end
end -------here
END
END
ELSE
begin -------here
IF @bm = 'sb_bb'
BEGIN
SELECT @getlc = lc FROM sb_bb WHERE fid=@fid
BEGIN
IF @getlc > 0
RETURN
END
SELECT @num = count(fid) FROM sb_bb WHERE fid=-@fid
BEGIN
IF @num = 1
DELETE FROM sb_bb WHERE fid=-@fid
ELSE
begin -------here
IF @num = 0
begin
declare @sql varchar(600)
select @sql='insert sb_bb (fid,...lch,...) select -fid...lch,... from sb_bb where fid='+CONVERT(varchar(20),@fid)
exec(@sql)
end
end -------here
END
end -------here
END