[SQL語法問題]如何同時執行多個Insert指令? |
答題得分者是:Mickey
|
gerojeng
一般會員 發表:23 回覆:25 積分:9 註冊:2004-06-19 發送簡訊給我 |
我把下列語法放入Tquery中 Cmd ='INSERT INTO A(bb) VALUES(pp);INSERT INTO A(bb) VALUES(pp);';
Query1.SQL.Add(Cmd);
Query1.ExecSQL; 執行,卻出現這個錯誤 [Microsoft][ODBC Microdost Access Driver]在SQL陳述式結尾之發現多餘的字元 可是如果我分開執行,向下列這樣
Query1.SQL.Clear;
Cmd ='INSERT INTO A(bb) VALUES(pp);';
Query1.SQL.Add(Cmd);
Query1.ExecSQL; Query1.SQL.Clear;
Cmd ='INSERT INTO A(bb) VALUES(pp);';
Query1.SQL.Add(Cmd);
Query1.ExecSQL; 卻可以正常執行,請問我哪裡出錯了? 感激不盡
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
gerojeng 你好: 1. 你可以用這樣包成一個 Transaction :
Query1.Database.StartTransaction; try Query1.SQL.Clear; Cmd ='INSERT INTO A(bb) VALUES(pp)'; Query1.SQL.Add(Cmd); Query1.ExecSQL; Query1.SQL.Clear; Cmd ='INSERT INTO A(bb) VALUES(pp)'; Query1.SQL.Add(Cmd); Query1.ExecSQL; Query1.DataBase.Commit; except Query1.DataBase.Rollback; Raise; end;2. 若是 Oracle, 試試看: Query1.SQL.Clear; Query1.SQL.Add('begin'); Query1.SQL.Add(' INSERT INTO A(bb) VALUES(pp);'); Query1.SQL.Add(' INSERT INTO A(bb) VALUES(pp);'); Query1.SQL.Add(' commit;'); Query1.SQL.Add('end;'); Query1.ExecSQL;發表人 - Mickey 於 2004/08/30 22:04:43 |
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |