2012-09-18 85 views
-1

出於某種原因,我不能得到這個工作..MS接口 - CREATE TABLE語句在MySQL的語法錯誤 - 使用觸發

CREATE TRIGGER triggerupdate 
INSTEAD OF UPDATE ON ORDERDETAILS 
AS 
IF UPDATE(ORDERVALUE) BEGIN 
     Print ('INSTEAD OF Trigger [triggerupdate] - Trigger executed!!') 
     Print('You cannot update Order Value') 
END 

我想如果有人試圖做一個觸發更新OrderValue。 IT人員不斷在Create Table上指出語法錯誤。

讓我知道我錯了什麼。

謝謝

+0

請說明一下,您的問題提到「MS Access」和「MySQL」 - 但Access不支持觸發器,並且Print()不是SQL中的函數。 – Dai

+0

如果用戶嘗試更新訂單表中的OrderValue字段,則此類需要「創建INSTEAD OF觸發器以顯示消息」您無法更新訂單值「。例子說,這是正確的... CREATE TRIGGER triggerupdate INSTEAD OF個人資料更新 AS IF UPDATE(PERFORMANCE_ID) BEGIN 打印( 'INSTEAD OF觸發器[triggerupdate] - 觸發執行!!') 打印('你無法更新性能ID') END我們被告知在MS Access中執行此操作,但是我一直收到錯誤「CREATE TABLE語句中的語法錯誤」 – Shani

+0

正如戴指出的那樣,此SQL與MS Access不兼容。你應該再次確認你的類正在使用哪個數據庫系統。也許SQL Server –

回答

0

您不能使用MS Access。 Access不支持TRIGGER,這就是爲什麼你會得到語法錯誤,因爲Access中不支持「CREATE TRIGGER」SQL。

另外,Print也不是Access SQL中的函數。

您可能打算使用Access作爲MSSQL Server的前端,這可以完成,並且您的SQL語句將變爲有效的地方(但您使用Print是陳舊的)。

+0

好吧,這樣做的正確方法是什麼? – Shani

+0

像沒有它連接到MySQL? – Shani

+0

MSSQL,而不是MySQL。您不能使用Access連接到MySQL,只能使用MSSQL。你首先需要一個MSSQL服務器。 – Dai