私はこのクエリを思いつきました。賞賛中にエラーは発生しませんが、この select
ステートメントを次のように使用できるかどうかはわかりませんvalue
insert into store(c1 ,artno, c3, c4, c5, c6, c7 )
select '1', a.artno, 0,0.0,null,null,null
from art a
left join store s on s.artno=a.artno
inner join status b on a.artno = b.artno
where b.state ='5'
and s.artno is null
and a.artgroup not in('63','280')
insert
使用できる別の代替手段も見ましたが、それが私の要件として使用できるかどうかはわかりません。これがストアドプロシージャで実装されているのを見たので、使用できるかどうかのアイデアをつかみましたか?
declare @artno as varchar(150);
declare @count as tinyint
Declare cS CURSOR For
select a.artno
from art a
left join store s on s.artno=a.artno
inner join status b on a.artno = b.artno
where b.staus ='5'
and s.artno is null
and a.artgroup not in('63','280')
Open cS
Fetch NEXT from cS into @artno
While @@FETCH_STATUS=0
select @count=COUNT(*) from store where artno=@artno
if @count=0
BEGIN
insert into store(c1 ,artno, c3, c4, c5, c6, c7 )
values('1', a.artno, 0,0.0,null,null,null)
fetch next from cS into @artno
END
close cS
deallocate cS
どちらを使用し、どれを使用しないか、およびその理由についての説明は、私の知識にも役立ちます。