export inserted-Tabelle Daten .txt-Datei in SQL server
Möchte ich exportieren von Daten aus der inserted-Tabelle( temporäre Tabelle Hinweis der eingefügten Daten von der Tabelle).txt Datei, die ich verwendet, wie dies von innen auslösen
create trigger monitorTrigger on test
for insert
as
declare @sql varchar(8000)
SELECT @sql = 'bcp "select * from inserted" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'
exec xp_cmdshell @sql
go
ist dies nicht funktioniert, da ich nicht die volle Kontext(also die Datenbank.shemaName.tableName) der inserted-Tabelle. Aber der gleiche code funktioniert mit normalen Tabelle, da ich volle Kontext als
declare @sql varchar(8000)
SELECT @sql = 'bcp "select * from test2.dbo.test" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'
exec xp_cmdshell @sql
Ich weiß nicht, wie die Abfrage eingefügt Tabelle in bcp
, jemand eine Idee?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen Sie eine weitere Tabelle für die vorübergehende Speicherung der Ergebnisse von
INSERTED
vor dem Aufrufbcp
.EDIT:
Anscheinend wird dies nicht funktionieren, da die Tabelle
tempInserted
gesperrt ist an der Zeitbcp
genannt wird.Hier ist ein workaround Idee, vielleicht nicht die eleganteste Lösung, aber sollte funktionieren (wenn Sie nicht auf express edition). Sie können trigger nur zum speichern der eingegebenen Daten in diese Tabelle und Sie können einen job erstellen, der ausgeführt wird periodisch (alle 5 Minuten sagen wir mal) und Lesen Sie aus der Tabelle in Datei kopieren und löschen.
Also trigger wäre nur:
und Gespeicherte Prozedur in Datei kopieren -, die Sie ausführen können aus dem job:
Arbeitete ich so
gehen