0

SQL Server DB 上の既存のすべてのアカウントをループ処理し、xp_create_subdir を使用して個々のアカウント フォルダーを作成しようとしています。ただし、パラメーターの一部として変数を渡そうとしているため、私が持っているものが機能していないことはわかっています。これは私のコードです:

declare @id int

declare crsr cursor LOCAL FAST_FORWARD for

select  Id
from AccountModels
where Active = 1
and Id in (select Account_Id from AccountPhotoModels)
order by Id

open crsr
fetch crsr into @id

While (@@fetch_status = 0)
begin

   exec master.dbo.xp_create_subdir 'C:\inetpub\wwwroot\media\images\accounts\' + @id

fetch crsr into @id
end
close crsr
deallocate crsr

私が上でやろうとしているように、カーソル内でそのシステムSPを呼び出す方法を誰かが知っていますか?

4

2 に答える 2

0

別のステップとして渡したい値を組み立てるだけです。

...
declare @path varchar(max)
open crsr
fetch crsr into @id

While (@@fetch_status = 0)
begin
   set @path = 'C:\inetpub\wwwroot\media\images\accounts\' + @id
   exec master.dbo.xp_create_subdir @path

fetch crsr into @id
end
close crsr
deallocate crsr

パラメータごとに、変数または値を渡すことができますが、を計算してその値を取得することはできません。

于 2013-11-05T15:29:05.520 に答える