2016-05-09 4 views
0

テーブルSourceTableのプライマリキーIDをDestTableに使います。 SourceTableは一意のIDを自動生成し、このIDをDestTableに挿入する必要があります。 System.DateTime.Now(Asp.net C#で作業しています)の値は、このIDを参照できる唯一の一意のデータです。以下は私のクエリです:あるテーブルのIDを別のテーブルにコピーする

string @Date = ("Select Id from SourceTable Where Date=' " + System.DateTime.Now + " '"); 
string insertId = "insert into DestTable (Id) SELECT Id FROM SourceTable WHERE Date= ' " + Date + " ' "; 
SqlCommand comId = new SqlCommand(insertId, conn); 

このコマンドを実行すると、DestTableのId列が空になります。私の解決策は何ですか?

+0

あなたはどのデータベースを使用していますか? –

+0

そのSQLデータベース – Anoj

答えて

2

なぜこれに対して2つのクエリを使用しますか?ただ、使用:

insert into DestTable (d) 
    select id 
    from SourceTable 
    where date = CURRENT_DATE; 

now()は時間コンポーネントを持っており、それが一定に一致するから、日付を防ぐため、あなたのコードは、おそらく答えを返していません。

注:CURRENT_DATEはデータベースによって異なります。これはtrunc(sysdate)(Oracle)、cast(getdate() as date)(SQL)などです。

関連する問題