xp_cmdshellを使用してファイルディレクトリを読み取り、それらのファイル名をログテーブルに貼り付けようとしています。ディレクトリを読み込むたびに、新しいファイルをログテーブルに追加したいだけです。以下は私が今持っているものですが、その乱雑です。ファイルディレクトリを読み込んでSQLテーブルログにファイルを入力しますが、新しいファイルのみを入力してください
Declare @FileName Table(FileList Varchar(255))
Insert Into @FileName
EXEC XP_CMDSHELL 'dir "C:\Data Log\EODFiles\*.CSV" /b'
Declare @FilePath Varchar(255)
Select Top 1 FilePath= FileList
FROM [dbo].[EOD_Log]
right join @FileName
on filelist = File_log
where filelist is NOT NULL and File_log is NULL
Insert Into [dbo].[EOD_Log] (File_log)
select @filepath from @FileName where @filepath is not NULL
コードは、必要なデータを正しく照会しますが、eod_logテーブルには挿入しません。 –
@ FilePath2は使用されません。 SELECTの結果は使用されません(テーブルに直接挿入しない理由)。 –
申し訳ありませんが、@ filepathはfilepath2でなくてはなりません。私はディレクトリ内に現在あるEOD_logテーブルにないものを識別するための手続きを持っています。次に、EOD_Logにないファイルをロードします。そのファイルがロードされた後、そのファイル名をEOD_logに追加します。これが手順の一部です。しかし、私はそれを挿入することはできません。直接挿入する声明で私を助けることができますか? –