SQL Server 2005でトリガーを作成する以外に新しいレコードが挿入されているかどうかを調べる方法はありますか?(tsqlまたはjava ...) ベンダーはそこに右のトリガを許可していません... また、新しく挿入された行のデータを持つファイルを生成する方法.. bcpは良い解決策ですか?SQL Server 2005で新しいレコードが挿入されていることを確認しました
答えて
私はここでもあなたを助けるかもしれないベストプラクティスを提案します。ストアド・プロシージャーのみを実行するように更新および挿入を制限する場合は、そのプロシージャーを使用して、監査レコードを書き出すか、単に時刻/日付フィールドを更新することもできます。
表に自動増分主キーまたはcreateDate列がありますか?定期的に目を覚ますcronジョブを作成し、最後にcronジョブを実行してからデータベースに新しいものがあるかどうかを調べることができます。
CDCが役立ちますか?私は2008年にリンクとチュートリアルを取得していますが、SQL Server 2005を使用しています.... – paramupk
監査テーブルを定義してから、INPUTまたはUPDATEステートメントにDELETE(too、btw)にOUTPUTコマンドを追加できます。
create table fab4 (id int identity(1,1),FName varchar(80));
create table fab4_audit (act varchar(10),id int, FName_old varchar(80), FName_new varchar(80), ts datetime not null default(getdate()));
-- insert
insert into fab4(FName)
output
'INSERTED'
, inserted.*
into fab4_audit([act],id,FName_new)
select 'John' union all
select 'Paul' union all
select 'George' union all
select 'Ringo';
go
-- update
update f
set FName='Walrus'
output
'UPDATED'
, inserted.id
, deleted.FName
, inserted.FName
into fab4_audit([act],id,FName_old,FName_new)
from fab4 f
where FName='Paul';
-- delete
delete f
output
'DELETED'
, deleted.id
, deleted.FName
into fab4_audit([act],id,FName_old)
from fab4 f
where FName in ('John','George');
go
select * from fab4;
select * from fab4_audit;
go
は、私はあなたが「新しいレコードがトリガーを書く以外に挿入されているかどうかを確認する方法はあります」を定義する必要があると思います。トリガーは、基本的にSQLのイベントハンドラーです。新しい行がテーブルに挿入されるたびに起動するトリガーのようなものを持っていたいと思っていますか?その場合、答えは「はい」です。これはSQL Server Notification Servicesと呼ばれます。
ここにはbeginners articleがありますが、Googleの「SQL Server通知」だけで検索結果を得ることができます。
もう1つの良い記事です:Using SqlDependency To Monitor SQL Database Changes
CDCは役に立ちますか?私は2008年にリンクとチュートリアルを取得していますが、SQL Server 2005を使用しています。 – paramupk
ここでは2005/VS2005のSqlDependencyを紹介します。 http://www.codeproject.com/Articles/12335/Using-SqlDependency-for-data-change-events –
- 1. ヘッドセットが挿入されていることを確認してください
- 2. symfony2にレコードが正常に挿入されていることを確認してください
- 3. 更新ステートメントを使用してSQL Server 2005挿入トリガー
- 4. SQL Serverクライアントがインストールされていることを確認します。
- 5. SQL Server 2005でupsert(更新または挿入)する方法
- 6. 新しいレコードを挿入する前にレコードの存在を確認してください
- 7. C#新しいレコードがmysqlテーブルに挿入されているかどうかを確認する方法
- 8. SQL Server 2005イメージの挿入
- 9. SQL Server 2005で行を挿入した後のプライマリキー値
- 10. SQL Server 2005を使用してVB.NET Windowsアプリケーションでメモリリークを確認
- 11. Yii2テーブルが新しいレコードで挿入されない
- 12. 挿入された行がjavascriptを使用してgridviewコントロールに新たに挿入されていることを確認する方法は?
- 13. 新しいレコードを挿入する際に重複を確認してください
- 14. sqlがレコードを挿入しない
- 15. ストアドプロシージャを使用してSQL Serverテーブルに重複レコードが挿入される
- 16. 値がJavaScriptでフォームに挿入されていることを確認してください
- 17. 新しいページにデータを挿入した後の確認メッセージ
- 18. SSISに挿入されたレコード数と挿入されていないレコード数を確認するにはどうすればよいですか?
- 19. Sql Server 2005にDateTimeを挿入する
- 20. 入力フォームが入力されていることを確認します。
- 21. 作成されたレコードが最初のレコードであることを確認してください
- 22. SQL Server 2005 - Null DateTimeの値を確認します。
- 23. SubmitChangesは更新されませんが、新しいレコードが挿入されます。 LINQ to SQL
- 24. SQLインジェクション/ドロップテーブルが動作していないことを確認しました
- 25. ユーザーがfirebaseで確認されていることを確認します。android
- 26. SQL Server:動的クエリを挿入して挿入すると、1のときに値が挿入されます
- 27. Webアプリケーションを介してレコードがSQL Serverに挿入されるたびに、winformsプログラムが実行される
- 28. フィールドの更新でSQLがトリガーされ、別のテーブルに新しいレコードが挿入される
- 29. SQL Server 2005または2008がインストールされているかどうかを確認する方法
- 30. SQL文が実行されたことを確認してください
タイムスタンプが足りませんか?またはフラグ: 'new_from_last_checkビットデフォルト0' – danihp