sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008で間にない場合にデータを挿入する方法は?

    最善の方法は、トリガーを回避し、挿入する前に存在するかどうかを確認することです

    IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
    BEGIN
        --do actual insert/work
    END
    

    最初のオーバーラップを見つけるための簡単なチェックです。 Select TOP 1 1 は、実際にデータをフェッチしないようにするためのトリックです。実際に保存しようとしている日付範囲と重なる行に一致するとすぐに返されます



    1. SQLAlchemyリフレクション:特定の列からデータをクエリするにはどうすればよいですか?

    2. mysql 5.0はnull値にインデックスを付けますか?

    3. ユーザーフィードバックシステムの適切なデータベースモデル(興味深い事例)

    4. UTCでDATETIMEとTIMESTAMPを適切に処理するためのJDBC-mysqlドライバー設定とは何ですか?