haskell GHC。执行sqlite3触发器时exe崩溃
我已经编写了以下触发器。当我执行它时,ghc。exe崩溃 它说ghc.exe已经停止工作。windows目前正在寻找此问题的解决方案。这是我从未经历过的事情haskell GHC。执行sqlite3触发器时exe崩溃,haskell,triggers,sqlite,crash,ghci,Haskell,Triggers,Sqlite,Crash,Ghci,我已经编写了以下触发器。当我执行它时,ghc。exe崩溃 它说ghc.exe已经停止工作。windows目前正在寻找此问题的解决方案。这是我从未经历过的事情 calculateNoOfStocksTraded ::String->Database.HDBC.Sqlite3.Connection->IO () calculateNoOfStocksTraded code conn=do res <- quickQuer
calculateNoOfStocksTraded ::String->Database.HDBC.Sqlite3.Connection->IO ()
calculateNoOfStocksTraded code conn=do
res <- quickQuery' conn "SELECT SUM(volume) FROM historicalData WHERE companyCode = ? " [toSql code]
let conv=convertSqlValToInt res
run conn "CREATE TRIGGER calStocks \
\AFTER INSERT ON historicalData \
\FOR EACH ROW \
\BEGIN \
\UPDATE company \
\SET noOfStocks= ? ; \
\END; " [toSql (conv::Integer)]
commit conn
1.在向stackoverflow 2发布时,格式化代码始终是一个好主意。库名称/版本这是关于HDBC Haskell数据库连接和Sqlite3的。如果我的回答不清楚,我很抱歉。因为我对Haskell和Sqlite非常陌生。如果我像下面这样运行conn CREATE TRIGGER calStocks\\AFTER INSERT ON historicalData\\FOR EACH ROW\\BEGIN\\UPDATE company\\SET noOfStocks=3456789123456?;\\终止[]然后它就工作了。但那不是我想要的。我必须将它与变量conv中的值进行比较