2004年5月26日水曜日

MS-SQLのお勉強

引数で '123,145,66' とか入れると 123と145と66の入ったテンポラリテーブルを作成するストアドプロシージャ.......これは便利でしょう、今月一番の力作ですね、おほほほ

CREATE PROCEDURE prc_test
@ID varchar(1000) -- 候補カスタマーID
AS
declare @n int

set @n = charindex(',',@ID)
select case when @n = 0 then @ID else substring(@ID,1,charindex(',',@ID)-1)
end as in_id into #t
set @ID = stuff(@ID,1,@n,'')

while @n > 0
begin
set @n = charindex(',',@ID)
insert into #t(in_id) values(case when @n = 0 then @ID else
substring(@ID,1,charindex(',',@ID)-1) end)
set @ID = stuff(@ID,1,@n,'')
end

-- もちろん#tを joinするのも inするのも お好み次第なんですぞ~、うはは
select * from #t order by in_id
GO


2 件のコメント: