SQLServerのトリガーについて、トリガーの処理の中で、[COMMIT]コマンドは使用することができるのでしょうか。
以下の文章で、COMMITコマンドを使用してみたのですが、bcpコマンドで参照されるテーブルがCOMMITされる前の状態になってしまいます。
BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- これ以下が、処理内容 --INSERTされた内容を、別テーブルにコピー。 INSERT INTO Table_1 SELECT * FROM inserted WHERE text LIKE ('%ああああ%'); --例えばここでCOMMITする。 COMMIT; EXEC xp_cmdshell 'bcp.exe XXX.dbo.Table_1 out C:\TEST\TEST.txt -c -S localhost -T' END
また、続けて質問で申し訳ないのですが、現在、INSERTされたデータの中に特定の文言を含むものがあったときに、外部ファイルに出力するということをしたいのですが、以前からの質問でトリガーでやるのは相応しくないと指摘されました。
私はまだまだSQL経験が浅いもので申し訳ないのですが、上記の機能を実装したい場合はどのように実装するとよいのでしょうか。
回答3件
あなたの回答
tips
プレビュー