0
レコードを検索してテーブルで終了するには、次のsprocを記述しました。ハードコーディングされたエラーメッセージで見つけることができません。これ以外の場合は、ストアドプロシージャの回避方法
それは機能しますが、私はそれをよりスマートにしたいです。どんな提案もお願いします。
Create PROCEDURE [dbo].[dummy_test]
@ID NVARCHAR(50)
AS
BEGIN
Declare @TID Table (TID bigint not null)
declare @TransId bigint
-- Search for @TID
insert into @TID
Select TID from x..tables where EID = @ID
Select @TransId = (select TID from @TID)
If not exists
(select top 1 1 from x..table7 where TID = @TransId)
print 'B'
else
If not exists
(select top 1 1 from x..table6 where TID= @TransId)
print 'C'
else
If not exists
(select top 1 1 from x..table0 where TID= @TransId)
print 'D'
else
If not exists
(select top 1 1 from x..table1 where TID = @TransId)
print 'E'
else
If not exists
(select top 1 1 from x..table2 where TID = @TransId)
print 'F'
else
If not exists
(select top 1 1 from x..table3 where TID = @TransId)
print 'G'
delete @TID
END
あなたはよりスマートになることが何を意味するかを詳しく教えてください。 –
私は、繰り返しのネストされたif文を避ける方法があるべきだと思います – Nugeswale