我试图每次将信息插入到单个表中时都运行此触发器,然后将信息与Visual Studio一起运行,它将把信息作为文本文件发送到我的文件夹中,以后我可以在其中使用该信息是时候记录交易了。
这是我的桌子:
CREATE TABLE VDtoText
(
AccountNumber INT NOT NULL,
GarmentNumber INT NOT NULL,
TicketNumber INT NOT NULL,
SlotNum INT NULL,
DateTimeAdded DateTime NOT NULL DEFAULT CURRENT_TIMESTAMP
)
这是触发因素:
/* first run these both separately after creating table */
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
CREATE TRIGGER UpdateInsertPlz
ON VDtoText
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sql NVARCHAR(4000)
SELECT @sql = 'bcp SUVOAS.dbo.VDtoText out "C:\Users\benso\OneDrive\Desktop\Test\Final2\WC\WCtoPOS.txt" -c -t"," -T -S' + @@SERVERNAME
PRINT @sql
EXEC master..xp_cmdshell @sql
END;
DECLARE @sql NVARCHAR(4000)
SELECT @sql = 'bcp SUVOAS.dbo.VDtoText out "C:\Users\benso\OneDrive\Desktop\Test\Final2\WC\WCtoPOS.txt" -c -t"," -T -S' + @@SERVERNAME
PRINT @sql
EXEC master..xp_cmdshell @sql
此代码本身可以正确发送我想要的信息,但是当它处于触发状态时,它将继续尝试执行,并且我一直看到Microsoft SQL一直在旋转,Visual Studio不断返回:
线程0x2a34已退出,代码为0(0x0)。线程0x3d38已退出,代码为0(0x0)。线程0x562c已退出,代码为0(0x0)。线程0x5e14已退出,代码为0(0x0)。线程0x31fc已退出,代码为0(0x0)。
并且不将插入数据的信息发送到表。
请帮助:)