1
@http://www.mediafire.com/download/5h674s7wdzk8tek/m4_2013.db 我對上述數據庫使用sqlitestudiov3.01。問題是,它不會讓編輯數據值&啓動錯誤SQL觸發器遞歸級別過高
An error occurred while commiting the data: too many levels of trigger recursion
,如果我把我的觸發這個錯誤得到解決。我triiger如下
CREATE TRIGGER MACRO_A
AFTER UPDATE ON ELZ_A
FOR EACH ROW
BEGIN
UPDATE ELZ_A
SET CURRENT_DENSITY = ROUND((LOAD/2.721) , 2);
UPDATE ELZ_A
SET VOLTS_AVG = ROUND((VOLTS_T/ELEMENTS) , 2);
UPDATE ELZ_A
SET VOLTS_STNDR = ROUND(2.4 +((12.75/2.721) *((VOLTS_AVG - 2.4)/CURRENT_DENSITY) ) -((90 - CATHOLYTE_TEMP) * 0.01) +((32 - CATHOLYTE_CONC) * 0.02) , 2);
UPDATE ELZ_A
SET KF_FACTOR = ROUND(((VOLTS_AVG -(90 - CATHOLYTE_TEMP) * 0.016 *((LOAD/2.721)/5) ) +((32 - CATHOLYTE_CONC) * 0.033 *((LOAD/2.721)/5) - 2.4) ) /(LOAD/2.721) , 3);
UPDATE ELZ_A
SET PRODUCTION = ROUND(0.001492 * 24 * ELEMENTS * LOAD *(EFFICIENCY/100) , 2);
UPDATE ELZ_A
SET TEMP_CORRELATION = ROUND(7 *(CURRENT_DENSITY/3) *(90 - CATHOLYTE_TEMP) , 2);
UPDATE ELZ_A
SET CONC_CORRELATION = ROUND(14 *(CURRENT_DENSITY/3) *(32 - CATHOLYTE_CONC) , 2);
UPDATE ELZ_A
SET DC_POWER_PER_TON = ROUND(((24 * LOAD * VOLTS_T)/PRODUCTION) - TEMP_CORRELATION - CONC_CORRELATION, 0);
END;
好吧,我不知道,如果遵循上述標準,但ATLEAST在它的作品完美一些應用&模擬了Excel公式計算。任何有想法的人
在數據庫中''DATE,LOAD,VOLTS_T,ELEMENTS,CATHOLYTE_TEMP,CATHOLYTE_CONC,EFFICIENCY'是用戶輸入其餘的都是派生值... SQLitestudio給我創建視圖時出現錯誤http://www.mediafire.com/view/9i5cnrfq8pql0u6/Screenshot%20-%20140115%20-%20201726.png另外我試過觸發器的解決方案,但UPDATE otption在sqlitestudio中僅限於下拉列表元素http ://www.mediafire.com/view/7ednbbp897vb9kg/2015-01-14--1421249932_1440x900_scrot.png逗號缺失...我知道,但它只在預覽窗口中丟失。它在那裏 – nightcrawler
謝謝我已經使用SQL編輯器計算出了它,許多thnx – nightcrawler