我看了這個Help with SQL Server Trigger to truncate bad data before insert,但沒有解決我關於存儲過程的問題。如何在SQL Server 2005中的存儲過程中的INSERT語句之前觸發?
更新
因爲我的問題Why cannot create global temporary table or truncate it when call a stored procedure from C# code?當從存儲過程截斷表時,它從C#代碼調用。
末更新
存儲過程是
ALTER PROCEDURE [dbo].[aProcedure]
@val1 VARCHAR(255),
@val2 VARCHAR(255),
...
AS
BEGIN
SELECT @sql = '//Do SELECT statement'
INSERT INTO dbo.MyTable(....)
SELECT @paramList = ' /*list of parameters*/';
EXEC sp_executesql @sql, @paramList, ... parameters
END
我使用的觸發(我在SQL初學者)
CREATE TRIGGER MyTrigger ON dbo.MyTable
FOR INSERT
AS
BEGIN
TRUNCATE dbo.MyTable
END
如何觸發,從當存儲過程的值插入到dbo.MyTable
,它截斷我的表冷杉st和之後,使INSERT
操作?
我從MSDN和CodeProject閱讀文檔。
謝謝
哇 - 截斷表INSERT觸發器中應引起許多lulz與您的同事,但它是一個很好的例子,爲什麼觸發器應被視爲最後的手段。 – StuartLC
@nonnb:閱讀我更新的問題。 –
您是否注意到您似乎正在破碎的解決方案之上打破破碎的解決方案?正如我在上一個問題中所建議的那樣,也許你需要退後一步,看看你正在處理的總體問題(而不是你已經決定的*解決方案的當前問題),看看是否有更好的方法如何做到這一點? –