1

コピーしたいサーバーからのレコードがあるので、datareaderを使用してすべてを選択し、選択中に挿入も処理しました。これは擬似コードです:

while datareader.read
        For f As Integer = 0 To datareader.FieldCount - 1
                Values = Values & datareader.GetValue(f)
        Next
    Dim ss as string ="Insert into xtable(a,b,c,d,e,f) select " & values & " where not Exist (select * from xtable)" ''//is this right?
    Dim sc as new sqliteCommand(ss,mycon)
    sc.ExecuteNonQuery
    End While
    sc.dispose

レコードが現在のテーブルに存在しない場合にのみ挿入する正確なSQLステートメントは何ですか?

このコードの一部を使用しましたが、フィルターが定義されました。たとえば、必要なテーブルに存在しないレコードを挿入したい場合はどうすればよいですか。

Dim ss As String = "insert into xtable(x,y,z) select $x, $y,$z 
where not exists (select 1 from xtable where x=$x)"
4

1 に答える 1

1

これを試して:

if not exists(select 1 from xtable)
   begin
       insert into xtable(x,y,z) select $x, $y,$z from xtable
   end

上記はうまくいかないと思いますが、このリンクはあなたが探している答えを与えるはずです.

于 2012-05-25T18:52:46.650 に答える