SQL サーバーに問題があります。SQLサーバーでコマンドを691回実行したい(VIDごと)。
ただし、VID 列の値は Sequential および Ascending ではありません。どうすればこのコマンドを実行できますか。
つまり、VID ごとにこのコマンドを実行し、その値の数は 691、最小値は 11、最大値は 7668 です。そして、各 VID の結果をテキスト ファイルに保存します。
コマンドは次のとおりです。
declare @vid integer
DECLARE @FileName varchar(8000)
declare @bcpCommand varchar(8000)
set @vid = 1
while (@vid < 692)
begin
SET @FileName = 'd:\re'+ CONVERT(char(8),@vid)+'.txt'
SET @bcpCommand = 'bcp "select ak_from,ak_to,w from [socialdb].[dbo].final where ???? " queryout "'+ @FileName + '" -C -T -c -S SONY-VAIO\SQLEXPRESS1'
EXEC master..xp_cmdshell @bcpCommand
set @vid = (@vid + 1)
end
これを sql server 2008 で実行したいと考えています。最初のレコードはテーブル レコードの 1 つです。
vid に従ってレコードを分類する必要があり、同じ vid を持つ各レコードは、seprat txt ファイルにある必要があります。
テキスト ファイルに保存するには、bcp を使用します。私はそれで問題はありません。私の問題は、これを行うSQLサーバーのクエリにあります。私が言ったように、最初のレコードはその名前が最終的なテーブルに保存されます。これに対するクエリの書き方は?